【发布时间】:2020-08-27 03:47:56
【问题描述】:
我是一名初学者,正在学习 Aurelien Geron 书中关于 SKLEARN 的 ML 的教程。 使用以下内容测试我的预测时:
from sklearn.metrics import mean_squared_error
listings_predictions = lin_reg.predict(listings_prepared)
lin_mse = mean_squared_error(listings_labels, listings_predictions)
lin_rmse = np.sqrt(lin_mse)
lin_rmse
我收到51.96。 (看起来很合理)
现在,当我运行相同方法的交叉验证时,我正在从这个世界中获取值:
lin_scores = cross_val_score(lin_reg, listings_prepared, listings_labels,
scoring="neg_mean_squared_error", cv=10)
lin_rmse_scores = np.sqrt(-lin_scores)
display_scores(lin_rmse_scores)
Scores: [5.33624445e+01 2.96290932e+10 5.25981399e+01 5.29672973e+01
1.26397404e+11 5.17644346e+01 5.10301124e+01 5.45672660e+01
6.69753606e+11 4.29844291e+11]
Mean: 125562439481.52774
Standard deviation: 221930379288.67526
您能建议在哪里寻找问题的根源吗?回归怎么会“有点偏离”,而相同的交叉验证要高出十亿倍?
【问题讨论】:
-
检查数据集的异常值
标签: python machine-learning scikit-learn data-science