【问题标题】:How to Save Gradient Boosting Regressor Results to File?如何将梯度提升回归结果保存到文件中?
【发布时间】:2021-11-13 19:09:17
【问题描述】:

我有一个梯度提升回归模型,我想将其结果保存到 csv。

from sklearn import ensemble
clf = ensemble.GradientBoostingRegressor(n_estimators = 400, max_depth = 5, min_samples_split = 2,
          learning_rate = 0.1, loss = 'squared_error')
clf.fit(x_train, y_train)

我想查看实际值和预测值。

【问题讨论】:

  • 所以你想保存y_test和/或y_train这是预测?
  • ImSo3K,这是正确的。我假设我可以看到实际值、预测值,并从那里计算误差。

标签: python machine-learning scikit-learn


【解决方案1】:

在拟合你的模型之后,你实际上需要predict 预测,clf.predict,假设我们要保存y_pred_train & y_pred_test

y_pred_train = clf.predict(y_train)
y_pred_test = clf.predict(y_test)

现在我们已经有了traintest 集合的预测值和实际值,我们可以使用np.savetxt 保存.csv 文件:

np.savetxt("train_preds.csv", np.column_stack((y_train, y_pred_train)), delimiter=",", fmt='%.5f')

np.savetxt("test_preds.csv", np.column_stack((y_test, y_pred_test)), delimiter=",", fmt='%.5f')

我们使用 np.column_stack 只是将它们堆叠为列而不是行,因为它们本质上是一维 numpy 数组。

请注意,我格式化浮点精度只是为了便于查看,如果您要在之后计算损失,最好不要格式化。

【讨论】:

  • ImSo3K,谢谢。如何让列标题导出?
  • 可以在np.savetxt方法中添加header="actual,prediction", comments=''参数,header参数是一个字符串,你的headers用逗号分隔,comments用于删除#将在将其标记为评论的第一列之前生成
猜你喜欢
  • 2020-01-26
  • 2021-06-16
  • 2020-02-15
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
相关资源
最近更新 更多