我在R中有一个大型数据集(超过100万行,6列),我想用它来训练一个用于回归目的的随机森林(使用randomForest
包)。不幸的是,当我尝试一次处理整个数据集时,会得到一个Error in matrix(0, n, n) : too many elements specified
错误,而在处理数据子集时(即使减少到大约10,000个观测值),也会遇到cannot allocate enough memory
类型的错误。
考虑到我无法在我的机器上增加更多内存,而且随机森林非常适合我试图建模的过程类型,我真的很想让这个工作起来。
任何建议或解决方案的想法都非常受欢迎。
回答:
你可能是在要求randomForest
为数据创建邻近矩阵,如果你想想看,这将是极其大的:100万乘以100万。不管你将sampsize
设置得多么小,都需要这样大小的矩阵。事实上,简单地在谷歌上搜索错误消息似乎证实了这一点,因为包的作者指出,在整个源代码中唯一找到n,n)
的地方是在计算邻近矩阵时。
但鉴于你没有提供你实际使用的代码的任何细节,很难提供更多帮助。