1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
library(doParallel)
outDir <- paste0("outDir")
dir.create(outDir)
ncores <- 2
cl <- makeCluster(ncores)
registerDoParallel(cl)
method <- c("svmLinear")
tuneGrid <- list(expand.grid(C=5))
res <- as.data.frame(matrix(data = rnorm(20),nrow = 10, ncol = 2))
res$act <- c(1:10)
foreach(i=1:length(method), .packages=c('caret')) %dopar%
{
t1 <- Sys.time();
# Entraînement
model <- caret::train(act ~.,data = res,
method=method[i],
trControl = trainControl(method = "cv", number=10,savePredictions=T),
tuneGrid=tuneGrid[[i]])
t2 <- Sys.time()
# Création du fichier
conn <- file( sprintf(outDir,"/", method[i],".txt") , open = "a" )
l <- list("method" = model$method, "results" = model$results[1:3],
"cross-validation" = model$control$method, "temps" = difftime(t2, t1))
# Écriture
write.table(l, conn , append = TRUE , col.names = T )
# Fermeture du fichier
close(conn)
}
stopCluster(cl) |
Partager