我在R中创建了一个tdm矩阵,想将其写入文件。这是一个大约20,000 x 10,000的大型稀疏矩阵,采用简单三元组形式。当我将其转换为密集矩阵以通过cbind添加列时,会遇到内存不足的错误,进程无法完成。我不想增加我的RAM。
此外,我还想- 将tf和tfidf矩阵结合起来- 将稀疏/密集矩阵保存为csv格式- 运行批处理机器学习算法,例如Weka的J48实现。
如何在内存限制内保存/加载数据集并运行批处理ML算法?
如果我可以将稀疏矩阵写入数据存储,我能否在R中对稀疏矩阵运行机器学习算法,并且在内存限制内进行?
回答:
可能有几种解决方案:
1) 如果您处理的是整数,将矩阵从双精度浮点数转换为整数。整数比双精度浮点数需要更少的内存。
2) 尝试使用bigmemory包。