R 的随机森林无法分配大小为 7.5 Gb 的向量

标签 r machine-learning random-forest

我有一个数据集 (df),其中包含 10000 条推文和 2 个观察结果(正文和标签);前 4000 条推文带有标签(正面或负面),我想将其用作训练集,以根据文本正文预测其余推文的标签,进行测试。 我想使用随机森林算法来预测(插入符包)和交叉验证以确定准确性。 我使用了这个脚本:

training <- subset(df[1:4000,])
testing  <- subset(df[4001:10000,])

fitControl1 <- trainControl(method = "repeatedcv",
                       number = 10,
                       repeats = 10)

rfFit <- train(training$label~ training$body, data = training, 
             method = "rf", 
             trControl = fitControl,
             verbose = FALSE)

但是这是控制台的错误

Error: cannot allocate vector of size 7.5 Gb

我该如何修复它? 提前致谢

最佳答案

随机森林算法会破坏你的内存,特别是如果你没有很多内存的话。不过,R 可以使用磁盘作为内存,所以这可能会对您有所帮助。

如果你检查

memory.limit()

它会显示你的内存大小。不过您也可以使用此命令来设置它。

memory.limit(100000)

好了,现在你有大约 100GB 的内存了。其中一堆在您的硬盘上。

如果您没有太多硬盘空间...那么这对您没有帮助。

关于R 的随机森林无法分配大小为 7.5 Gb 的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49161802/

相关文章:

r - 使用 ggplot2 带有误差条的堆叠条形图

R 封装矩阵 : get number of non-zero entries per rows/columns of a sparse matrix

python - 将 PCA 应用于 Scikit-learn 中的新数据

machine-learning - 图像分类-pytorch

python - 无法从 'train_unsupervised'(未知位置)导入名称 'fastText'

python - 随机森林树生长算法

r - 根据列中的值删除行

RSQLite 并将数据读入内存

R编程,通过插入符的随机森林

machine-learning - 执行随机森林时的最小观察次数