Métricas de regresión
Introducción
En la evaluación de modelos de regresión, las métricas desempeñan un papel crucial. Nos permiten medir cuánto se acerca nuestro modelo a los datos reales y comprender el rendimiento general del mismo. Las métricas correctas no solo ayudan a optimizar nuestro modelo, sino que también proporcionan una base sólida para comparar diferentes modelos. En este artículo, exploraremos algunas de las métricas más comunes utilizadas en regresión con Scikit-learn y cómo interpretarlas adecuadamente.
Explicación principal
1. Métricas de Regresión
En la evaluación de modelos de regresión, comúnmente se utilizan las siguientes métricas:
a. Error Absoluto Medio (MAE)
El MAE mide el promedio del error absoluto entre los valores reales y los predichos. Es útil cuando queremos penalizar errores grandes.
from sklearn.metrics import mean_absolute_error
# Ejemplo de cálculo de MAE
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mae = mean_absolute_error(y_true, y_pred)
print("MAE:", mae)
b. Error Cuadrático Medio (MSE)
El MSE mide el promedio del cuadrado de los errores entre los valores reales y los predichos. Es sensible a los errores grandes debido al cuadrado.
from sklearn.metrics import mean_squared_error
# Ejemplo de cálculo de MSE
mse = mean_squared_error(y_true, y_pred)
print("MSE:", mse)
c. Raíz del Error Cuadrático Medio (RMSE)
El RMSE es simplemente la raíz cuadrada del MSE. Es útil para interpretar el error en las mismas unidades que los datos.
from math import sqrt
rmse = sqrt(mse)
print("RMSE:", rmse)
d. Error Absoluto Medio Relativo (MAPE)
El MAPE mide el promedio del error relativo absoluto, es decir, el error en términos de porcentaje. Es útil cuando queremos un indicador que muestre el error en términos relativos.
def mean_absolute_percentage_error(y_true, y_pred):
return np.mean(np.abs((y_true - y_pred) / y_true)) * 100
mape = mean_absolute_percentage_error(y_true, y_pred)
print("MAPE:", mape)
e. Coeficiente de Determinación (R² o R-squared)
El coeficiente de determinación nos dice cuánto del variabilidad en las variables dependientes puede ser explicada por el modelo.
from sklearn.metrics import r2_score
r2 = r2_score(y_true, y_pred)
print("R²:", r2)
2. Errores típicos / trampas
a. Ignorar la escala de los datos
Es común que las métricas como el MSE o RMSE se vean afectadas por una alta varianza en los valores del dataset. Asegúrate siempre de normalizar o estandarizar tus datos antes de calcular estas métricas.
b. Comparación inadecuada entre modelos
No es adecuado usar las mismas métricas para comparar modelos con escalas diferentes. Por ejemplo, no compare un modelo de regresión lineal con una escala de precio en miles con otro que tenga valores en centavos.
c. Olvidar la interpretación del MAPE
El MAPE es útil pero puede dar resultados falsamente optimistas o negativos si los datos contienen valores muy pequeños. También, el MAPE no está definido para valores reales iguales a cero.
3. Checklist accionable
a. Normalizar tus datos
Asegúrate de que tus datos estén en la misma escala antes de calcular las métricas.
b. Usar múltiples métricas
No dependas solo en una métrica, utiliza varias para obtener una visión más completa del rendimiento del modelo.
c. Comprobar la interpretación
Comprueba siempre que entiendes bien la interpretación de cada métrica y cómo se ve afectada por los datos específicos de tu problema.
d. Valida con validación cruzada
Asegúrate de usar técnicas como la validación cruzada para obtener una estimación más precisa del rendimiento del modelo en datos no vistos.
e. Comparar a través de múltiples conjuntos de datos
Si tienes múltiples conjuntos de datos, asegúrate de evaluar tu modelo con las mismas métricas en todos ellos para garantizar una comparación justa.
Cierre
Siguientes pasos
- Explorar más métricas: Descubre otras métricas como el Coeficiente de Spearman o Kendall, que pueden ser útiles en ciertos contextos.
- Practica con diferentes datasets: Asegúrate de entender cómo estas métricas se comportan con datos reales y no solo con conjuntos artificiales.
- Documenta tus procesos: Mantén un registro de las métricas utilizadas y su interpretación para futuras referencias y auditar el rendimiento del modelo.
Esperamos que este artículo te haya ayudado a entender mejor cómo evaluar los modelos de regresión con Scikit-learn. Recuerda siempre tener en cuenta la naturaleza específica de tus datos y tu problema para seleccionar las métricas más adecuadas.