python – sklearn.metrics.mean_squared_error越大越好(否定)?

python – sklearn.metrics.mean_squared_error越大越好(否定)?,第1张

概述通常,mean_squared_error越小越好. 当我使用sklearn指标包时,它在文档页面中显示:http://scikit-learn.org/stable/modules/model_evaluation.html All scorer objects follow the convention that higher return values are better than low 通常,mean_squared_error越小越好.

当我使用sklearn指标包时,它在文档页面中显示:http://scikit-learn.org/stable/modules/model_evaluation.html

All scorer objects follow the convention that higher return values are
better than lower return values. Thus metrics which measure the
distance between the model and the data,like
metrics.mean_squared_error,are available as neg_mean_squared_error
which return the negated value of the metric.


但是,如果我去:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html#sklearn.metrics.mean_squared_error

它说它是均方误差回归损失,并没有说它被否定了.

如果我查看源代码并检查那里的例子:https://github.com/scikit-learn/scikit-learn/blob/a24c8b46/sklearn/metrics/regression.py#L183它正在进行正常的均方误差,即越小越好.

所以我想知道我是否错过了关于文档中否定部分的任何内容.谢谢!

解决方法 实际的函数“mean_squared_error”没有关于负面部分的任何内容.但是当您尝试’neg_mean_squared_error’时实现的功能将返回分数的否定版本.

请查看源代码,了解其在the source code中的定义:

neg_mean_squared_error_scorer = make_scorer(mean_squared_error,greater_is_better=False)

观察param greater_is_better如何设置为False.

现在所有这些得分/损失都用于其他各种事情,如cross_val_score,cross_val_predict,gridsearchcv等.例如,在’accuracy_score’或’f1_score’的情况下,得分越高越好,但是如果出现损失(错误),则降低得分更好.要以相同的方式处理它们,它返回负数.

因此,该实用程序用于以相同方式处理分数和损失,而无需更改特定丢失或分数的源代码.

所以,你没有错过任何东西.您只需要处理要使用损失函数的场景.如果您只想计算mean_squared_error,则只能使用mean_squared_error.但是,如果您想使用它来调整模型,或者使用scikit中的实用程序进行cross_valIDate,请使用’neg_mean_squared_error’.

也许添加一些细节,我会解释更多.

总结

以上是内存溢出为你收集整理的python – sklearn.metrics.mean_squared_error越大越好(否定)?全部内容,希望文章能够帮你解决python – sklearn.metrics.mean_squared_error越大越好(否定)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1194345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存