在Kaggle 课程页面上,下图显示测试数据的 MAE 始终高于训练数据的 MAE。为什么会这样?它是否仅限于 DecisionTreeRegressor 模型?或者图表是错误的,实际上测试的 MAE 可能低于训练的 MAE?
测试数据的 MAE 是否总是高于训练数据的 MAE?
数据挖掘
决策树
交叉验证
过拟合
2022-02-13 19:47:50
3个回答
训练 MAE“通常”低于测试 MAE,但并非总是如此。
现在来回答你的问题。
Q1 为什么会这样?
A1。训练 MAE 通常低于测试 MAE,因为模型在训练期间已经看到了训练集。所以更容易在训练集上获得高准确率。另一方面,测试集是看不见的,所以我们通常期望测试 MAE 更高,因为它更难以在看不见的数据上表现良好。
但是,训练 MAE 并不总是必须低于测试 MAE。可能会“偶然”发生,测试集(比训练集)相对更容易让模型获得更高的准确度,从而导致更低的测试 MAE!
Q2。这仅适用于 DecisionTreeRegressor 吗?
A2。不,此图并非特定于 DecisionTreeRegressor。如果您注意到在我的解释中我没有对模型做出任何假设!
Q3。图表不正确吗?
A3。不,图表没有错。我们谈论的是我们平均预期的一般情况。如果您只为正在运行的模型的特定/当前实例绘制图表,您可以在测试 MAE 之上训练 MAE。
在以下情况下,模型的测试 MAE 可能低于训练 MAE:
- 当您没有对数据进行采样或完美拆分测试列车数据时,这是可能的。
- 当您的测试数据很小并且它不能很好地代表训练数据时,可能会或可能不会出现该测试数据表现良好且错误率低的情况。
- 当您使用正则化并且您的训练数据远离过度拟合(即增加训练误差)但在测试数据上泛化良好(即低训练误差)时,可能会出现这种情况。
训练误差通常低于或等于测试误差。由于测试误差是模型的泛化误差,它应该略大于训练误差;但如果训练误差 << 测试误差,则可能是由于数据的方差或模型过拟合。
其它你可能感兴趣的问题
