通过并行处理加速R脚本

时间:2018-09-02 23:19:58

标签: r doparallel parallel-foreach

我正在使用插入符号程序包在14x21矩阵上进行训练。以下脚本需要65秒钟来处理,这非常慢。我想知道通过使用R中的并行程序包是否可以提高效率?我在上面运行代码的PC有16个内核,但是我想知道是否需要插入%dopar%或其他脚本来提高速度。

library(caret)
library(foreach)  
library(parallel) 
library(doParallel)
library(ggplot2)

registerDoParallel(cores = 16) 
nCores <- detectCores(logical = FALSE)

# read data
Macro <- read.csv("P:/Earnest/Old/R/Input.csv")
x <- Macro[1:13,3:21]
x <- as.matrix(x)
x
y <- Macro[1:13,2:2]
y <- as.matrix(y)
y
t <- Macro[14:14,3:21]
t <- as.matrix(t)
t

#select trainControl

ctrl = trainControl(method = "cv", number = 5, repeats = 5, verboseIter = TRUE, savePredictions = TRUE)

methoda <- "randomGLM"

#round 1
fit <- caret::train(y = as.vector(y), 
                      x = x, 
                      method = methoda, 
                      trControl = ctrl,
                      preProc = c("center", "scale"))

a6 <- predict(fit ,t)

0 个答案:

没有答案