3. Aplicación Práctica: Regresión Lineal
Aplicación Práctica: Regresión Lineal
(Aprendizaje Supervisado)
La regresión lineal es un algoritmo de aprendizaje supervisado utilizado para predecir valores numéricos en función de variables independientes. Aquí hay un ejemplo práctico de cómo se puede aplicar la regresión lineal:
Supongamos que tienes un conjunto de datos que contiene información sobre la cantidad de horas que una persona estudia y la puntuación que obtiene en un examen. Quieres predecir la puntuación en el examen en función de las horas de estudio.
Preparación de los datos:
- Tienes un conjunto de datos con pares de valores (horas_estudio, puntuacion_examen).
- Divide tus datos en conjuntos de entrenamiento y prueba. Por ejemplo, puedes usar el 80% de los datos para entrenar el modelo y el 20% restante para probarlo.
Entrenamiento del modelo:
- Utiliza la biblioteca de aprendizaje automático, como scikit-learn en Python, y selecciona la regresión lineal como tu modelo.
- Ajusta el modelo utilizando el conjunto de entrenamiento, donde las horas de estudio son las características (variables independientes) y la puntuación del examen es la variable objetivo (variable dependiente).
Validación del modelo:
- Una vez entrenado, utiliza el conjunto de prueba para evaluar el rendimiento del modelo.
- Calcula métricas como el error cuadrático medio (MSE) o el coeficiente de determinación (R-cuadrado) para ver qué tan bien se ajusta el modelo a los datos de prueba.
Predicción:
- Ahora que has entrenado y validado el modelo, puedes usarlo para predecir la puntuación en el examen para nuevas horas de estudio que no estaban en tu conjunto de datos original.
En este ejemplo, generaremos datos aleatorios y luego aplicaremos la regresión lineal para predecir valores.
# Instalamos scikit-learn si no está instalado
!pip install -U scikit-learn
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
# Generamos datos aleatorios para demostración
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1) # y = 4 + 3X + ruido gaussiano
# Dividimos los datos en entrenamiento y prueba
X_train, X_test, y_train, y_test = X[:80], X[80:], y[:80], y[80:]
# Creamos y entrenamos el modelo de regresión lineal
model = LinearRegression()
model.fit(X_train, y_train)
# Realizamos predicciones sobre el conjunto de prueba
y_pred = model.predict(X_test)
# Evaluamos el modelo
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print(f"Error cuadrático medio (MSE): {mse}")
print(f"Coeficiente de determinación (R²): {r2}")
# Graficamos los datos y la línea de regresión
plt.scatter(X, y, color='blue')
plt.plot(X_test, y_pred, color='red', linewidth=3)
plt.xlabel('X')
plt.ylabel('y')
plt.title('Regresión Lineal')
plt.show()
Resultados
.png)
Comentarios
Publicar un comentario