改善GBM包的运行时间

时间:2012-12-04 23:18:46

标签: r

我正在使用相当大的数据集构建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)

2 个答案:

答案 0 :(得分:0)

这似乎更多是关于R中的并行计算,而不是关于gbm的特定问题。我将从这里开始:http://cran.r-project.org/web/views/HighPerformanceComputing.html

答案 1 :(得分:0)

也许值得考虑的事情是使用XGBoost library。根据Github回购:

&#34; XGBoost提供并行树提升(也称为GBDT,GBM),可以快速准确地解决许多数据科学问题。&#34;

我也意识到原来的问题已经很老了,但也许这会帮助有人走出困境。