Solución ejercicio diabetes
import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score from sklearn.datasets import load_diabetes # Cargar el conjunto de datos "Diabetes" diabetes = load_diabetes() df = pd.DataFrame(diabetes.data, columns=diabetes.feature_names) # Añadir la columna de progreso de la diabetes df['Progression'] = diabetes.target # Mostrar las primeras filas del DataFrame print(df.head()) # Dividir los datos en variables predictoras (X) y la variable objetivo (y) X = df.drop(columns=['Progression']) y = df['Progression'] # Dividir el conjunto de datos en entrenamiento y prueba (80% - 20%) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Crear el modelo de regresión lineal modelo = LinearRegression() # Entrenar el modelo con los datos de entrenamiento modelo.fit(X_train, y_train) # Predecir los valores de progreso de la diabetes con los datos de prueba y_pred = modelo.predict(X_test) # Calcular las métricas de error mse = mean_squared_error(y_test, y_pred) rmse = np.sqrt(mse) mae = mean_absolute_error(y_test, y_pred) r2 = r2_score(y_test, y_pred) # Mostrar los resultados print(f"Error Cuadrático Medio (MSE): {mse:.2f}") print(f"Raíz del Error Cuadrático Medio (RMSE): {rmse:.2f}") print(f"Error Absoluto Medio (MAE): {mae:.2f}") print(f"Coeficiente de Determinación (R²): {r2:.2f}")
Interpretación de los resultados
Aquí tienes la interpretación de los resultados proporcionados:
1. Error Cuadrático Medio (MSE): 2900.19
- Un MSE elevado indica que hay diferencias significativas entre las predicciones del modelo y los valores reales, lo que sugiere un ajuste del modelo con margen de mejora.
2. Raíz del Error Cuadrático Medio (RMSE): 53.85
- El RMSE proporciona una interpretación más clara que el MSE porque está en las mismas unidades que las predicciones y los valores reales. En este caso, un RMSE de 53.85 unidades sugiere que el modelo tiene un error significativo en sus predicciones.
3. Error Absoluto Medio (MAE): 42.79
- El MAE es una métrica más intuitiva para interpretar, ya que simplemente mide el error medio sin elevarlo al cuadrado. Un MAE de 42.79 significa que, en promedio, el modelo tiene una desviación de 42.79 unidades con respecto a los valores reales, lo que también sugiere errores considerables.
4. Coeficiente de Determinación (R²): 0.45
- Un R² de 0.45 sugiere que el modelo no captura bien la relación entre las variables independientes y dependientes. El modelo explica menos de la mitad de la variabilidad observada, lo que indica un ajuste pobre. Esto también se refleja en los valores relativamente altos de MSE, RMSE, y MAE.
Conclusión General:
Los resultados indican que el modelo tiene un rendimiento modesto. El error es relativamente alto (como lo indican el MSE, RMSE y MAE), y el R² sugiere que solo el 45% de la variabilidad en los datos es explicada por el modelo, dejando un 55% de variabilidad sin explicar. Esto sugiere que el modelo podría mejorarse significativamente añadiendo más variables predictoras, ajustando el modelo o probando con otros algoritmos.