使用parallel/foreach加速Rtexttools

使用parallel/foreach加速Rtexttools,r,text-mining,random-forest,doparallel,R,Text Mining,Random Forest,Doparallel,我正在尝试使用RTexttools包对大约10000个文档进行分类。当我计算一个随机森林列车模型时,这个过程会消耗很多时间(CPU和内存)。 我在一台有4个内核和4GB内存的机器上工作。但是,我可以看到,我的R-session只使用1个核心来执行。 我已经阅读了foreach和doparallel的一些文档,但是我很难将其与文本挖掘联系起来。 假设我想加速以下命令(目前需要120分钟以上): 库(RTextTools) 图书馆(tm) 数据读取RTexttools包的文档。如果没有提到并行化,那

我正在尝试使用RTexttools包对大约10000个文档进行分类。当我计算一个随机森林列车模型时,这个过程会消耗很多时间(CPU和内存)。 我在一台有4个内核和4GB内存的机器上工作。但是,我可以看到,我的R-session只使用1个核心来执行。 我已经阅读了foreach和doparallel的一些文档,但是我很难将其与文本挖掘联系起来。 假设我想加速以下命令(目前需要120分钟以上):

库(RTextTools)
图书馆(tm)

数据读取RTexttools包的文档。如果没有提到并行化,那么就不能。只有在定义循环时才能实现Foreach。检查xgboost和h2o包中的随机林模型以进行并行化。是的,
xgboost
似乎是一个不错的选择:我会试试。阅读RTexttools包的文档。如果没有提到并行化,那么就不能。只有在定义循环时才能实现Foreach。检查xgboost和h2o包中的随机林模型以进行并行化。是的,
xgboost
似乎是一个不错的选择:我会试试。
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)