我正在使用相当大的数据集构建GBM模型。 data.table
非常适合处理数据。但是当我运行GBM模型时,它需要永远完成。查看Activity Monitor(在Mac中),我可以看到该过程不会耗尽所有内存,并且不会最大化处理器。
由于GBM是单核,我不能修改它以在多核上运行,我有哪些选择来改善我的运行时间?现在我正在使用带有4BG RAM和1.7GHz i5的Macbook Air。
我不确定以下哪个选项最有助于提高性能:购买(i)具有更大内存的计算机; (ii)获得更强大的芯片(i7),或(iii)使用Amazon AWS并在那里安装R.每个如何帮助?
根据Brandson的要求添加示例代码:
library(gbm)
GBM_NTREES = 100
GBM_SHRINKAGE = 0.05
GBM_DEPTH = 4
GBM_MINOBS = 50
GBM_model <- gbm.fit(
x = data[,-target] ,
y = data[,target] ,
#var.monotone = TRUE, #NN added
distribution = "gaussian"
,n.trees = GBM_NTREES ,
shrinkage = GBM_SHRINKAGE ,
interaction.depth = GBM_DEPTH ,
n.minobsinnode = GBM_MINOBS ,
verbose = TRUE)
答案 0 :(得分:0)
这似乎更多是关于R中的并行计算,而不是关于gbm的特定问题。我将从这里开始:http://cran.r-project.org/web/views/HighPerformanceComputing.html。
答案 1 :(得分:0)
也许值得考虑的事情是使用XGBoost library。根据Github回购:
&#34; XGBoost提供并行树提升(也称为GBDT,GBM),可以快速准确地解决许多数据科学问题。&#34;
我也意识到原来的问题已经很老了,但也许这会帮助有人走出困境。