scikit-learn - 模型 score() 与 r2_score 之间的差异

标签 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

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

最佳答案

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

根据 the documentation :

r2_score(y_true, y_pred, ...)

所以改变这一行score2 = r2_score(y_rf,df['label'])在您的代码中:
score2 = r2_score(df['label'], y_rf)

然后比较结果。

关于scikit-learn - 模型 score() 与 r2_score 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45529907/

相关文章:

python - 使用导数确定二维数组中局部最大值的坐标

python - 如何对新数据使用决策树回归器? (Python、Pandas、Sklearn)

sklearn-pandas - 类型错误 : 'method' object is not subscriptable

python - 分类中的目标变量是否需要数值编码?

python - 我的所有机器学习模型都获得了 100% 的准确率。我的模型有什么问题

python - 带有特征名称的 OneHot 向量

python - 初学者问题,使用 sklearn,保存模型并测试单个数据帧

python - 访问 sklearn pipeline 中的属性

python - 如何为流水线多输出分类器绘制树?

python - LinearDiscriminantAnalysis - .transform(X) 的单列输出