Cuando entrenamos un modelo de machine learning, no podemos confiar únicamente en que “parece que funciona”. Necesitamos métricas concretas que nos digan qué tan bien está desempeñándose nuestro modelo en realidad. Pero ojo, no todas las métricas sirven para todos los problemas.
El mito de la exactitud (accuracy)
Muchos cometen el error de fijarse solo en la exactitud: “mi modelo tiene un 95% de accuracy, es excelente”. Pero esto puede ser engañoso. Imagina un modelo para detectar una enfermedad rara que solo afecta al 1% de la población. Un modelo que siempre diga “no tiene la enfermedad” tendría 99% de accuracy, pero sería completamente inútil.
Métricas para problemas de clasificación
Cuando nuestro modelo predice categorías (como “spam” o “no spam”), debemos mirar más allá:
- Precisión: De lo que predijo como positivo, ¿cuánto realmente lo era?
Útil cuando los falsos positivos son costosos (ej. diagnóstico médico erróneo) - Recall (Sensibilidad): De todos los reales positivos, ¿cuántos identificó?
Importante cuando los falsos negativos son peligrosos (ej. fallar en detectar fraudes) - F1-Score: Combinación armónica de precisión y recall
Buen balance cuando necesitamos considerar ambos aspectos - Matriz de confusión: Tabla que muestra verdaderos/falsos positivos/negativos
Da una visión completa del desempeño del modelo
Evaluación para problemas de regresión
Cuando predecimos valores numéricos (como precios o cantidades), usamos:
- Error Cuadrático Medio (MSE): Promedio de los errores al cuadrado
Castiga más los errores grandes - Error Absoluto Medio (MAE): Promedio de los errores absolutos
Más fácil de interpretar que el MSE - R² (R cuadrado): Qué proporción de la variación es explicada por el modelo
Va de 0 a 1 (1 es predicción perfecta)
Validación cruzada: No pongas todos los huevos en una canasta
En lugar de dividir los datos una sola vez en entrenamiento/prueba, la validación cruzada (cross-validation) hace múltiples divisiones y promedia los resultados. Las versiones más comunes:
- k-fold: Divide los datos en k partes, usa k-1 para entrenar y 1 para test, rotando
- Leave-one-out: Versión extrema donde k = número de muestras
Curvas ROC y AUC
Para modelos de clasificación binaria, la curva ROC muestra el trade-off entre tasa de verdaderos positivos y falsos positivos al variar el umbral de decisión. El área bajo la curva (AUC) nos da un número entre 0.5 (aleatorio) y 1 (perfecto) para comparar modelos.
¿Qué métrica elegir?
Depende completamente de tu problema:
- Diagnóstico médico: Recall alto (no queremos dejar pasar casos positivos)
- Recomendación de productos: Precisión (mejor sugerir pocos productos relevantes)
- Predicción de precios: MAE o MSE según cómo quieras penalizar errores
Errores comunes al evaluar
- Evaluar solo con datos de entrenamiento (hello, overfitting!)
- No considerar el desbalanceo de clases
- Usar la misma métrica para problemas distintos
- Ignorar el costo de diferentes tipos de errores
Más allá de los números
Las métricas son importantes, pero también debemos considerar:
- Interpretabilidad: ¿Podemos entender y explicar las predicciones?
- Velocidad: ¿El modelo es suficientemente rápido en producción?
- Costo computacional: ¿Es viable mantenerlo operando?
En Conclusión, evaluar modelos de machine learning no es solo correr algunas métricas estándar. Requiere entender profundamente el problema de negocio, los costos de los diferentes tipos de errores, y cómo se usará el modelo en la práctica. Un buen científico de datos no solo sabe calcular estas métricas, sino que sabe cuáles son relevantes para cada situación particular.
Recuerda: ningún modelo es perfecto, pero con una evaluación rigurosa podemos elegir el que mejor se adapte a nuestras necesidades reales.