scikit learn返回的R^2值(metrics.r2_score()
)可能是负数。文档中提到:
“与大多数其他评分不同,R²评分可能是负数(它实际上不需要是某个量R的平方)。”
然而,关于R^2的维基百科文章中并未提及任何非平方的R量。或许它使用的是绝对差而不是平方差。我实在不知道
回答:
scikit learn中的R^2
与关于判定系数的维基百科文章中描述的基本相同(搜索“最一般的定义”)。它是1 - 残差平方和 / 总平方和
。
经典统计设置与机器学习通常尝试做的事情之间的主要区别在于,在机器学习中,你在未见过的数据上评估你的得分,这可能导致结果超出[0,1]
范围。如果你将R^2
应用于你用来拟合模型的相同数据,它将位于[0, 1]
范围内
另见这个非常相似的问题