为啥是负数(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)被考虑用于回归模型评估的主要内容,如果未能解决你的问题,请参考以下文章