我正在尝试实现一个电影收视率的基线预测模型(类似于来自NetFlix奖的各种基线模型),通过随机梯度下降来学习参数。但是,因为这两个解释变量都是分类的(用户和电影),所以设计矩阵非常大,无法适应我的RAM。
我认为sgd包会自动找到解决这个问题的方法(因为它是为大量数据设计的),但情况似乎并非如此。
有谁知道怎么绕过这件事吗?也许是一种将设计矩阵构建为稀疏矩阵的方法。
干杯,
发布于 2016-08-01 20:53:04
您可以尝试使用Matrix::sparseMatrix创建一个三元组,它将以更有效的方式描述矩阵。您还可以尝试在Amazon上导出您的问题,并使用更多的EC2和实例,或者配置集群来创建映射的减少的作业。查看xgboost包 https://github.com/dmlc/xgboost及其文档,了解如何处理内存问题。
这也是一个更实用的教程:https://cran.r-project.org/web/packages/xgboost/vignettes/discoverYourData.html
https://stackoverflow.com/questions/38707683
复制相似问题