Métricas de error con sklearn
La librería sklearn.metrics
proporciona varias métricas de error que son útiles para evaluar el rendimiento de modelos de regresión.
1. Mean Squared Error (MSE)
- Descripción: Mide el error cuadrático medio entre los valores reales y los predichos.
- Fórmula:
- Interpretación: Un valor más bajo de MSE indica un mejor ajuste.
- Ejemplo:
from sklearn.metrics import mean_squared_error y_true = [3, -0.5, 2, 7] y_pred = [2.5, 0.0, 2, 8] mse = mean_squared_error(y_true, y_pred) print(mse) # Salida: 0.375
2. Root Mean Squared Error (RMSE)
- Descripción: Es la raíz cuadrada del MSE, lo que lo hace interpretable en las mismas unidades que los valores de destino.
- Fórmula:
- Interpretación: Un RMSE más bajo indica un mejor ajuste.
- Ejemplo:
import numpy as np rmse = np.sqrt(mean_squared_error(y_true, y_pred)) print(rmse) # Salida: 0.612372
3. Mean Absolute Error (MAE)
- Descripción: Mide el error absoluto medio entre los valores reales y los predichos.
- Fórmula:
- Interpretación: Un MAE más bajo indica un mejor ajuste.
- Ejemplo:
from sklearn.metrics import mean_absolute_error mae = mean_absolute_error(y_true, y_pred) print(mae) # Salida: 0.5
4. Mean Absolute Percentage Error (MAPE)
- Descripción: Mide el porcentaje promedio de error absoluto. Es útil cuando se quiere comparar errores relativos.
- Fórmula:
- Ejemplo:
from sklearn.metrics import mean_absolute_percentage_error mape = mean_absolute_percentage_error(y_true, y_pred) print(mape) # Salida: 0.327 (32.7%)
5. R² Score (Coeficiente de Determinación)
- Descripción: Indica la proporción de la variación de la variable dependiente que es explicada por el modelo.
- Fórmula:
- Interpretación: Va de -∞ a 1. Un valor cercano a 1 indica un buen ajuste.
- Ejemplo:
from sklearn.metrics import r2_score r2 = r2_score(y_true, y_pred) print(r2) # Salida: 0.948608
6. Max Error
- Descripción: Mide el mayor error absoluto entre los valores predichos y los valores reales.
- Ejemplo:
from sklearn.metrics import max_error max_err = max_error(y_true, y_pred) print(max_err) # Salida: 1.0