【问题标题】:Parallel computing in R, due to space issues由于空间问题,R中的并行计算
【发布时间】:2015-11-15 11:08:23
【问题描述】:

我被大量数据集困在 R 中,然后处理它(通过 randomForest)。基本上,我有一个大约 100K 行和 6K 列的 csv 文件。直接导入它需要很长时间,并会出现许多关于空间分配的警告(达到 8061mb 的限制)。在许多警告结束时,我确实在 R 中获得了该数据框,但不确定是否依赖它。即使我使用该数据框,我也很确定在其上运行 randomForest 肯定会是一个大问题。因此,我的问题分为两部分:

  1. 如何高效地导入如此大的 csv 文件而不会出现任何警告/错误?
  2. 导入 R 后,如何继续使用 randomForest 函数。

我们是否应该使用一些可以提高计算效率的包。欢迎任何帮助,谢谢。

【问题讨论】:

  • data.table::fread 或 readr::read_csv。这些读取大文件的速度要快得多(fread 具有优势)。指定要读取的行数也会有所帮助。
  • 要导入大文件,请使用data.table::fread。它比read.csvffsqldf::read.csv.sql 更快。
  • 哇……太棒了,文件在 38 秒内用 fread 导入了……感谢 phiver 和 Narendra,为我的第一个问题关闭。

标签: r csv bigdata random-forest


【解决方案1】:

实际上,您在 R 中加载文件的限制似乎是 8G,如果您的机器有更多内存,请尝试增加该限制。

如果这不起作用,一种选择是您可以从 R 提交到 MapReduce(请参阅 http://www.r-bloggers.com/mapreduce-with-r-on-hadoop-and-amazon-emr/https://spark.apache.org/docs/1.5.1/sparkr.html)。但是,目前尚不支持随机森林。

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多