Regresión de red elástica en programación R

La regresión de Elastic Net es un algoritmo de clasificación que supera las limitaciones del método lazo (operador de selección y contracción mínima absoluta) que utiliza una función de penalización en su regularización L1. La regresión de Elastic Net es un enfoque híbrido que combina las penalizaciones de la regularización L2 y L1 de los métodos de lazo y cresta.

Encuentra un estimador en un procedimiento de dos etapas, es decir, primero para cada λ 2 fijo , encuentra los coeficientes de regresión de la cresta y luego realiza una contracción del tipo de regresión de lazo que duplica la cantidad de contracción, lo que finalmente conduce a un mayor sesgo y predicciones deficientes. El cambio de escala de los coeficientes de la versión ingenua de la red elástica multiplicando los coeficientes estimados por (1 + λ 2 ) se realiza para mejorar el rendimiento de la predicción. La regresión de red elástica se utiliza en:

  • Aprendizaje métrico
  • Optimización de cartera
  • Pronóstico del cáncer

La regresión de Elastic Net siempre tiene como objetivo minimizar la siguiente función de pérdida:

formula elastic net

Elastic Net también nos permite ajustar el parámetro alfa donde alfa = 0 corresponde a la regresión de Ridge y alfa = 1 a la regresión de Lasso. De manera similar, cuando alfa = 0, la función de penalización se reduce a la regularización L1 (cresta), y cuando alfa = 1, la función de penalización se reduce a la regularización L2 (lazo). Por lo tanto, podemos elegir un valor alfa entre 0 y 1 para optimizar la red elástica y esto reducirá algunos coeficientes y establecerá algunos en 0 para una selección escasa. En la regresión de Elastic Net, el hiperparámetro lambda depende principalmente y en gran medida del hiperparámetro alfa. Ahora implementemos la regresión neta elástica en la programación R.

Implementación en R

El conjunto de datos

mtcars (prueba de carretera de automóviles de tendencia del motor) comprende el consumo de combustible, el rendimiento y 10 aspectos del diseño del automóvil para 32 automóviles. Viene preinstalado con el paquete dplyr en R.

# Installing the package
install.packages("dplyr")
    
# Loading package
library(dplyr)
    
# Summary of dataset in package
summary(mtcars)

Producción:
producción

Realización de una regresión de red elástica en un conjunto de datos

Usando el algoritmo de regresión de Elastic Net en el conjunto de datos entrenando el modelo usando características o variables en el conjunto de datos.

# Installing Packages
install.packages("dplyr")
install.packages("glmnet")
install.packages("ggplot2")
install.packages("caret")
  
# X and Y datasets
X <- mtcars %>% 
     select(disp) %>% 
     scale(center = TRUE, scale = FALSE) %>% 
     as.matrix()
Y <- mtcars %>% 
    select(-disp) %>% 
    as.matrix()
  
# Model Building : Elastic Net Regression
control <- trainControl(method = "repeatedcv",
                              number = 5,
                              repeats = 5,
                              search = "random",
                              verboseIter = TRUE)
  
# Training ELastic Net Regression model
elastic_model <- train(disp ~ .,
                           data = cbind(X, Y),
                           method = "glmnet",
                           preProcess = c("center", "scale"),
                           tuneLength = 25,
                           trControl = control)
  
elastic_model
  
# Model Prediction
x_hat_pre <- predict(elastic_model, Y)
x_hat_pre
  
# Multiple R-squared
rsq <- cor(X, x_hat_pre)^2
rsq
  
# Plot
plot(elastic_model, main = "Elastic Net Regression")

Producción:

  • Entrenamiento del modelo de regresión de red elástica:
    producción

    El modelo de regresión de Elastic Net está entrenado para encontrar los valores alfa y lambda óptimos.

  • Modelo elastic_model:
    producción

    El modelo de regresión de Elastic Net utiliza el valor alfa como 0,6242021 y el valor lambda como 1,801398. Se utilizó RMSE para seleccionar el modelo óptimo utilizando el valor más pequeño.

  • Predicción del modelo:
    producción

    El modelo se predice utilizando el conjunto de datos Y y se muestran los valores.

  • Múltiple R-Cuadrado:
    producción

    Los valores múltiples de R-Squared de disp son 0.9514679.

  • Gráfico:
    producción

    El porcentaje de mezcla se grafica con puntajes RMSE con diferentes valores del parámetro de regularización.

  • Por lo tanto, las aplicaciones de regresión de Elastic Net se utilizan en muchos sectores de la industria y con plena capacidad.

Publicación traducida automáticamente

Artículo escrito por dhruv5819 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *