Dav*_*vid 5 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
Run Code Online (Sandbox Code Playgroud)
score 和 score2 都显示出非常不同的值。我虽然假设模型的得分函数与显式计算的 r2_score 相同
Viv*_*mar 12
您对 r2_score 的使用是错误的。第一个参数应该是真实值,而不是预测值。
根据文档:
r2_score(y_true, y_pred, ...)
Run Code Online (Sandbox Code Playgroud)
因此score2 = r2_score(y_rf,df['label']),将代码中的这一行更改为:
score2 = r2_score(df['label'], y_rf)
Run Code Online (Sandbox Code Playgroud)
然后比较结果。
| 归档时间: |
|
| 查看次数: |
7820 次 |
| 最近记录: |