Aplicación Práctica: Regresión Lineal (Aprendizaje Supervisado)
Aplicación Práctica: Regresión Lineal (Aprendizaje Supervisado)
Introducción algoritmo de regresión lineal:
La regresión lineal es un algoritmo de aprendizaje supervisado utilizado para modelar la relación entre una variable dependiente (la variable que queremos predecir) y una o más variables independientes (características utilizadas para hacer la predicción). El objetivo es encontrar la mejor línea (en el caso de la regresión lineal simple) o hiperplano (en el caso de la regresión lineal múltiple) que minimice la diferencia entre las predicciones del modelo y los valores reales.La ecuación de la regresión lineal simple es de la forma:$$y = mx + b$$
Donde:
$y$ es la variable dependiente que se quiere predecir
$x$ es la variable independiente
$m$ es la pendiente de la línea
$b$ es la ordenada al origen
El objetivo es encontrar los valroes de $m$ y $b$ que minimicen la suma de los cuadrados de las diferencias entre las predicciones y los valores reales.
El código se muestra a continuación:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# Generar datos ficticios
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# Dividir los datos en conjunto de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Entrenar el modelo de regresión lineal
model = LinearRegression()
model.fit(X_train, y_train)
# Hacer predicciones en el conjunto de prueba
y_pred = model.predict(X_test)
# Visualizar la regresión lineal
plt.scatter(X_test, y_test, color='black', label='Datos reales')
plt.plot(X_test, y_pred, color='blue', linewidth=3, label='Regresión Lineal')
plt.title('Regresión Lineal Simple con Datos Ficticios')
plt.xlabel('Variable Independiente (X)')
plt.ylabel('Variable Dependiente (y)')
plt.legend()
plt.show()
# Evaluar el modelo
mse = mean_squared_error(y_test, y_pred)
print(f'Error Cuadrático Medio en el conjunto de prueba: {mse}')
Cuyo resultado es el siguiente:
Este código genera datos ficticios, divide el conjunto de datos en conjuntos de entrenamiento y prueba, entrena un modelo de regresión lineal y evalúa su rendimiento en el conjunto de prueba. La visualización muestra los datos reales y la línea de regresión lineal ajustada.
Análisis de Resultados y Evaluación del Modelo:
Visualización:
La visualización muestra cómo la línea de regresión lineal se ajusta a los datos reales.
Evaluación:
Utilizamos el Error Cuadrático Medio (MSE) como métrica de evaluación. Cuanto menor sea el MSE, mejor es el rendimiento del modelo.
Interpretación:
La pendiente (m) y la ordenada al origen (b) se pueden interpretar en el contexto del problema real.
La pendiente representa el cambio promedio en la variable dependiente por unidad de cambio en la variable independiente. La ordenada al origen indica el valor de la variable dependiente cuando la variable independiente es cero. Este ejemplo proporciona una introducción práctica a la regresión lineal, pero es importante ajustar y evaluar modelos con datos reales y aplicaciones específicas para obtener resultados más significativos.

Comentarios
Publicar un comentario