我在R中创建了一个tdm矩阵,我想写入一个文件。这是一个简单三重形式的大型稀疏矩阵,约20,000 x 10,000。当我将它转换为密集矩阵以通过cbind添加列时,我得到的内存错误很少,并且该过程无法完成。我不想增加我的RAM。
另外,我想 - - 将tf和tfidf矩阵绑定在一起 - 将稀疏/密集矩阵保存到csv - 运行批处理机器学习算法,例如we48的J48实现。
如何在内存限制内保存/加载数据集并运行批处理ML算法?
如果我可以将稀疏矩阵写入数据存储,是否可以在稀疏矩阵上的R中运行ml算法,并且在内存约束内?
答案 0 :(得分:3)
答案 1 :(得分:0)
除了@djhurio提到的解决方案之外,第三种解决方案是使用云计算服务,例如Amazon EC2提供的服务。你没有提到你需要多少RAM,但是我可以从当前的价格表快速收集,使用这些服务将获得高达244 Gb的RAM。我怀疑你在现实中需要那么多,如果你只需要16-32 Gb,价格就不会让人望而却步。
如果您是学术用户,您可能需要查看Revolution R中的RevoScaleR
,这是R的商业版本,可在学术环境中免费获得。该软件可以开箱即用地处理大型物体。