模型得分()与r2_score之间的差异

时间:2017-08-06 08:03:01

标签: scikit-learn sklearn-pandas

我正在训练一个LinearRegression()分类器并尝试衡量其预测成本

from sklearn.metrics import r2_score
from sklearn.linear_model import LinearRegression
regr_rf = LinearRegression()

regr_rf.fit(df[features],df['label'])
y_rf = regr_rf.predict(df[features])
score = regr_rf.score(df[features],df['label'])
print score
score2 = r2_score(y_rf,df['label'])
print score2

得分和得分2都显示出非常不同的价值。我虽然模型的得分函数假设与显式计算的r2_score相同

1 个答案:

答案 0 :(得分:2)

你对r2_score的使用是错误的。第一个参数应该是真值,而不是预测值。

根据the documentation

r2_score(y_true, y_pred, ...)

因此,请将代码中的这一行score2 = r2_score(y_rf,df['label'])更改为:

score2 = r2_score(df['label'], y_rf)

然后比较结果。