九道门丨扒一扒机器学习中,R² 为何会出现负数? - 知乎

admin 阅读:31 2024-04-05 16:34:19 评论:0
九道门丨扒一扒机器学习中,R² 为何会出现负数? - 知乎

  在机器学习中,R² 是决定系数,用于度量拟合模型对数据的解释情况,R² 是相关系数 R 的平方,R 的取值范围是 0 到 1,

  因此,R² 的范围也应该在 0 到 1 之间。

  于是当 sklearn 中的“r2_score”返回负数时,我迷茫了...

  R² 的定义基于拟合模型的总平方和等于解释平方和加上残差平方和,即:

  总平方和(SS_tot)表示数据的总变化,通过预期值和实际值之间差值的平方和来衡量。解释平方和(SS_exp)表示拟合模型解释的数据变化。残差平方和(SS_res)表示拟合模型无法解释的数据变化。

  R² 本身定义如下:

  根据这些定义,只有当残差平方和(SS_res)超过总平方和(SS_tot)时,负R²才有可能存在。但是这在数学上是不可能的,它只能意味着解释平方和与残差平方和不再等于总平方和。

  SS_tot 可以仅使用数据本身进行计算,而 SS_res 则取决于模型预测和数据。虽然我们可以使用任意模型来生成评分预测,但我们需要认识到,上述等式是为在相同数据上训练的模型定义的。因此,当我们使用测试数据来评估基于训练数据构建的模型时,它不一定成立!无法保证外部模型的预测与数据之间的差异小于数据本身的变化。

  似乎只有在有限的情况下,R² = R * R。引用相关维基百科的解释:R²有几个定义,其中一类情况包括使用 r² 而不是 R² 的简单线性回归。当仅包含一个截距时, r² 就是观测结果和预测变量值之间的样本相关系数(即 r)的平方。如果包括其他回归系数,则 R² 是多重相关系数的平方。在这两种情况下,确定系数通常范围为0到1。

  简而言之,R²只是相关的平方,如果我们恰好(1)使用线性回归模型,(2) 对它们拟合的相同数据进行评估。

  所以只有当线性回归模型是拟合的,并且在拟合的相同数据上对其进行评估时,我们才能期望R²在零和1之间。否则,R² 的定义可能会导致负值出现。

本文 zblog模板 原创,转载保留链接!网址:https://www.taocichenban.com/post/6557.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
标签列表