我正在尝试使用 RTexttools 包对大约 10.000 个文档进行分类。当我计算随机森林训练模型时,过程会消耗大量时间(CPU 和内存)。我在一台有 4 个内核和 4GB 内存的机器上工作。但是,我可以看到我的 R-session 只使用 1 个核心来执行。我已经阅读了一些关于 foreach 和 doparallel 的文档,但我无法将其与文本挖掘联系起来。假设我想加速以下命令(目前需要 120 多分钟):
library(RTextTools)
library(tm)
data <- read.csv2(file.choose(), header = T, sep = ";")
colnames(data) <-c("Text","Sentiment")
doc_matrix <-
create_matrix(
data$Text,
language = "russian",
removeNumbers = TRUE,
stemWords = TRUE,
removeSparseTerms = .998
)
container <-
create_container(
doc_matrix,
data$Sentiment,
trainSize = 1:1000,
testSize = 1001:2165,
virgin = FALSE
)
RF <- train_model(container,"RF")
有没有办法通过使用并行化来加快这个过程?如果我只是使用
library(doParallel)
cl <- makeCluster(detectCores())
registerDoParallel(cl)
在训练模型计算之前它不会有太大帮助。