scikit-learn 中的负平均绝对误差是多少?

Posted

技术标签:

【中文标题】scikit-learn 中的负平均绝对误差是多少?【英文标题】:What is the negative mean absolute error in scikit-learn? 【发布时间】:2019-09-11 03:47:05 【问题描述】:

我正在尝试使用 SciKit Learn 的 SVM 模块来训练模型。对于评分,我找不到mean_absolute_error(MAE),但是,negative_mean_absolute_error(NMAE) 确实存在。这两个指标有什么区别?假设我得到了 2 个模型的以下结果:

model 1 (NMAE = -2.6), model 2(NMAE = -3.0)

哪种型号更好?是模型 1 吗?

此外,负面与正面相比如何?说出以下内容:

model 1 (NMAE = -1.7), model 2(MAE = 1.4)

这里,哪个模型更好?

【问题讨论】:

【参考方案1】:

顾名思义,负 MAE 就是 MAE 的负数,根据定义,它 (MAE) 是一个正数。由于 MAE 是一个错误指标,即越低越好,负 MAE 则相反:-2.6 的值优于-3.0 的值。

只需删除负号并将它们视为 MAE 值(可以说这也回答了您的第二个问题)。

请记住,MAE 在 scikit-learn 中始终可以作为通用指标 (docs)。

【讨论】:

【参考方案2】:

我想在这里补充一点,当您通过 GridSearchCV() 比较多个算法时,这个负错误也有助于找到最佳算法。

这是因为在训练之后,GridSearchCV() 会对所有算法(估计器)进行排名,并告诉您哪一个是最好的。现在,当您使用错误函数时,sklearn 将得分较高的估计器排名较高,这在 MAE 的情况下是不正确的(以及 MSE 和其他一些)。

为了解决这个问题,库翻转错误符号,因此最高 MAE 将排名最低,反之亦然。

所以回答你的问题:-2.6 比 -3.0 好,因为实际 MAE 分别是 2.6 和 3.0。

【讨论】:

以上是关于scikit-learn 中的负平均绝对误差是多少?的主要内容,如果未能解决你的问题,请参考以下文章

为啥将神经网络质量表示为 1 减去预测中的平均绝对误差与预测值范围之比?

均方误差(MSE)和均方根误差(RMSE)和平均绝对误差(MAE)

随机森林中每棵树的平均绝对误差

[人工智能-深度学习-9]:神经网络基础 - 常见loss损失函数之均分误差MSE绝对值误差MAE平滑平均绝对误差Huber

GridSearchCV 对平均绝对误差的评分

sklearn 度量单位的准确性,平均绝对误差,回归问题的均方误差?