问题:
我有多个事务数据数据集,用于预测事件(二进制分类作为结果)。其中一个有10,587,989行,有23列。我试图以10倍cv和ctree(gradient boosting
)运行package:party
,但每次运行这些模型时我的系统都会崩溃。
设备:
16核,48 gig RAM,48 gig SWAP
问题:
即使在使用并行处理,添加更多内存,弹回系统之后,使用大型数据集导致R崩溃的原因是什么?
我尝试过的事情:
通过doParallel
启用并行处理,执行xgBoost
通过caret
,我看到每个核心点亮,RAM和交换存在
通过Linux中的top
函数充分利用但最终
每次都会崩溃。
退回RStudio服务器,重新启动系统作为初始 机动,但问题仍然存在。
我确实发现有人在评论H2O。我还联系了一个供应商并要求他提供解决方案,他建议Sparkly,但你需要在服务器中使用Hadoop层来运行Sparkly。
答案 0 :(得分:2)
我确实发现有人在评论H2O。我还联系了一个供应商并要求他提供解决方案,他建议Sparkly,但你需要在服务器中使用Hadoop层来运行Sparkly。
您的供应商有误;您不需要sparklyr / RSparkling的Hadoop层,只需Spark。
但是,您也可以跳过Spark层并直接使用H2O。这是最好的选择,根据我的经验,我认为你的硬件足以在10M行上训练H2O GBM。这是一个H2O R tutorial,显示了如何对GBM执行网格搜索。当你启动H2O时,只需确保从默认的4G增加内存:
h2o.init(max_mem_size = "48G")
H2O还支持XGBoost,这是另一种GBM实现,因此这是另一种选择。