问题描述
我正在尝试使用 R2
简单地计算一个 Sklearn function r2_score
值,但是,当我在下面的数据集 (df total N=3,000
) 上运行它时,我得到了 R2
-19.46
。我觉得这应该很简单,但不确定可能出了什么问题。
expected predicted
1 0.0009 0.013639
2 0.0003 0.016178
3 0.0072 0.042318
4 0.0354 0.511545
5 0.0029 0.395005
from sklearn.metrics import r2_score
r2 = r2_score(df['expected'],df['predicted'])
print('r2 score is',r2)
解决方法
这不是对称函数。
与大多数其他分数不同,R^2 分数可能是负数(它实际上不必是数量 R 的平方)。最好的可能分数是 1.0,它可以是负数(因为模型可以任意差)。