gpt4 book ai didi

python - sklearn.metrics.mean_squared_error 是不是越大越好(取反)?

转载 作者:太空狗 更新时间:2023-10-29 17:58:25 24 4
gpt4 key购买 nike

一般来说,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.

enter image description here

但是,如果我转到: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)

观察参数 greater_is_better 是如何设置为 False 的。

现在所有这些分数/损失都用于各种其他事物,如 cross_val_score、cross_val_predict、GridSearchCV 等。例如,在“accuracy_score”或“f1_score”的情况下,分数越高越好,但在损失(错误)的情况下), 分数越低越好。为了以相同的方式处理它们,它返回负数。

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

所以,你没有错过任何东西。你只需要处理你想使用损失函数的场景。如果您只想计算 mean_squared_error,则只能使用 mean_squared_error。但是,如果您想使用它来调整您的模型,或使用 Scikit 中提供的实用程序进行交叉验证,请使用 'neg_mean_squared_error'

也许可以添加一些相关细节,我会解释更多。

关于python - sklearn.metrics.mean_squared_error 是不是越大越好(取反)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48244219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com