En este tutorial, profundizaremos en la implementación de un modelo de regresión lineal utilizando la biblioteca scikit-learn. Utilizaremos un conjunto de datos de ejemplo para predecir valores basados en una variable independiente.
1. Instalación de scikit-learn
Asegúrate de tener scikit-learn instalado en tu entorno de desarrollo:
pip install scikit-learn
2. Creación del Modelo de Regresión Lineal
Generación de Datos de Ejemplo
Comenzamos generando datos de ejemplo. En este caso, creamos una relación lineal con ruido gaussiano:
import numpy as np import matplotlib.pyplot as plt # Semilla para reproducibilidad np.random.seed(42) # Generar datos de ejemplo X = 2 * np.random.rand(100, 1) y = 4 + 3 * X + np.random.randn(100, 1)
En este código, X representa la variable independiente y y es la variable dependiente. Añadimos ruido gaussiano para simular un entorno más realista.
División de los Datos en Conjuntos de Entrenamiento y Prueba
Dividimos los datos en conjuntos de entrenamiento y prueba para evaluar el rendimiento del modelo:
from sklearn.model_selection import train_test_split # Dividir los datos en conjuntos de entrenamiento y prueba X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Creación y Entrenamiento del Modelo de Regresión Lineal
Ahora, creamos el modelo de regresión lineal y lo entrenamos con los datos de entrenamiento:
from sklearn.linear_model import LinearRegression # Crear el modelo de regresión lineal modelo = LinearRegression() # Entrenar el modelo modelo.fit(X_train, y_train)
Realización de Predicciones y Evaluación del Modelo
Hacemos predicciones utilizando el conjunto de prueba y evaluamos el rendimiento del modelo calculando el error cuadrático medio (MSE):
from sklearn.metrics import mean_squared_error # Realizar predicciones en el conjunto de prueba predicciones = modelo.predict(X_test) # Calcular el error cuadrático medio mse = mean_squared_error(y_test, predicciones) print(f"Error Cuadrático Medio: {mse}")
Visualización de Resultados
Finalmente, visualizamos los resultados utilizando la biblioteca matplotlib:
# Visualizar los resultados plt.scatter(X_test, y_test, color='black', label='Datos reales') plt.plot(X_test, predicciones, color='blue', linewidth=3, label='Regresión Lineal') plt.title('Regresión Lineal con scikit-learn') plt.xlabel('Variable Independiente') plt.ylabel('Variable Dependiente') plt.legend() plt.show()
Este código crea un gráfico de dispersión con los datos reales y la línea de regresión lineal predicha por el modelo.
3. Ejecución del Script
Guarda los cambios en regresion_lineal.py y ejecuta el script:
python regresion_lineal.py
En este tutorial, exploramos en detalle la implementación de un modelo de regresión lineal con scikit-learn en Python. Aprendiste a generar datos de ejemplo, dividirlos en conjuntos de entrenamiento y prueba, crear, entrenar y evaluar un modelo de regresión lineal, y visualizar los resultados.