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

时间:2019-04-21 19:40:39

标签: python machine-learning scikit-learn regression

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

这里,哪种型号更好?

2 个答案:

答案 0 :(得分:3)

顾名思义,负MAE只是MAE的负数,根据定义,MAE(MAE)是正数。而且由于MAE是一个 error 度量标准,即越低,负MAE则相反:1的值比{{ 1}}。

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

请记住,MAE始终在scikit-learn中作为通用指标(https://github.com/fnbk/world)提供。

答案 1 :(得分:0)

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

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

为解决这个问题,库会翻转错误的迹象,因此,最高的MAE排名最低,反之亦然。

因此回答您的问题:-2.6优于-3.0,因为实际的MAE分别为2.6和3.0。