Я использую пакет caret для тренировки на матрице 14x21. Приведенный ниже сценарий занимает 65 секунд, что ужасно медленно. Мне было интересно, есть ли какой-либо выигрыш в эффективности при использовании параллельных пакетов в R? ПК, на котором я выполняю код, имеет 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)