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

Posted

技术标签:

【中文标题】为啥是负数(MSE 或 MAS)评分参数(如 SKLEARN 中的 neg_mean_absolute_error)被考虑用于回归模型评估【英文标题】:Why is negative (MSE or MAS) Scoring parameter like- neg_mean_absolute_error in SKLEARN is considered for regression model evaluation为什么是负数(MSE 或 MAS)评分参数(如 SKLEARN 中的 neg_mean_absolute_error)被考虑用于回归模型评估 【发布时间】:2020-09-19 08:49:05 【问题描述】:

我是机器学习的新手,在学习过程中我遇到了“评分参数”。我理解回归模型评估,我们考虑了均方误差、平均绝对误差等的负值。

当我想知道原因时,我浏览了 SKLearn 文档,其中说“所有记分器对象都遵循较高返回值优于较低返回值的约定。因此,衡量模型和数据之间距离的指标,例如metrics.mean_squared_error,作为 neg_mean_squared_error 可用,它返回指标的否定值。"

这个解释没有完全回答我的原因,我很困惑。那么,为什么要更多地采用负数,因为从逻辑上讲,如果预测的差异无论是 -ve 还是 +ve 都更高,这会使我们的模型同样糟糕。那为什么评分参数会关注负差异呢?

【问题讨论】:

【参考方案1】:

我认为您对neg_mean_absolute_error (NMAE) 的理解方式存在轻微误解。 neg_mean_absolute_error的计算方式如下:

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

如果模型预测的值高于或低于真实值,我们仍然会对其进行同样的惩罚,但这只是我们将最终结果乘以 -1 只是为了遵循 sklearn 设置的约定。所以如果一个模型给你一个 MAE 0.55 而另一个模型给你一个 MAE 0.78,它们的 NMAE 值将被翻转为 -0.55-0.78 并遵循越高越好的约定,我们选择前一个模型,其结果具有更高的NMAE-0.55

您可以为 MSE 提出类似的论点。

【讨论】:

【参考方案2】:

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

得分者可以最大化的目标函数就是按照 Sklearn 文档所建议的“惯例”。

【讨论】:

以上是关于为啥是负数(MSE 或 MAS)评分参数(如 SKLEARN 中的 neg_mean_absolute_error)被考虑用于回归模型评估的主要内容,如果未能解决你的问题,请参考以下文章

GridSearchCV 处理的出口与评分值连接

为啥AngularJS货币过滤器格式负数用括号

为啥期货的OBV值都是 负数?

为啥与 MSE 相比,使用 MAE 标准训练随机森林回归器如此缓慢?

如何评估均方误差 (MSE) 是不是合理?

为啥我的 DLL 被 MSE 检测为可疑?