【发布时间】:2018-07-16 05:15:04
【问题描述】:
在浏览了几个教程之后,我成功地制作了一个脚本,该脚本成功地使用 XGBoost 来预测波士顿住房数据集的分类价格。
但是,我无法使用 CV 成功调整模型的参数。即使在尝试了教程中的几种解决方案并在 stackowerflow 上发帖后也是如此。
到目前为止,我最好的结果是非常“hacky”,并且只调整了一个参数:
steps <- seq(75,90,5)/100
for(i in steps){
.....
}
但我看到了所有这些花哨的设置,它们使用 MLR 或 Caret 或 NMOF 自动运行多个参数。但是,我还没有接近让任何人处理这些数据。我怀疑这是因为大多数都是为二进制分类设置的,但即使最好地解决这个问题,我也没有成功。我可以为您提供数百行不起作用的代码,但我认为最简单的方法是提供我的代码,只要它可以工作here,然后听听您将如何从这里取得进展,而不是被我的穷人淹没代码。
编辑:因为我什至运行其他人的脚本都没有成功。以下是一些额外的细节:
> packageVersion("mlr")
‘2.11’
> packageVersion("xgboost")
‘0.6.4.1’
【问题讨论】:
-
您可以在此处找到有关如何调整 xgboost 参数的简短答案。 stackoverflow.com/questions/34469038/…
-
感谢您的回答。如果我没看错的话,它是一个 python 而不是 R 包。不过,我会看看我能不能解决它。
-
可能是,本教程。大约一年前,我使用 MLR 包编写了它:hackerearth.com/practice/machine-learning/…
-
也许您使用 mlrMBO 可以获得更好的结果(请参阅 github.com/mlr-org/mlrMBO)? @ManishSaraswat 已经发布了一个很好的关于如何使用 mlr 进行调整的教程。另一个简短的代码示例可以在这里找到kaggle.com/casalicchio/tuning-with-mlr。
-
感谢您的回复,Manish。我一直在使用那个确切的教程,它非常有帮助,但我遇到了一个我无法克服的错误。也许,你知道什么是错的?我在第 95 行遇到第一个错误,运行 traintask code