Métricas de evaluación para modelos de machine learning
Clase 12 de 20 • Curso de Fundamentos de Machine Learning
Resumen
Evaluar un modelo de machine learning es tan importante como entrenarlo. Al utilizar métricas específicas, es posible determinar qué tan bien está desempeñándose el modelo y si realmente puede usarse para tomar decisiones informadas. En este contexto, consideraremos cuatro métricas fundamentales: Error Cuadrático Medio (MSE), Raíz del Error Cuadrático Medio (RMSE), Error Absoluto Medio (MAE) y Coeficiente de Determinación (R²).
¿Qué métricas existen para evaluar modelos predictivos?
Cada métrica brinda información particular sobre el rendimiento del modelo:
- MSE penaliza fuertemente errores significativos al amplificarlos al cuadrado, lo que ayuda a detectar desviaciones considerables aunque la interpretación directa en términos prácticos (por ejemplo, goles) es complicada.
- RMSE convierte el MSE nuevamente a la escala original, proporcionando una interpretación más intuitiva y fácil de comunicar; muy útil para presentaciones a personas no especializadas técnicamente.
- MAE calcula el promedio directo de los errores absolutos, siendo robusto frente a valores extremos o outliers, con una interpretación clara y directa.
- Coeficiente R² muestra cuánto de la variación en los datos logra explicar el modelo, indicando su capacidad general para captar tendencias.
¿Cómo implementar estas métricas en Python?
Con bibliotecas como pandas, NumPy y funciones específicas de evaluación, se realiza un cálculo riguroso. Previamente, dividimos nuestros datos entre entrenamiento y validación con train test split, y ajustamos un modelo de regresión lineal usando
from sklearn.linear_model import LinearRegression
modelo_RL = LinearRegression()
modelo_RL.fit(X_train, y_train)
y_pred = modelo_RL.predict(X_test)
Luego, aplicamos las métricas mencionadas:
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
import numpy as np
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)
print(f"MSE: {mse:.2f}")
print(f"RMSE: {rmse:.2f}")
print(f"MAE: {mae:.2f}")
print(f"R²: {r2:.2f}")
Estas medidas aportan claridad al Informe Técnico sobre el rendimiento del modelo y facilitan la comunicación efectiva con distintos públicos interesados, como entrenadores o directivos.
¿Por qué usar múltiples métricas de evaluación?
Combinar varias métricas es clave pues así obtenemos un panorama integral del modelo:
- MSE y RMSE: Detectan desviaciones importantes.
- MAE: Presenta el error típico claramente.
- R²: Indica la proporción de la variabilidad explicada por el modelo.
Usadas conjuntamente, estas métricas proveen un diagnóstico robusto sobre la utilidad práctica del modelo y ayudan a decidir próximos pasos para ajustes y mejoras.
Te invito a compartir tus experiencias evaluando modelos o cualquier inquietud sobre las métricas mencionadas.