Evaluar una red neuronal correctamente significa ir mucho más allá del porcentaje de aciertos: necesitas métricas que te digan la verdad completa sobre tu modelo.
¿Tu modelo es bueno o solo tiene suerte?
Imagina que entrenas un modelo para detectar fraudes en pagos de Mercado Libre. Le das 10,000 transacciones para evaluar. El modelo predice que todas son legítimas. Sin revisar nada. Sin aprender nada.
¿Cuál crees que es su accuracy? Piénsalo un segundo.
Si solo el 5% de las transacciones son fraude, ese modelo perezoso tiene un 95% de accuracy. Suena impresionante. Pero es completamente inútil: nunca detecta ni un solo fraude.
Eso es la Trampa del 95%: cuando los datos están desbalanceados, la accuracy miente. Y en problemas reales —fraude, enfermedades, fallas industriales— los datos casi siempre están desbalanceados.
La matriz de confusión: el mapa completo
Antes de entender las métricas avanzadas, necesitas conocer la herramienta que las alimenta: la matriz de confusión.
Cuando tu modelo clasifica algo, puede tener cuatro resultados posibles:
- Verdadero Positivo (VP): predijo fraude y sí era fraude. ✅
- Verdadero Negativo (VN): predijo legítimo y sí era legítimo. ✅
- Falso Positivo (FP): predijo fraude pero era legítimo. ❌ (falsa alarma)
- Falso Negativo (FN): predijo legítimo pero era fraude. ❌ (error peligroso)
En el ejemplo del modelo perezoso de Mercado Libre: tiene 9,500 VN y 500 FN. Cero VP. Cero FP. Su accuracy es 95%, pero su utilidad práctica es cero.
La matriz de confusión te muestra exactamente dónde falla tu modelo. Es la diferencia entre ver un número bonito y entender la realidad.
Las cuatro métricas que sí te dicen la verdad
Accuracy (exactitud)
Es la más conocida y la más peligrosa cuando se usa sola.
Fórmula: (VP + VN) / Total de casos
Úsala solo cuando tus clases están balanceadas. Por ejemplo, si Bimbo clasifica imágenes de pan en buena calidad o mala calidad, y el 50% es de cada tipo, la accuracy es confiable.
Precisión
Responde la pregunta: "De todos los casos que mi modelo marcó como positivos, ¿cuántos realmente lo eran?"
Fórmula: VP / (VP + FP)
Alta precisión significa pocas falsas alarmas. Esto importa cuando el costo de una falsa alarma es alto. Ejemplo: si el sistema de Liverpool envía cupones de descuento solo a clientes con alta probabilidad de abandono, una baja precisión significa desperdiciar miles de pesos en descuentos innecesarios.
Recall (sensibilidad)
Responde la pregunta: "De todos los casos positivos reales, ¿cuántos detectó mi modelo?"
Fórmula: VP / (VP + FN)
Alto recall significa que el modelo no deja pasar casos positivos. Esto importa cuando el costo de un falso negativo es alto. En detección de fraudes para FEMSA, dejar pasar un fraude real es mucho más caro que una falsa alarma.
Un modelo con 100% de recall simplemente marcaría todo como positivo. Por eso precisión y recall están en tensión constante: mejorar uno tiende a empeorar el otro.
F1-Score: el balance entre precisión y recall
El F1-Score combina precisión y recall en un solo número equilibrado.
Fórmula: 2 × (Precisión × Recall) / (Precisión + Recall)
Es la media armónica, no la media simple. Eso significa que si uno de los dos valores es muy bajo, el F1 baja mucho. No puedes "compensar" un recall de 10% con una precisión de 90%.
Un F1 cercano a 1.0 significa que tu modelo es fuerte en ambas dimensiones. Un F1 de 0.5 o menos es señal de problemas serios.
El Marco de las Cuatro Lentes
Aquí está el principio central: no existe una sola métrica perfecta. Cada una ilumina un ángulo diferente del desempeño. El Marco de las Cuatro Lentes te dice cuándo usar cada una:
| Situación | Métrica prioritaria |
|---|---|
| Clases balanceadas | Accuracy |
| Alto costo de falsa alarma | Precisión |
| Alto costo de falso negativo | Recall |
| Balance general del modelo | F1-Score |
Ejemplo concreto con datos reales: supón que entrenas un modelo para el SAT que detecta declaraciones fiscales fraudulentas entre 100,000 presentadas. Solo 1,000 son fraude (1%).
- Modelo A: Accuracy 99%, F1 de 0.02. Nunca detecta nada.
- Modelo B: Accuracy 96%, F1 de 0.71. Detecta la mayoría de fraudes con pocas falsas alarmas.
El Modelo B es claramente superior aunque tenga menor accuracy. El F1 revela la verdad.
Cómo calcular estas métricas en Python
Con scikit-learn, el proceso es directo:
from sklearn.metrics import classification_report, confusion_matrix
# y_real son las etiquetas verdaderas
# y_pred son las predicciones de tu modelo
y_real = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]
y_pred = [1, 0, 0, 1, 0, 1, 1, 0, 1, 0]
print(confusion_matrix(y_real, y_pred))
print(classification_report(y_real, y_pred))
El classification_report te entrega de un solo golpe: precisión, recall y F1 para cada clase. Es la función más honesta que existe para evaluar clasificadores.
El error que cometen el 80% de los equipos de IA en México
Hay un error sistemático que aparece en proyectos de startups hasta en empresas grandes: evaluar el modelo con los mismos datos con que se entrenó.
Si usas los mismos datos para entrenar y para medir, el modelo parece perfecto porque simplemente memorizó las respuestas. Eso se llama sobreajuste (overfitting).
La solución es siempre dividir tus datos en tres partes desde el inicio:
- Entrenamiento (70%): aquí aprende el modelo.
- Validación (15%): aquí ajustas hiperparámetros y comparas versiones.
- Prueba (15%): aquí mides el desempeño final. Solo lo usas una vez.
Un modelo con 98% de F1 en entrenamiento y 61% en prueba tiene overfitting severo. No sirve en producción.
Un caso real: detección de productos dañados en Bimbo
Imagina que Bimbo usa visión computacional para detectar pan dañado en la línea de producción. De cada 1,000 panes revisados, 50 están dañados (5%).
Equipo A entrega un modelo con accuracy de 96%. El gerente queda feliz.
Pero al calcular el F1:
- Precisión: 0.60 (40% de falsas alarmas, desperdicio de producto bueno)
- Recall: 0.40 (60% de panes dañados pasan desapercibidos)
- F1-Score: 0.48
Equipo B entrega un modelo con accuracy de 93%. Parece peor.
Pero su F1:
- Precisión: 0.85
- Recall: 0.82
- F1-Score: 0.83
El Equipo B tiene el modelo útil. El Equipo A casi entregó el modelo perezoso disfrazado de éxito.
Este tipo de diferencia puede costar entre $80,000 y $200,000 anuales en producto desperdiciado o rechazos no detectados en una planta de escala nacional.
Cuándo usar cada métrica según tu proyecto
No todos los proyectos necesitan la misma prioridad:
- Detección de fraudes (Mercado Libre, bancos): prioriza recall. Es peor dejar pasar un fraude que generar una falsa alarma.
- Recomendaciones de productos (Liverpool, Amazon México): prioriza precisión. Una mala recomendación daña la experiencia del usuario.
- Diagnóstico médico o auditorías del IMSS: prioriza recall. Un falso negativo puede tener consecuencias graves.
- Clasificación de correos o tickets de soporte: usa F1. El balance importa más que cualquier extremo.
Definir tu métrica objetivo antes de entrenar el modelo es una regla de oro en proyectos profesionales. Si no sabes qué estás optimizando, no sabes si lograste algo.
La honestidad como ventaja competitiva
Los mejores equipos de IA en México no son los que tienen los modelos más complejos. Son los que saben leer sus métricas con honestidad.
Un modelo con F1 de 0.79 que el equipo entiende a fondo es más valioso que un modelo con accuracy de 97% que nadie sabe interpretar. La transparencia en la evaluación genera confianza con los clientes, los inversionistas y los equipos de negocio.
Medir bien es tan importante como construir bien.