SKLearn的SVM库中的负平均绝对误差是多少?

dar*_*rse 3 python regression machine-learning scikit-learn

我正在尝试使用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)

在这里,哪种型号更好?

小智 13

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

这是因为训练后,GridSearchCV() 对所有算法(估计器)进行排名,并告诉您哪一个是最好的。现在,当您使用误差函数时,分数较高的估计器将被 sklearn 排名较高,但对于 MAE(以及 MSE 和其他一些)来说,情况并非如此。

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

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


des*_*aut 5

顾名思义,负MAE就是MAE的负数,根据定义,MAE(MAE)是正数。而且由于MAE是一个误差度量,即,MAE 越低越好,相反,MAE则相反:的值-2.6比的值好-3.0

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

请记住,MAE始终在scikit-learn中作为常规指标(docs)提供。