scikit-lean上的模型不学习

时间:2019-03-10 16:59:48

标签: python scikit-learn data-analysis

我是scikit-learn的新手。我正在看《带scikit学习和tensorflow的动手ml》这本书,我尝试实现的所有模型的表现都非常差。

我没有收到任何错误,并且代码与书中的代码几乎相同。 我安装了与本书相同的scikit版本,以防万一。

我使用的是默认的超参数,但是对于该任务而言,选择的模型不是很好。但是它们的表现远不如本书中的表现差,而且略高于随机数。

我认为可能是因为我使用的笔记本电脑功能不强大,并且模型过早停止了训练。

我在20000例带有12个参数的房屋数据库中尝试了LinearRegression,RandomForestRegressor,SVR。 我还在MINST数据集上尝试了SGDClassifier作为二进制分类器。 所有这些都遵循本书的说明。

#RANDOM FOREST MODEL
from sklearn.ensemble import RandomForestRegressor
forest_reg = RandomForestRegressor()
forest_reg.fit(housing_pr, housing_labels)
forest_reg_scores = cross_val_score(forest_reg, housing_pr, housing_labels, scoring="neg_mean_squared_error", cv=10)
forest_reg_rmse_scores = np.sqrt(-forest_reg_scores)
display_scores(forest_reg_rmse_scores)

结果是

Scores: [100358.84813795  59740.95594336  73069.35686091  58367.36656326
  70119.66693956  61570.40051825  49889.14813703  80314.78172767
  73177.26056318 102031.12922303]
Mean: 72863.89146141837
Standard deviation: 16454.877060423143

在书中,平均值为52634,191,标准偏差为1576

价格范围在120000至265000之间。

在MINST数据集上的差异要大得多。进行二进制分类器分类5可以解释精度和召回率。他的是0.7687和0.79136,而我的是0.092217和0.06972。

0 个答案:

没有答案