En esta guía, seguiremos los siguientes pasos:
Paso 1 – Cargando las bibliotecas y módulos necesarios.
Paso 2 – Cargar los datos y realizar comprobaciones de datos básicos.
Paso 3 – Crear arreglos para las características y la variable de respuesta.
Paso 4 – Creación de los conjuntos de datos de entrenamiento y pruebas.
Paso 5 – Construir, predecir y evaluar el modelo de regresión. Vamos a repetir el paso 5 para los diversos modelos de regresión.
Las siguientes secciones cubrirán estos pasos.
Paso 1 – Carga de las bibliotecas y módulos requeridos
123456789101112131415importar pandas como pdimport numpy como npfrom importar sklearn model_selectionfrom sklearn.linear_model import LinearRegressionfrom sklearn.linear_model import Ridgefrom sklearn.linear_model import Lassofrom sklearn.linear_model import ElasticNetfrom sklearn. vecinos importar KNeighborsRegressorde sklearn.tree importar DecisionTreeRegressorde sklearn.svm importar SVRde sklearn.ensemble importar RandomForestRegressorde sklearn.metrics importar r2_scorefrom sklearn.model_selection importar train_test_splitfrom sklearn.metrics importar mean_squared_errorfrom math importar sqrt
pitón
Paso 2 – Lectura de los datos y realización de comprobaciones de datos básicos
La primera línea de código se lee en los datos como un cuadro de datos de pandas, mientras que la segunda línea imprime la forma – 574 observaciones de 5 variables. La tercera línea da estadísticas resumidas de las variables numéricas. El promedio de desempleo se sitúa en 7771 mil para los datos. Además, no tenemos valores faltantes porque todas las variables tienen 574 como $0027cuenta$0027 que es igual al número de registros en el conjunto de datos.
123df = pd.read_csv($0027regressionexample.csv$0027)print(df.shape)df.describe()
pitón
Salida:
574.000000 | 574.000000 | 574.000000 | media | 4843.510453 | 257189.381533 | 7.936585 | 8.610105 | 7771.557491 || std | 3579.287206 | 36730.801593 | 3.124394 | 4.108112 | 2641. 960571, min. 507.400000, 198712.000000, 1.900000, 4.000000, 2685.000000, 25%, 1582.225000, 224896.000000, 5.500000, 6.000000, 6284.000000, 50%, 3953.550000, 253060.000000, 7. 700000 | 7.500000 | 7494.000000 | 75% | 7667.325000 | 290290.750000 | 10.500000 | 9.100000 | 8691.000000 | max | 12161.500000 | 320887.000000 | 17.000000 | 25.200000 | 15352.000000 |
Paso 3 – Creación de arreglos para las características y la variable de respuesta
La primera línea de código crea un objeto de la variable objetivo llamado $0027columna_objetivo$0027. La segunda línea nos da la lista de todas las características, excluyendo la variable objetivo $0027unemploy$0027.
La tercera línea normaliza los pronósticos. Esto se hace porque las unidades de las variables difieren significativamente y pueden influir en el proceso de modelación. Para evitarlo, haremos la normalización mediante el escalado de los predictores entre 0 y 1.
En la cuarta línea se muestra el resumen de los datos normalizados. Podemos ver que todas las variables independientes se han escalado ahora entre 0 y 1. La variable objetivo permanece sin cambios.
1234target_column =[$0027unemploy$0027] predictores =list(set(list(df.columns))-set(target_column))df[predictores]= df[predictores]/df[predictores].max()df.describe()
pitón
Salida:
12345678910| | pce | pop | psavert | uempmed | unemploy |||||||||||||||||| cuenta 574.000000 | 574. 000000 | 574.000000 | 574.000000 | 574.000000 | media | 0.398266 | 0.801495 | 0.466858 | 0.341671 | 7771.557491 || std | 0.294313 | 0.114466 | 0.183788 | 0.163020 | 2641. 960571, min. 0.041722, 0.619258, 0.111765, 0.158730, 2685.000000, 25%, 0.130101, 0.700857, 0.323529, 0.238095, 6284.000000, 50%, 0.325087, 0.788627. 452941 | 0.297619 | 7494.000000 || 75% | 0.630459 | 0.904651 | 0.617647 | 0.361111 | 8691.000000 | max | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 15352.000000 |
Paso 4 – Creación de los conjuntos de datos de entrenamiento y prueba
Construiremos nuestro modelo en el equipo de entrenamiento y evaluaremos su rendimiento en el equipo de prueba. Esto se llama el método de validación de la retención.
El primer par de líneas de código crea matrices de las variables independientes (X) y dependientes (y), respectivamente. La tercera línea divide los datos en conjunto de datos de entrenamiento y de prueba, con el argumento $0027test_size$0027 que especifica el porcentaje de datos que se mantendrán en los datos de prueba. La cuarta línea imprime la forma del conjunto de entrenamiento (401 observaciones de 4 variables) y del conjunto de pruebas (173 observaciones de 4 variables).
12345X = df[predictores].valuesy = df[columna_objetivo].valuesX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=40)print(X_train.shape);print(X_test.shape)
pitón
Salida:
12(401, 4)(173, 4)
Paso 5 – Construir, predecir y evaluar el modelo de regresión
En este paso, implementaremos los diversos modelos de regresión lineal utilizando la biblioteca de aprendizaje de ciencias.
Contenidos
- Paso 1 – Carga de las bibliotecas y módulos requeridos
- Paso 2 – Lectura de los datos y realización de comprobaciones de datos básicos
- Paso 3 – Creación de arreglos para las características y la variable de respuesta
- Paso 4 – Creación de los conjuntos de datos de entrenamiento y prueba
- Paso 5 – Construir, predecir y evaluar el modelo de regresión