Métricas de Evaluación: Midiendo el Éxito de la IA

Guía sobre Accuracy, Precision, Recall y F1-Score para entender cuándo un modelo es realmente funcional.

metricasprecisionrecallf1-score

¿Cómo sabemos si un modelo es bueno?

No basta con decir que un modelo 'funciona'. Necesitamos métricas cuantitativas. La elección de la métrica depende totalmente del problema de negocio. Por ejemplo, en medicina, fallar al detectar una enfermedad (Falso Negativo) es mucho más grave que dar una falsa alarma (Falso Positivo).

La Matriz de Confusión

Es la base de la mayoría de las métricas de clasificación. Compara los valores reales con las predicciones:

  • Verdaderos Positivos (TP): Predijo 'Sí' y era 'Sí'.
  • Verdaderos Negativos (TN): Predijo 'No' y era 'No'.
  • Falsos Positivos (FP): Predijo 'Sí' pero era 'No' (Error tipo I).
  • Falsos Negativos (FN): Predijo 'No' pero era 'Sí' (Error tipo II).

Métricas Clave

  1. Accuracy (Exactitud): La proporción de predicciones correctas totales. Es engañosa si las clases están desbalanceadas (ej. 99% de los correos no son spam).

    • Fórmula: (TP + TN) / Total
  2. Precision (Precisión): De todos los que predije como positivos, ¿cuántos lo eran realmente? Útil cuando el coste de un FP es alto.

    • Fórmula: TP / (TP + FP)
  3. Recall / Sensibilidad: De todos los que eran realmente positivos, ¿cuántos logré capturar? Vital en detección de enfermedades.

    • Fórmula: TP / (TP + FN)
  4. F1-Score: La media armónica entre Precision y Recall. Es la mejor métrica cuando buscas un equilibrio entre ambas.

  5. Curva ROC y AUC: El área bajo la curva (AUC) nos dice qué tan bien el modelo puede distinguir entre clases. Un AUC de 0.5 es como lanzar una moneda, 1.0 es perfecto.

from sklearn.metrics import classification_report, confusion_matrix

# Supongamos predicciones y valores reales
y_true = [0, 1, 0, 1, 1]
y_pred = [0, 1, 0, 0, 1]

print(confusion_matrix(y_true, y_pred))
print(classification_report(y_true, y_pred))

Selección de Métrica según el Contexto

  • Detección de Fraude: Priorizamos el Recall (queremos atrapar a todos los estafadores, aunque molestemos a algún cliente inocente).
  • Filtro de Spam: Priorizamos la Precisión (no queremos que un correo importante de trabajo termine en la carpeta de correo no deseado).
🎯

Tarjeta práctica

Todo lo necesario para entender, aprender y aplicar este tema.

Evaluar un modelo de Inteligencia Artificial solo por su Accuracy (exactitud) es como juzgar a un portero de fútbol solo por los partidos ganados: no te dice cuántos goles dejó pasar por errores propios. En Machine Learning, las métricas nos permiten entender el tipo de errores que comete el modelo.

Imagina una prueba médica para una enfermedad rara:

  • Accuracy: ¿Qué porcentaje total de diagnósticos fue correcto? Si el 99% de la población está sana, un modelo que siempre diga 'Sano' tendrá un 99% de precisión, pero será inútil para salvar vidas.
  • Precision (Precisión): De todos los que el modelo marcó como enfermos, ¿cuántos lo estaban realmente? Es vital para evitar falsas alarmas.
  • Recall (Exhaustividad): De todos los enfermos reales, ¿a cuántos logró detectar el modelo? Es crítico cuando el costo de omitir un caso es alto.
  • F1-Score: Es el promedio armónico entre Precision y Recall. Si uno de los dos es muy bajo, el F1-Score castiga el resultado, ofreciendo una métrica balanceada.

Estas métricas se aplican en detección de fraude, diagnósticos médicos, filtros de spam y sistemas de recomendación, donde el costo de un Error Tipo I (Falso Positivo) y un Error Tipo II (Falso Negativo) es drásticamente diferente.