Please enable JavaScript.
Coggle requires JavaScript to display documents.
3.6 Regresión Lineal Múltiple. - Coggle Diagram
3.6 Regresión Lineal Múltiple.
La regresión lineal múltiple es una técnica de análisis supervisado que extiende la regresión lineal simple para modelar la relación entre una variable dependiente y dos o más variables independientes.
Es útil cuando se quiere predecir una variable continua basándose en múltiples factores.
Variables Independientes (X1, X2, ..., Xn): Las variables predictoras.
Variable Dependiente (Y): La variable objetivo que se quiere predecir.
Coeficientes (β1, β2, ..., βn): Representan la influencia de cada variable independiente en la variable dependiente.
Intercepto (β0): El valor de Y cuando todas las variables independientes son cero.
Fórmula de la Regresión Lineal Múltiple
Y=β0+β1X1+β2X2+...+βnXn
Bibliotecas
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
Datos de ejemplo
data = {
'Horas_Estudio': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Asistencia': [0, 1, 0, 1, 0, 1, 0, 1, 0, 1],
'Calificaciones': [11, 21, 31, 41, 51, 61, 71, 81, 91, 101]
}
df = pd.DataFrame(data)
Dividir en características y etiquetas
X = df[['Horas_Estudio', 'Asistencia']]
y = df['Calificaciones']
Dividir en conjunto de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
Crear y entrenar el modelo
model = LinearRegression()
model.fit(X_train, y_train)
Hacer predicciones
y_pred = model.predict(X_test)
Evaluar el modelo
mse = mean_squared_error(y_test, y_pred)
print(f"Error Cuadrático Medio: {mse}")
Coeficientes de la regresión
print(f"Pendiente (Horas de Estudio): {model.coef_[0]}")
print(f"Pendiente (Asistencia): {model.coef_[1]}")
print(f"Intercepto: {model.intercept_}")
Visualización de las predicciones
plt.scatter(X_test['Horas_Estudio'], y_test, color='blue', label='Datos Reales')
plt.scatter(X_test['Horas_Estudio'], y_pred, color='red', label='Predicciones')
plt.xlabel('Horas de Estudio')
plt.ylabel('Calificaciones')
plt.title('Regresión Lineal Múltiple')
plt.legend()
plt.show()