【发布时间】:2012-01-09 01:50:40
【问题描述】:
我最近开始使用 R 进行数据分析。现在我在对大型查询数据集进行排序时遇到了问题(在 ASCII 模式下约为 1 GB,在我的笔记本电脑的 4GB RAM 下处于二进制模式)。对此数据集使用bigmemory::big.matrix 是一个不错的解决方案,但在gbm() 或randomForest() 算法中提供这样的矩阵“m”会导致错误:
cannot coerce class 'structure("big.matrix", package = "bigmemory")' into a data.frame
class(m) 输出如下:
[1] "big.matrix"
attr(,"package")
[1] "bigmemory"
有没有办法将big.matrix 实例正确传递给这些算法?
【问题讨论】:
-
如果其他解决方案失败,您可能想尝试一下 Revolutions。我不知道它是否支持
randomForest,但我认为他们支持大内存需求。例如,参见http://www.revolutionanalytics.com/products/enterprise-big-data.php。请注意,它是专有软件。有一个免费的学术版本。 -
您能否提供实际使用的
gbm和randomForest呼叫?具体来说,您是否使用randomForest的公式界面?
标签: r dataframe ranking ehcache-bigmemory r-bigmemory