Regresión lineal en Machine Learning: qué es, para qué sirve y cómo aplicarla

  • La regresión lineal es fundamental para predecir valores numéricos y encontrar relaciones entre variables.
  • Su funcionamiento se basa en ajustar una ecuación lineal a los datos y se evalúa con métricas como R² o el error cuadrático medio.
  • Requiere que se cumplan ciertos supuestos estadísticos para que los resultados sean fiables en la práctica.

Regresión lineal en Machine Learning

¿Te intriga cómo los expertos en machine learning predicen el futuro a partir de datos pasados? ¿Te gustaría entender uno de los modelos matemáticos más sencillos y, a la vez, más potentes dentro del aprendizaje automático? La regresión lineal es un método estadístico clásico pero, a día de hoy, sigue estando en la base de muchísimas aplicaciones de inteligencia artificial, negocios y ciencia de datos. Si alguna vez has querido comprender qué es realmente la regresión lineal en machine learning, este artículo te guiará, paso a paso, de una forma sencilla y exhaustiva.

Vamos a sumergirnos en todos los detalles y aplicaciones de la regresión lineal, repasando desde los conceptos matemáticos esenciales hasta sus usos en herramientas modernas como scikit-learn o entornos como Google Colab. Prepárate para conocer cada aspecto clave, desde los supuestos que debes tener en cuenta antes de aplicar este modelo, hasta la interpretación de los resultados y la evaluación de su precisión. ¡Empezamos!

¿Qué es la regresión lineal en Machine Learning?

La regresión lineal es una de las técnicas más fundamentales y utilizadas en machine learning y estadística. Es un algoritmo supervisado que nos permite identificar y cuantificar la relación entre una variable dependiente (la que queremos predecir, normalmente denominada y) y una o más variables independientes (x, x1, x2, etc.). Esta relación se expresa como una ecuación de línea recta que se ajusta lo mejor posible a los datos observados.

De forma práctica, la regresión lineal te ayuda a responder preguntas del tipo: ¿Cómo varía el precio de una casa según sus metros cuadrados? ¿Qué relación existe entre la altura y el peso de una persona? ¿Cómo impacta la inversión en publicidad en las ventas de una tienda? Siempre que la relación entre dos o más variables sea, o pueda transformarse en, aproximadamente lineal, este algoritmo es aplicable.

Elementos básicos y fundamentos matemáticos

En su forma más simple, el modelo de regresión lineal simple se basa en la ecuación:

y = b0 + b1x

  • y: Variable dependiente (lo que queremos predecir o estimar)
  • x: Variable independiente (lo que usamos para predecir y)
  • b0: Intercepto o sesgo (valor de y cuando x es 0)
  • b1: Pendiente de la recta (indica cuanto cambia y por cada unidad de x)

Cuando hay más de una variable explicativa, hablamos de regresión lineal múltiple:

y = b0 + b1x1 + b2x2 + … + bnxn

En este caso, el modelo se adapta a problemas donde el resultado depende de varias características. Por ejemplo, para predecir el precio de un coche podrías tener en cuenta no solo la antigüedad, sino también la marca, los kilómetros, el tipo de combustible, etc. Si quieres profundizar en técnicas similares, puedes consultar las librerías de Python más usadas en machine learning para explorar estas herramientas.

Cómo funciona la regresión lineal: entrenamiento y predicción

El proceso de entrenamiento se basa en encontrar los valores óptimos para los coeficientes del modelo (b0, b1,…) que mejor se ajustan a los datos. El objetivo es minimizar la diferencia entre los valores predichos por el modelo y los valores observados, es decir, reducir el error.

La forma más habitual de lograrlo es mediante el método de mínimos cuadrados ordinarios (OLS, por sus siglas en inglés). Este método ajusta los coeficientes para que la suma de los cuadrados de los residuos (diferencias entre los valores reales y los estimados por la recta) sea lo menor posible.

Matemáticamente, se busca minimizar:

ECM = Σ(yi – ŷi)²

donde yi es el valor real y ŷi el predicho.

En machine learning moderno, este proceso puede automatizarse, por ejemplo, utilizando algoritmos de optimización como el descenso de gradiente, especialmente cuando trabajamos con grandes volúmenes de datos o múltiples variables.

Ejemplo práctico: predicción de eficiencia de combustible

Supongamos que queremos predecir la eficiencia de combustible de un automóvil (medida, por ejemplo, en millas por galón o km/l) a partir de su peso (en kg):

Al recolectar datos de varios coches y representar sus pesos frente a su consumo, podremos notar que los puntos tienden a alinearse en una tendencia descendente (a mayor peso, menor eficiencia). Graficando estos puntos, buscamos la línea de mejor ajuste que resuma esa relación.

  • La pendiente de la línea (b1) indicará cuánto disminuye la eficiencia por cada aumento de peso.
  • El intercepto (b0) estimará el consumo en un coche de peso 0 (aunque no tenga un sentido físico, sirve para el modelo matemático).

Tras ajustar la línea (por ejemplo, y = 34 + (-4,6)x), se puede predecir el consumo para coches con cualquier peso, incluso si no se observaron exactamente esos valores previamente.

Regresión lineal múltiple: cuando intervienen más variables

En muchas situaciones, hay múltiples factores influyendo. Por ejemplo, la eficiencia del combustible puede depender también del número de cilindros, tamaño del motor, aceleración, entre otros. En estos casos, la ecuación sería:

y = b0 + b1x1 + b2x2 + b3x3 + …

Cada bn refleja el impacto de cada característica en el resultado, permitiendo una interpretación clara y cuantificable de la influencia de cada una. Herramientas como o IBM facilitan la aplicación práctica y el ajuste de estos modelos.

Principales aplicaciones de la regresión lineal en Machine Learning

Su versatilidad es uno de sus mayores atractivos. Se usa en diversos sectores:

  • Ciencias empresariales y sociales: Para prever ventas, ingresos, evaluar promociones o analizar tendencias de consumo.
  • Biología y salud: Para correlacionar dosis y efectos, estudiar progresión de enfermedades o analizar factores de riesgo.
  • Ingeniería y medio ambiente: Para modelar consumo energético, predecir emisiones y evaluar impacto climático.
  • Finanzas y economía: Para calcular riesgos, valorar activos y prever tendencias macroeconómicas.

Además, la regresión lineal simple frecuentemente es el punto de partida para problemas de predicción con variable numérica. Estudios recientes destacan su uso continuo entre profesionales de datos y machine learning.

Cómo implementar una regresión lineal paso a paso con Python

Para hacerlo práctico, revisaremos las fases típicas en un proyecto desde cero usando la librería en Python y ejecutando en (¡gratuito y sin instalaciones!).

1. Preparación de los datos

Primero, carga el dataset, por ejemplo desde un archivo CSV. Sin complicaciones:

import pandas as pd
dataset = pd.read_csv('altura_pesos.csv')
X = dataset.iloc.values
y = dataset.iloc.values

X contiene la variable independiente (ej. altura), y y la dependiente (ej. peso).

2. División en conjuntos de entrenamiento y prueba

Es recomendable separar un porcentaje para evaluar el rendimiento final del modelo, como el 30%:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.30, random_state = 0)

De esta forma, se garantiza que la evaluación del modelo sea fiable y no esté sesgada. Si quieres profundizar en conceptos estadísticos relacionados, puedes consultar qué es la ANCOVA en estadística.

3. Entrenamiento del modelo

Se crea y entrena el modelo con LinearRegression:

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

Luego, puedes consultar los coeficientes obtenidos:

print('Intercepto (b0):', regressor.intercept_)
print('Pendiente (b1):', regressor.coef_)

4. Predicciones

Con el modelo entrenado, se realiza predicción de los datos de test o de nuevos valores:

y_pred = regressor.predict(X_test)
# Predicción para nuevas variables:
regressor.predict(, ])

5. Visualización de resultados

Visualizar ayuda a verificar el ajuste. Por ejemplo, usando matplotlib:

import matplotlib.pyplot as plt
plt.scatter(X_train, y_train, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Altura vs Peso (Entrenamiento)')
plt.xlabel('Altura')
plt.ylabel('Peso')
plt.show()

Así, podemos observar si la línea de predicción se ajusta a los datos reales. Si quieres entender en profundidad , este enlace puede ser útil.

6. Evaluación del modelo

Usamos métricas como el error cuadrático medio (ECM) y el coeficiente R2:

from sklearn.metrics import mean_squared_error, r2_score
y_predict = regressor.predict(X)
mse = mean_squared_error(y, y_predict)
r2 = r2_score(y, y_predict)
print('ECM:', mse)
print('R^2:', r2)

El ECM refleja cuánto se desvía en promedio la predicción del valor real, y el R2 qué proporción de la variabilidad total explica el modelo. Un R2 cercano a 1 indica un ajuste muy bueno. Para ampliar conocimientos sobre análisis de varianza y regresión, puede consultar descomposición de la varianza.

Interpretación de coeficientes, R2 y valor p

La interpretabilidad es una de las principales ventajas de esta técnica:

  • Pendiente (b1): Muestra cuánto cambia la variable dependiente por cada unidad en la variable explicativa. El signo determina si la relación es positiva o negativa.
  • Intercepto (b0): Es el valor estimado de la variable dependiente cuando todas las variables independientes valen cero.
  • R2: Indica qué proporción de la variación en la variable resultado puede explicarse por las variables independientes. Por ejemplo, un valor de 0.8 significa un 80% de explicación.
  • Valor p: Sirve para determinar si los efectos de las variables son estadísticamente significativos. Valores pequeños (menos de 0.05) confirman su importancia real en el modelo.

Supuestos clave de la regresión lineal: lo que siempre hay que comprobar

Antes de aplicar e interpretar la regresión, es fundamental verificar que se cumplen ciertos supuestos estadísticos:

  • Relación lineal: La relación entre las variables debe ser lineal o transformada para serlo (logaritmos, raíces, etc.).
  • Independencia de los residuos: Los residuos no deben presentar patrones o tendencias.
  • Normalidad: Los residuos deberían distribuirse normalmente, comprobable con gráficos Q-Q o histogramas.
  • Homocedasticidad: La dispersión de los residuos debe ser constante a lo largo de los valores predichos.

Cuando no se cumplen estas condiciones, puede ser necesario aplicar transformaciones o considerar diferentes modelos. Para entender más sobre qué es la regresión lineal machine learning, revisa los recursos recomendados.

Limitaciones y consideraciones prácticas

La regresión lineal es sencilla y efectiva en relaciones lineales, pero presenta limitaciones ante patrones más complejos o variables altamente correlacionadas. Para escenarios no lineales o con múltiples interacciones, se requieren modelos más avanzados como polinómicos, de series temporales o con regularización.

Recursos y enlaces útiles

Entender sus fundamentos, aplicarla correctamente y traducir los resultados en decisiones prácticas son habilidades clave en el análisis de datos. Dominar la regresión lineal es un paso fundamental que sienta las bases para comprender modelos más complejos y avanzar en el campo del aprendizaje automático.

Qué es ANCOVA: análisis de covarianza explicado paso a paso

Deja un comentario