Python 为什么SKLEARN中的负(MSE或MAS)评分参数如-neg_mean_absolute_error被考虑用于回归模型评估

Python 为什么SKLEARN中的负(MSE或MAS)评分参数如-neg_mean_absolute_error被考虑用于回归模型评估,python,machine-learning,scikit-learn,regression,scoring,Python,Machine Learning,Scikit Learn,Regression,Scoring,我是机器学习的新手,在学习过程中,我遇到了评分参数。在回归模型评价中,我们考虑了均方误差、平均绝对误差等的否定性。 当我想知道原因时,我查阅了SKLearn文档,其中说所有scorer对象都遵循较高返回值比较低返回值更好的惯例。因此,度量模型和数据之间距离的度量,如metrics.mean_squared_error,可以作为neg_mean_squared_error使用,它返回度量的负值 这个解释不能完全回答我的问题,我感到困惑。那么,为什么要更多地采用否定,因为从逻辑上讲,如果预测的差异更

我是机器学习的新手,在学习过程中,我遇到了评分参数。在回归模型评价中,我们考虑了均方误差、平均绝对误差等的否定性。 当我想知道原因时,我查阅了SKLearn文档,其中说所有scorer对象都遵循较高返回值比较低返回值更好的惯例。因此,度量模型和数据之间距离的度量,如metrics.mean_squared_error,可以作为neg_mean_squared_error使用,它返回度量的负值


这个解释不能完全回答我的问题,我感到困惑。那么,为什么要更多地采用否定,因为从逻辑上讲,如果预测的差异更大,无论是-ve还是+ve,都会使我们的模型同样糟糕。那么为什么评分参数集中在负差异上呢?

很简单:最小化均方误差等于最大化负均方误差


正如Sklearn文档所建议的那样,记分员可以最大化的目标函数只是按照惯例。

很简单:最小化MSE等同于最大化负MSE


正如Sklearn文档所建议的那样,记分员可以最大化的目标函数只是按照惯例。

我认为在您理解负平均值绝对误差NMAE的方式上有一点误解。负平均绝对误差的计算方法如下:

其中N是数据点的总数,Y_i是真值,Y_i^p是预测值

尽管如此,如果模型预测的值高于或低于真实值,我们同样会对其进行惩罚,但我们只是将最终结果乘以-1,以遵循sklearn设定的惯例。因此,如果一个模型给出的MAE值为0.55,另一个模型给出的MAE值为0.78,那么它们的NMAE值将被翻转为-0.55和-0.78,通过遵循越高越好的惯例,我们选择前一个模型,其结果是NMAE值越高,为-0.55

您可以对MSE进行类似的论证


希望这有帮助

我认为你对负均值绝对误差NMAE的理解有点误解。负平均绝对误差的计算方法如下:

其中N是数据点的总数,Y_i是真值,Y_i^p是预测值

尽管如此,如果模型预测的值高于或低于真实值,我们同样会对其进行惩罚,但我们只是将最终结果乘以-1,以遵循sklearn设定的惯例。因此,如果一个模型给出的MAE值为0.55,另一个模型给出的MAE值为0.78,那么它们的NMAE值将被翻转为-0.55和-0.78,通过遵循越高越好的惯例,我们选择前一个模型,其结果是NMAE值越高,为-0.55

您可以对MSE进行类似的论证

希望这有帮助