我对机器学习(插入符号)还很陌生,在 RStudio 中遇到了 RAM 分配问题,但在 R 中没有遇到过。
我正在尝试使用交叉验证运行随机森林模型。准备好训练数据表 (149717 个 obs,大小为 5392816 字节) 后,我收到一条错误消息:
错误:无法分配大小为 1.1 Gb 的向量
这意味着我没有足够的 RAM 来加载对象。因此,我系统地减少了训练数据表,最终,仅使用原始训练数据的 5%,模型就可以正常工作而不会产生此错误。
但是,这并不理想,我需要在比原始大小 5% 更大的样本上运行我的模型。我决定在 R(而不是 Rstudio)中测试这一点,我的模型使用完整的训练数据表运行良好,没有内存问题。
当我在 R 和 Rstudio 处理期间查看我的任务管理器时,似乎 R 的内存使用效率比 Rstudio 更高(在使用相同数据进行相同测试时,Rstudio 使用了 100% 的 RAM,而 R 使用了 65%!)。
当我在 Rstudio 中使用 memory.limit() 函数时,我得到以下输出:1.759219e+13 然后我在 RI 中运行相同的函数得到以下输出:16291
笔记本电脑规格:256 GIG SSD。16 GIG RAM。Windows 10 Pro 64 位。具有 8 个逻辑核心的 I7。
我的问题是:为什么 R 和 Rstudio 中的内存分配如此不同?R 的内存限制很好,并且使用了我所有的 RAM,但 Rstudio 并非如此。
有什么想法可能导致该问题,或建议解决该 RAM 分配问题?
答案1
对此感兴趣的人请参阅此链接。
https://community.rstudio.com/t/rstudio-and-r-memory-allocation/36477
此 memory.limit() 函数是 Rstudio 中的一个错误。工作正在进行中。