京公网安备 11010802034615号
经营许可证编号:京B2-20210330
前面小编给大家简单介绍过拟合和欠拟合时,提到了一个概念:学习曲线,我们通过学习曲线能够很清晰的判别出模型现在说出的状态是欠拟合还是过拟合,下面小编具体整理了学习曲线的相关内容,希望对大家有所帮助。
学习曲线(learning curve)是不同训练集大小,模型在训练集和验证集上的得分变化曲线。横坐标为·样本数,纵坐标为训练和交叉验证集上的得分(如准确率)。
模型在新数据上的表现如何,都能清晰地在展现在学习去线上,我们也能通过这些表现,进而判断模型是否方差偏高或者偏差过高,以及增大训练集是否可以减小过拟合。
如图所示:
(1)当训练集和测试集的误差收敛但却很高时,为高偏差。
左上图中训练集和验证集上的曲线能够收敛,但偏差很高,训练集和验证集上准确率相差很大,却都很差。这种情况下模型对已知数据和未知数据都不能进行准确的预测,很可能是欠拟合。
方法:
增加模型参数,采用更复杂的模型,减小正则项。
注意:此时通过增加数据量是不起作用的。
(2)当训练集和测试集上误差之间有大的差距时,为高方差。
当训练集的准确率比其他独立数据集上的测试结果的准确率要高时,一般都是过拟合。
右上图中,训练集和验证集的准确率差距很大,这种情况下,模型能够很好的拟合已知数据,但是泛化能力不足,属于高方差,很可能是过拟合。
方法:
增大训练集,降低模型复杂度,增大正则项,或者通过特征选择减少特征数。
(3)右下方图,也是最理想情况:找到偏差和方差都很小的状态,就是收敛而且误差较小。
学习曲线的具体操作:
len(X_train) 个训练样本,训练出 len(X_train) 个模型,第一次使用一个样本训练出第一个模型,第二次使用两个样本训练出第二个模型,… ,第 len(X_train) 次使用 len(X_train) 个样本训练出最后一个模型;
每个模型对于训练这个模型所使用的部分训练数据集的预测值:y_train_predict = 模型.predict(X_train[ : i ]);
每个模型对于训练这个模型所使用的部分训练数据集的均方误差:mean_squared_error(y_train[ : i ], y_train_predict);
每个模型对于整个测试数据集的预测值:y_test_predict = 模型.predict(X_test)
每个模型对于整个测试数据集的预测的均方误差:mean_squared_error(y_test, y_test_predict);
绘制每次训练模型所用的样本数量与该模型对应的部分训练数据集的均方误差的平方根的关系曲线:plt.plot([i for i in range(1. len(X_train)+1)],np.sqrt(train_score), label=“train”)
绘制每次训练模型所用的样本数量与该模型对应的测试数据集的预测的均方误差的关系曲线:plt.plot([i for i in range(1. len(X_train)+1)],np.sqrt(test_score), label=“test”)
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 1. 事实表 vs 维度表 对比维度 事实表 维度表 核心问题 记录“业务发生了什么事” 描述 ...
2026-10-02做数据聚合时,PySpark的groupBy()确实能完成统计,这也是它的本职工作。但它有一个根本性局限:每一组数据,最终只能返回一行 ...
2026-10-01热力地图是数据可视化中极具辨识度与实用性的空间分析图表,结合地理空间维度与数据密度特征,通过颜色深浅、色阶渐变直观展示数 ...
2026-09-30 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-09-30同样是“银行数据岗”,在国有大行总行数据中心、在一家城商行的零售部、在银行系金融科技子公司、在保险公司,工作内容、成长节 ...
2026-09-29在数据分析与统计学研究中,数据往往不是独立存在的,不同变量之间普遍存在相互关联、相互影响的关系。相关性统计分析是挖掘变量 ...
2026-09-29 导读:大多数人只把 dataclasses 当成偷懒工具,用来少写 __init__、__repr__ 这类魔法方法。但它的能力远不止于此。本文带 ...
2026-09-29 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-09-29在MySQL数据库运维与业务开发中,行业普遍存在“数据达到千万级就必须分表”的说法。但在实际生产环境中,千万条数据并不是强制 ...
2026-09-28CDA数据分析师 出品 作者:李诗怡 1. 5W1H 分析法 定义:经典系统性思维框架,通过六个核心维度对问题进行全方位拆解与剖析,确 ...
2026-09-28 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-09-28CDA数据分析师 出品 作者:李诗怡 1. 用户标签体系 定义: 通过一系列高度精炼的特征标识,对用户属性、行为与偏好进行量化刻画 ...
2026-09-24Pandas是Python生态中用于表格数据处理的核心库,广泛应用于数据清洗、统计运算、报表输出、数据分析建模等场景。在处理极大数值 ...
2026-09-24随着数字经济快速发展,数据已成为核心生产要素,各行各业的业务沉淀、用户行为、设备运行、市场交易均产生海量数据。数据处理作 ...
2026-09-24 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-09-24在时序数据分析中,大部分业务数据并非持续平稳变化,而是会在某些时间节点出现突然抬升、断崖下跌、趋势反转、波动异变等现象, ...
2026-09-23在统计学与数据分析中,研究多组数据差异最常用的方法为单因素方差分析与事后多重比较。很多数据分析初学者容易混淆两者功能,认 ...
2026-09-23 很多数据分析师每天都在写 SQL,但当被问到“DQL 的本质是什么”“SELECT 子句的书写顺序与执行顺序为何不同”“INNER JOIN ...
2026-09-23 很多数据分析师写过无数个SELECT查询,但当被问到“如何新建一张表来固化中间数据”“创建视图和创建物理表有什么区别”“视 ...
2026-09-22CDA数据分析师 出品 作者:李诗怡 1. 金字塔原理 定义: 一种“先总后分、先结论后原因”的思考和表达方式。顶层为核心观点,中 ...
2026-09-22