Contenido de este artículo
- 0
- 0
- 0
- 0
Actualizado el 9 de mayo de 2022, por Luis Benites.
Las splines de regresión adaptativa multivariante (MARS) se pueden utilizar para modelar relaciones no lineales entre un conjunto de variables predictoras y una variable de respuesta .
Este método funciona de la siguiente manera:
1. Divida un conjunto de datos en k piezas.
2. Ajuste un modelo de regresión a cada pieza.
3. Utilice la validación cruzada de k-veces para elegir un valor para k .
Este tutorial proporciona un ejemplo paso a paso de cómo ajustar un modelo MARS a un conjunto de datos en Python.
Paso 1: importar los paquetes necesarios
Para ajustar un modelo MARS en Python, usaremos la función Earth () de sklearn-contrib-py-earth . Comenzaremos instalando este paquete:
pip install sklearn-contrib-py-earth
A continuación, instalaremos algunos otros paquetes necesarios:
import pandas as pd from numpy import mean from sklearn. model_selection import cross_val_score from sklearn. model_selection import RepeatedKFold from sklearn. conjuntos de datos import make_regression from pyearth import Earth
Paso 2: crear un conjunto de datos
Para este ejemplo, usaremos la función make_regression () para crear un conjunto de datos falso con 5,000 observaciones y 15 variables predictoras:
# crear datos de regresión falsos X, y = make_regression (n_samples = 5000 , n_features = 15 , n_informative = 10 , ruido = 0.5 , estado_aleatorio = 5 )
Paso 3: construir y optimizar el modelo MARS
A continuación, usaremos la función Earth () para construir un modelo MARS y la función RepeatedKFold () para realizar k-veces una validación cruzada para evaluar el rendimiento del modelo.
Para este ejemplo, realizaremos una validación cruzada de 10 veces, repetida 3 veces.
# definir el modelo model = Earth () #especifique el método de validación cruzada que se utilizará para evaluar el modelo cv = RepeatedKFold (n_splits = 10 , n_repeats = 3 , random_state = 1 ) #evaluar puntajes de desempeño del modelo = cross_val_score (modelo, X, y, scoring = ' neg_mean_absolute_error ', cv = cv, n_jobs = -1) #print resultados significan (puntuaciones) -1,745345918289
De la salida podemos ver que el error absoluto medio (ignorar el signo negativo) para este tipo de modelo es 1.7453 .
En la práctica, podemos ajustar una variedad de modelos diferentes a un conjunto de datos dado (como Ridge, Lasso, Regresión lineal múltiple, Mínimos cuadrados parciales, Regresión polinomial, etc.) y comparar el error absoluto medio entre todos los modelos para determinar el que produce el MAE más bajo.
Tenga en cuenta que también podríamos usar otras métricas para medir el error, como el R-cuadrado ajustado o el error cuadrático medio.
Puede encontrar el código Python completo utilizado en este ejemplo aquí .
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: