【发布时间】:2016-09-23 16:15:46
【问题描述】:
我正在尝试使用简单的 R^2 分数测试我的 Scikit-learn 机器学习算法,但由于某种原因它总是返回零。
import numpy
from sklearn.metrics import r2_score
prediction = numpy.array([0.1567, 4.7528, 1.1260, 0.2294]).reshape(1, -1)
training = numpy.array([0, 3, 1, 0]).reshape(1, -1)
r2 = r2_score(training, prediction, multioutput="raw_values")
print r2
[ 0. 0. 0. 0.]
这是一个由四部分组成的单个值,而不是四个单独的值。如何获得正确的 R^2 分数?
【问题讨论】:
-
现在您正在为数组中的每个 pair 值计算 r2。从每个 numpy 数组中删除
.reshape方法,r2_score函数将为两个数组返回单个 r2 值 -
我有
.reshape(),因为这就是.fit()和.predict()函数使用和返回数组的方式。r2_score()是否因某种原因而不同?