如何设置model.score参数以对比y_pred与真实值y_test?
问题解答
- 你当前调用
model.score(X_test, y_test)的写法是完全正确的。 model.score()的参数规则:第一个参数是待预测的特征数据(比如这里的X_test),第二个参数是对应的真实标签(y_test)。方法内部会自动用模型对输入的特征数据生成预测值,再和真实标签计算评估指标(对于LinearRegression,默认输出的是R²决定系数,取值范围0到1,越接近1说明预测效果越好)。
如果想直接用已经生成好的y_pred和y_test做对比,可以使用sklearn的评估指标函数,示例代码如下:
from sklearn.metrics import r2_score, mean_squared_error # 计算R²分数,结果和model.score()一致 print(r2_score(y_test, y_pred)) # 计算均方误差,衡量预测值与真实值的平均平方差 print(mean_squared_error(y_test, y_pred))
也可以直接打印部分数据做直观对比:
import pandas as pd # 用DataFrame展示前10组真实值与预测值 compare_df = pd.DataFrame({ "真实值": y_test[:10], "预测值": y_pred[:10] }) print(compare_df)
内容的提问来源于stack exchange,提问作者tsx
相关产品推荐
相关产品推荐

