R的内存限制是什么?


10

在审阅“ 应用预测模型 ”时,审阅者指出

我对统计学习(SL)教学法的一种批评是,在评估不同的建模技术时缺乏计算性能方面的考虑。SL着重于引导和交叉验证以优化/测试模型,因此计算量很大。再加上诸如装袋和增强之类的技术中所嵌入的重新采样,您就可以在大型数据集的有监督学习中拥有计算能力。实际上,R的内存约束对模型的大小施加了相当严格的限制,可以通过性能最佳的方法(如随机森林)来拟合模型的大小。尽管SL在针对小型数据集校准模型性能方面做得很好,但了解大型数据的性能与计算成本的关系一定会很不错。

R的内存约束是什么,它们是否对可以通过性能最佳的方法(例如随机森林)拟合的模型大小施加严格限制?


Answers:


10

正如康斯坦丁所指出的那样,R在系统内存即RAM中执行其所有计算。因此,RAM容量对于R中的计算密集型操作来说是一个非常重要的约束。克服了这一约束,如今数据已存储在HDFS系统中,在该系统中,数据未加载到内存中,而是运行程序,程序转到数据中,执行操作,从而克服了内存限制。RHadoop(https://github.com/RevolutionAnalytics/RHadoop/wiki)是您要寻找的连接器。

鉴于对计算密集型算法的影响,随机森林/决策树/集成方法对大量数据(根据我的经验,至少有50,000次观察)占用了大量内存,而且速度很慢。为了加快该过程,并行化是必经之路,而并行化在Hadoop中固有可用!那就是Hadoop真正高效的地方。

因此,如果您要使用计算密集型且速度较慢的集成方法,则可以尝试使用HDFS系统,该系统可显着提高性能。


1
+1感谢您抽出宝贵的时间对现有答案进行改进,我认为您的答案现在是更好的答案,因此我选择了您的答案作为答案。干杯!
失误2014年

很高兴回答!
宾加2014年


3

这种批评不再合理:

的确,大多数标准库和受人尊敬的R库都限于内存中计算,但是,越来越多的专用库可以处理内存中无法容纳的数据。
例如,对于大型数据集上的随机森林,您拥有库bigrf。此处提供更多信息:http : //cran.r-project.org/web/packages/bigrf/

增长的另一个领域是R与hadoop等大数据环境的连通性,这为可能性开辟了另一个世界。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.