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

dav*_*olo 2 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)
Run Code Online (Sandbox Code Playgroud)

但这是控制台的错误

Error: cannot allocate vector of size 7.5 Gb
Run Code Online (Sandbox Code Playgroud)

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

Lac*_*anO 5

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

如果你检查

memory.limit()
Run Code Online (Sandbox Code Playgroud)

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

memory.limit(100000)
Run Code Online (Sandbox Code Playgroud)

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

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