🧠 ¿Qué es la Regresión Lineal?
La Regresión Lineal es uno de los algoritmos más antiguos y sencillos en estadística y machine learning. Sirve para predecir valores numéricos continuos.
Ejemplo clásico: predecir el precio de una casa en función de los metros cuadrados.
🧪 ¿Qué tipo de problema resuelve?
Problemas de tipo:
- ¿Cuánto costará algo?
- ¿Cuál será el valor de algo en el futuro?
- ¿Qué impacto tiene una variable sobre otra?
En resumen: predice un número.
📊 ¿Cómo funciona?
La idea es dibujar una línea recta que pase lo más cerca posible de todos los puntos de tus datos. Esa línea intenta representar la relación entre tus variables.
Ecuación básica:
y=β0+β1xy = \beta_0 + \beta_1 xy=β0+β1x
Donde:
y
es lo que queremos predecir.x
es nuestra variable de entrada (por ejemplo, metros cuadrados).β₀
es el intercepto (donde la línea cruza el eje y).β₁
es la pendiente (cuánto sube o baja la línea por cada unidad de x).
🧠 ¿Qué aprende el modelo?
El modelo ajusta los valores de β₀
y β₁
para que la línea se acerque lo más posible a todos los puntos (minimizando el error cuadrático medio).
💡 Tipos de Regresión Lineal
Tipo | Uso |
---|---|
Simple | Una sola variable x para predecir y |
Múltiple | Varias variables x1, x2, x3... para predecir y |
Polinómica | Permite curvas en vez de líneas rectas (ej: x² , x³ , etc.) |
Ridge / Lasso (regularizada) | Añade penalizaciones para evitar que el modelo se sobreajuste (overfitting) |
🧰 ¿Qué necesitas para usarla?
- Variables independientes (por ejemplo, edad, salario).
- Una variable dependiente (lo que quieres predecir).
- Limpieza básica: sin datos nulos, bien tipadas, etc.
📌 Supuestos (cosas que deben cumplirse idealmente)
- Relación lineal entre variables.
- Los errores (residuos) deben distribuirse normal.
- No debe haber multicolinealidad (variables repetidas o súper parecidas).
- Homocedasticidad: la varianza de los errores debe ser constante.
No es grave si se rompen un poco, pero ayudan al rendimiento del modelo.
📉 Métricas para evaluar la regresión
- MSE (Mean Squared Error): promedio del cuadrado de los errores.
- RMSE (Raíz del MSE): más interpretable porque está en las mismas unidades.
- R² (R-cuadrado): qué tanto del resultado se explica con tus variables. Va de 0 a 1.
🧑💻 ¿Cómo se implementa en Python?
Aquí tienes un ejemplo básico con scikit-learn
:
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
# Simulamos datos
data = pd.DataFrame({
'metros_cuadrados': [50, 60, 80, 100, 120],
'precio': [100000, 120000, 160000, 200000, 240000]
})
# Variables
X = data[['metros_cuadrados']]
y = data['precio']
# Dividir datos en entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Crear y entrenar modelo
modelo = LinearRegression()
modelo.fit(X_train, y_train)
# Predecir
predicciones = modelo.predict(X_test)
# Evaluar
print("MSE:", mean_squared_error(y_test, predicciones))
print("R²:", r2_score(y_test, predicciones))
🎯 ¿Cuándo usar regresión lineal?
✅ Úsala cuando:
- Quieres predecir números reales.
- La relación entre tus variables es más o menos lineal.
- Quieres un modelo interpretable y rápido.
❌ Evítala cuando:
- Los datos son muy ruidosos o no lineales.
- Hay relaciones complejas entre variables.
- Necesitas mayor precisión o manejar muchas entradas categóricas.
📌 Resumen en simple
Concepto | Explicación clara |
---|---|
¿Qué hace? | Predice números |
¿Cómo lo hace? | Ajustando una línea recta |
¿Qué aprende? | Los coeficientes de esa línea |
¿Es interpretable? | Mucho |
¿Es potente? | Para problemas simples, sí |
¿Es la base de otros modelos? | ¡Totalmente sí! |