Validación cruzada en paralelo

Estoy sin tiempo, así que os suelto el código y me largo a casa a no cenar. Es así:

library(parallel)
 
cl <- makeCluster(8)
 
# solo si hay aleatorización
# clusterSetRNGStream(cl, 123)
 
clusterEvalQ(cl, 
{
	# las librerías necesarias tienen que cargarse
	# en cada esclavo
	library(rpart)
 
	# en la práctica, hay que cargar los datos
	# (¿desde fichero?) en cada esclavo
	my.data <- iris
 
	# lo mismo con las funciones necesarias
	foo <- function(x, dat){
		train <- 1:nrow(dat) %% 10 != 1
		mod <- rpart(Species ~ ., data = dat[train,])
		res <- predict(mod, dat[!train,])
	}
})
 
res <- parSapply(cl, 0:9, function(x) foo(x, my.data), simplify = F)

Un comentario sobre “Validación cruzada en paralelo

Los comentarios están desabilitados.