Contenido del curso
Modelo Predictivo
Tipos de Aprendizaje
Herramientas para IA
Ciclo de Vida ML
Ética en IA
Scikit-Learn vs statsmodels en regresión lineal
Resumen
La regresión lineal en Python se puede resolver de varias formas, y elegir la correcta depende del set de datos y del caso de negocio. Aquí te muestro cómo pasar del cálculo manual a dos aproximaciones más prácticas: la librería Scikit-Learn y un enfoque estadístico con statsmodels, ideal si quieres analizar la significancia de cada coeficiente.
Cómo entrenar una regresión lineal con Scikit-Learn
El primer paso es instanciar el modelo en una variable y entrenarlo con tus datos. Antes de entrenar, necesitas aplicar un reshape a la variable independiente para que los datos queden organizados en una sola columna, como una tablita. Después defines la variable objetivo y ejecutas el ajuste.
Una vez entrenado el modelo, puedes imprimir tres elementos clave:
- El intercepto, que es el punto donde la recta cruza el eje Y.
- Los coeficientes, que indican el peso de cada variable.
- La R cuadrada, que mide qué tan bien se ajusta el modelo.
Al ejecutar la celda notarás algo interesante: los valores son prácticamente idénticos a los que obtuviste resolviendo la regresión a mano [01:00]. ¿Por qué? Porque internamente Scikit-Learn aplica una lógica muy parecida a la del cálculo con matrices transpuestas.
¿Qué hace Scikit-Learn al entrenar una regresión lineal? Calcula los coeficientes que minimizan el error entre los valores predichos y los reales, usando una aproximación matricial similar a la manual.
Por qué usar statsmodels para un enfoque estadístico
Los métodos anteriores se evalúan principalmente a través de los errores. El enfoque con statsmodels cambia la perspectiva: te permite revisar si cada coeficiente es estadísticamente significativo dentro del modelo y decidir si conviene mantenerlo o sacarlo.
El flujo es directo:
- Generas una variable que añade una constante al dataset, que será el intercepto.
- Ejecutas el modelo de mínimos cuadrados ordinarios (OLS) comparándolo con esa constante.
- Entrenas el modelo y obtienes un reporte completo.
Ese reporte incluye coeficientes, errores, p-values, R cuadrada y todo lo necesario para una evaluación estadística rigurosa. Para variables como X1, X2 y X3 verás no solo su valor, sino también qué tanta significancia aportan al modelo [02:30].
Si vienes de carreras cercanas a la estadística, esto te va a sonar familiar: una de las primeras cosas que se enseñan en regresión manual es decidir si meter o sacar un coeficiente según su significancia. Y si no vienes de ese mundo, no te preocupes, es simplemente otra ruta para llegar al mismo destino.
¿Qué es un p-value en regresión lineal? Es un indicador que te dice si un coeficiente aporta información real al modelo. Valores bajos (típicamente menores a 0.05) sugieren que la variable es significativa.
Cómo comparar y visualizar el rendimiento de los modelos
Hoy es más común usar librerías preestablecidas porque ofrecen soluciones rápidas y eficientes. Aun así, comparar resultados entre los tres enfoques (manual, Scikit-Learn y statsmodels) te da una visión más completa.
Qué gráficas revisar después de entrenar el modelo
Aunque el código de visualización parezca largo, en realidad solo estás definiendo título, eje X y eje Y. Las gráficas clave para una regresión múltiple son:
- Residuales contra predicción, donde la línea punteada marca el ajuste esperado.
- Cuantiles teóricos, que te ayudan a evaluar la normalidad.
- Valores reales contra valores predichos, con los puntos como datos reales y la línea punteada como predicción.
Cómo evaluar los supuestos de la regresión lineal
Una regresión lineal solo es confiable si cumple ciertos supuestos. La inspección visual te permite revisar tres puntos:
- La dispersión de residuos frente a las predicciones.
- La normalidad (o no normalidad) de los residuos.
- La calidad del ajuste general.
Si alguno de estos supuestos falla, probablemente necesites transformar variables o probar otro tipo de modelo.
Tu reto: implementar una regresión lineal completa
Ahora te toca a ti. Implementa un modelo de regresión lineal de principio a fin con estos pasos:
- Elige un dataset real, ya sea de Kaggle, datos abiertos o uno generado por ti.
- Realiza un análisis exploratorio de los datos.
- Implementa el modelo usando al menos dos enfoques distintos.
- Evalúa el rendimiento con diferentes métricas.
- Analiza los coeficientes e interpreta su impacto.
- Valida los supuestos del modelo.
Déjame en los comentarios cómo te fue al construir tu modelo y qué problemas encontraste en el camino. En la siguiente sesión vamos a entrar al aprendizaje no supervisado, el puente que necesitas para entender modelos más sofisticados y lo que sucede detrás del telón.