He creado un modelo de regresión en mis datos con bosques aleatorios en R. El resultado es bastante grande, me pregunto si hay alguna manera de reducir sólo a las piezas necesarias para hacer una predicción?
El conjunto de datos de entrenamiento contiene 20 variables y ~45,000 filas, que también es grande. Mi código se enumeran a continuación.
data <- readRDS("data.Rds")
require("data.table")
require("doParallel")
require("randomForest")
train <- data[ which(set == "train")]
test <- data[ which(set == "test")]
rm(data)
x <- data.table(train[, 2:21, with=FALSE])
y <- as.vector(as.matrix(train[, 23, with=FALSE]))
cl <- makeCluster(detectCores())
registerDoParallel(cl, cores=4)
time <- system.time({rf.fit <- foreach(ntree=rep(500, 6),
.combine=combine,
.multicombine=TRUE,
.packages="randomForest") %dopar%
{randomForest(x, y, ntree=ntree)}})
stopCluster(cl)
saveRDS(rf.fit, "rf.fit.Rds")
El resultado de esto es ~230 MB. Una vez que tengo el modelo, es posible reducir el tamaño para que sea más fácil trabajar con? Mis objetivos con este son identificar las variables más importantes, y hacer una predicción sobre nuevos datos.