Transformación y regresión de datos

Aquí hay una canalización que explica la extracción de datos, la transformación para la normalización y la regresión (con análisis de rendimiento).

regresión

Ahora profundicemos en la otra categoría de aprendizaje supervisado: regresión donde la variable de salida es continua y numérica. Hay cuatro tipos comunes de modelos de regresión: lineal, lazo, regresión de cresta, polinomial.

Transformación de datos y regresión de regresión.

Exploración y preprocesamiento

Este proyecto tiene como objetivo utilizar modelos de regresión para predecir los puntajes de felicidad de los países en función de otros factores "PIB per cápita", "Apoyo social", Esperanza de vida saludable", "Libertad para tomar decisiones de vida "Generosidad" y "Percepciones de corrupción".

Usé el conjunto de datos del "Informe mundial de la felicidad" en Kaggle, que tiene 156 entradas y 9 funciones.

Aplique el histograma para comprender la distribución de cada característica. Como se muestra a continuación, el 'apoyo social' parece estar fuertemente sesgado hacia la izquierda, mientras que la 'generosidad' y las 'percepciones de corrupción' están sesgadas hacia la derecha, lo que informa las técnicas de ingeniería de funciones para la transformación.

Transformación de datos y regresión de regresión.

También podemos combinar el histograma con la medida de sesgo a continuación para cuantificar si la característica está muy sesgada hacia la izquierda o hacia la derecha.

Transformación de datos y regresión de regresión.

np.sqrt se aplica para transformar las características sesgadas a la derecha: "Generosidad" y "Percepciones de corrupción". Como resultado, ambas características se distribuyen más normalmente.

Transformación de datos y regresión de regresión.

np.log(2-df['Social support']) se aplica para transformar la función sesgada a la izquierda. Y la asimetría disminuye considerablemente de 1,13 a 0,39.

sns.pairplot(df) se puede utilizar para visualizar el correlación entre las entidades después de la transformación. Los diagramas de dispersión sugieren que el “PIB per cápita”, el “apoyo social” y la “esperanza de vida saludable” están correlacionados con la característica objetivo “puntuación” y, por lo tanto, pueden tener valores de coeficiente más altos. Averigüemos si este es el caso en la sección posterior.

Transformación de datos y regresión de regresión.

Dado que las técnicas de regularización manipulan el valor de los coeficientes, esto hace que el rendimiento del modelo sea sensible a la escala de características. Por lo tanto, las características deben transformarse a la misma escala. Experimenté en tres escalas: StandardScaler, MinMaxScaler y RobustScaler.

Transformación de datos y regresión de regresión.

Como puede ver, las escalas no afectarán la distribución y la forma de los datos, pero cambiarán el rango de los datos.

Transformación de datos y regresión de regresión.

Regresiones y comparaciones

Ahora comparemos los tres modelos de regresión lineal a continuación: lineal, cresta y lazo.

Transformación de datos y regresión de regresión.

El siguiente paso es experimentar cómo los diferentes valores de lambda (alfa en scikit-learn) afectan a los modelos. Más importante aún, cómo cambian la importancia de las características y los valores de los coeficientes a medida que el valor alfa cambia de 0.0001 a 1.

Transformación de datos y regresión de regresión.

Transformación de datos y regresión de regresión.

Según los valores de los coeficientes generados a partir de los modelos Lasso y Ridge, 'PIB per cápita', 'Apoyo social', 'Esperanza de vida saludable' parecían ser las 3 características más importantes. Esto se alinea con los resultados anteriores del diagrama de dispersión, lo que sugiere que son los principales impulsores del Country Happy Score.

La comparación lado a lado también indica que el aumento de los valores alfa afecta a Lasso y Ridge en diferentes niveles, las características de Lasso se eliminan más. Esta es la razón por la que a menudo se elige Lasso para la selección de funciones.

Además, se introducen funciones polinómicas para mejorar la regresión lineal básica, aumentando el número de funciones de 6 a 27.

# aplica efectos polinómicos
de aprender.preprocesamiento importar PolinomioCaracterísticas pf = Características polinómicas(la licenciatura = 2, include_bias = Falso)
X_tren_poli = por favor.encajar_transformar(X_tren)
X_test_poly = por favor.encajar_transformar(X_prueba)

Mira su distribución después de la transformación polinomial.

Transformación de datos y regresión de regresión.

Evaluación del modelo

Último paso, evaluar y comparar el rendimiento del modelo Lasso vs Peak, antes y después del efecto polinomial. En el siguiente código, creé cuatro modelos:

  • l2: cresta sin características polinómicas
  • l2_poly: cresta con características polinómicas
  • l1: lazo sin características polinómicas
  • l1_poly: lazo con características polinómicas

Transformación de datos y regresión de regresión.

Las métricas de evaluación del modelo de regresión comúnmente utilizadas son MAE, MSE, RMSE y R-squared; consulte mi artículo sobre "Una guía práctica para la regresión lineal" para obtener una explicación detallada. Aquí utilicé MSE (error cuadrático medio) para evaluar el rendimiento del modelo.

1) La comparación de Ridge y Lasso en un gráfico indica que tienen una precisión similar cuando los valores alfa son bajos, pero Lasso se deteriora significativamente cuando alfa está más cerca de 1.

Transformación de datos y regresión de regresión.

2) Al comparar con o sin efecto polinomial en un gráfico, podemos decir que el polinomio disminuye el MSE en general, por lo tanto, mejora el rendimiento del modelo. Este efecto es más significativo en la regresión de Ridge cuando alfa aumenta a 1, y más significativo en la regresión de Lasso cuando alfa está más cerca de 0,0001.

Transformación de datos y regresión de regresión.

Sin embargo, aunque la transformación polinomial mejora el rendimiento de los modelos de regresión, dificulta la interpretación del modelo: es difícil distinguir los principales impulsores del modelo de una regresión polinomial. Menos error no siempre garantiza un mejor modelo, y se trata de encontrar el equilibrio adecuado entre la previsibilidad y la interpretabilidad en función de los objetivos del proyecto.