No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Validación cruzada de nuestra red neuronal

34/37
Recursos

Aportes 5

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.


library('ggplot2')
library('lattice')
library('caret')
library('parallel')

rmse_fold <- function(pliegue, form, datos, nn_size){
  pliegue_logic <- seq_len(nrow(datos)) %in% pliegue
  prueba <- subset(datos, pliegue_logic)
  entrena <- subset(datos, !pliegue_logic)
  modelo <- nnet(form, data = entrena, size = nn_size, linout = TRUE, trace = FALSE)
  response_name <- setdiff(names(datos), modelo$coefnames)
  Y_pronosticado <- predict(modelo, newdata = prueba)
  rmse <- RMSE(Y_pronosticado, prueba[[response_name]])
  rmse
}

#red neuronal

tamano_muestral <- 2000
neuronas <- 10
n_pliegues <- 10

c(
  'ECON_PERSONAS_HOGAR',
  'ECON_CUARTOS',
  'ECON_SN_LAVADORA',
  'ECON_SN_NEVERA',
  'ECON_SN_HORNO',
  'ECON_SN_DVD',
  'ECON_SN_MICROHONDAS',
  'ECON_SN_AUTOMOVIL',
  'MATEMATICAS_PUNT'
) -> variables

indices_muestra <- seq_len(nrow(SB11_20111)) %in% sample(seq_len(nrow(SB11_20111)), tamano_muestral)

muestra <- subset(SB11_20111, subset = indices_muestra, select = variables)
muestra <- na.omit(muestra)

createFolds(muestra$MATEMATICAS_PUNT, k = n_pliegues) -> pliegues

mclapply(
  pliegues,
  rmse_fold,
  MATEMATICAS_PUNT ~ .,
  muestra,
  nn_size = neuronas,
  mc.cores = 1
) -> rmse_pliegues

rmse_pliegues <- unlist(rmse_pliegues)
mean(rmse_pliegues)

plot(rmse_pliegues, ylin = c(0, 14))
abline(h = mean(rmse_pliegues), col =2, lwd = 2)

con un nucleo me corrio rapido, toca ver como es con los clusters en windows.

Ya casi el fin

#Yo tenía el problema que el caret que tenía no posee el createFolds, entonces tuve que instalar caret del siguiente modo:

update.packages(oldPkgs=“caret”, ask=FALSE)

En la clase anterior se planteó el reto de determinar nuestras propias variables dependientes para mejorar la predicción de la red neuronal. Apliqué la validación cruzada vista en clase y aquí están los resultados:

Variables:
c(“ECON_SN_COMPUTADOR”,
“ECON_SN_INTERNET”,
“FISICA_PUNT”,
“QUIMICA_PUNT”,
“MATEMATICAS_PUNT”
) -> variables_reto

Gráfica de rmse

Negro: Resultados de la clase.

Azul: Resultados con variables_reto.