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