Ya hemos visto cómo hacer una regresión lineal en Python con la librería statsmodel, ahora vamos a ver cómo hacerla con scikit-learn:
Lo primero que tenemos que tener en cuenta es que los modelos de predicción que hemos hecho hasta ahora se basaban en hacer múltiples regresiones lineales a mano (cambiando las variables predictoras) hasta comprobar, mediante los estadísticos, cuál era la más óptima, dependiendo de cuáles eran las mejores variables predictoras.
La ventaja de scikit-learn es que nos permite automatizar la tarea de calcular qué variables predictoras son las mejores para el modelo, y así sólo tendremos que hacer la regresión lineal una vez.
El método que utiliza scikit-learn para hacer esto es el de la eliminación de rasgos recursiva (Recursive Feature Elimination) que consiste en montar una regresión lineal con todas las variables del dataframe, e ir eliminando variables del modelo y recalculando las regresiones hasta encontrar el modelo más óptimo con el número de variables que le indiquemos.
Vamos a hacerlo con el mismo dataset de anuncios que las ocasiones anteriores.
Primero importamos todas las librerías necesarias:
Cargamos el dataset de anuncios:
Creamos dos dataframes a partir del dataset anterior, uno con todas las variables predictoras, y otro con la variable a predecir:
Utilizamos scikit-learn para calcular qué dos variables predictoras de ventas serían las mejores para un modelo de regresión lineal de 2 variables:
Podemos comprobar que las dos variables predictoras escogidas son la TV y la radio, como en los modelos que calculamos a mano anteriormente:
Ahora podemos calcular la regresión lineal en sí utilizando esas dos variables:
Y obtenemos los diferentes estadísticos del modelo:
Y eso es todo.
No hay comentarios:
Publicar un comentario