Python & Data Science

Referencia: Métricas de Evaluación

Una lista consolidada de las métricas de evaluación utilizadas en los artículos de estadística, MLOps, explicabilidad, series de tiempo y ML. Enlazada desde el desplegable 📚 Referencias de cada artículo.

Métricas de clasificación

NombreFórmulaRangoCuándo usarPunto ciegoUsado en
AccuracyTP+TNN\frac{TP+TN}{N}[0, 1]Clases balanceadasMiente con datos desbalanceados (99% en enfermedades raras)the-confusion-matrix…, which-score…
PrecisiónTPTP+FP\frac{TP}{TP+FP}[0, 1]Alto costo de falsos positivosIgnora los falsos negativoswhich-score…, is-your-model-actually-better…
Recall / SensibilidadTPTP+FN\frac{TP}{TP+FN}[0, 1]Alto costo de falsos negativos (enfermedades raras)Ignora los falsos positivoswhich-score…, the-confusion-matrix…
EspecificidadTNTN+FP\frac{TN}{TN+FP}[0, 1]Alto costo de FP (complemento del recall)the-confusion-matrix…
F12PRP+R\frac{2 \cdot P \cdot R}{P+R}[0, 1]Equilibra precisión y recall por igualNo pondera costos; no es interpretable a diferencia de P o Rwhich-score…
ROC-AUCárea bajo la curva TPR vs FPR[0, 1]Calidad del ranking; separabilidad de las clasesEngañoso bajo desbalance severo de claseswhich-score…
PR-AUCárea bajo la curva P vs R[0, 1]Desbalance severo de claseswhich-score…
Log-loss / Cross-entropy1n[ylogp^+(1y)log(1p^)]-\frac{1}{n}\sum[y\log\hat p + (1-y)\log(1-\hat p)][0, ∞)Clasificación probabilística; premia la buena calibraciónSensible a predicciones erróneas con exceso de confianzacalibration-curves…

Métricas de regresión / pronóstico

NombreFórmulaCuándo usarloPunto ciegoUsado en
MAE$\frac{1}{n}\sumy-\hat y$Robusto frente a valores atípicos; unidades interpretables
MSE1n(yy^)2\frac{1}{n}\sum(y-\hat y)^2Los errores grandes impactan fuertemente; gradiente suaveUnidades cuadradas; sensible a valores atípicosclassical-ml-p02 (pérdida), attention-p02 (retropropagación)
RMSE1n(yy^)2\sqrt{\frac{1}{n}\sum(y-\hat y)^2}Mismas unidades que y; los errores grandes son importantesIgual que el MSEevaluating-forecast-accuracy…
MAPE$\frac{100}{n}\sum\frac{y-\hat y}{y
MASEMAEnaive baseline MAE\frac{MAE}{\text{naive baseline MAE}}Comparar pronósticos entre series de diferentes escalasNecesita la línea base ingenua (último valor)evaluating-forecast-accuracy…
1SSresSStot1 - \frac{SS_{\text{res}}}{SS_{\text{tot}}}Proporción de varianza explicadaEngañoso para datos no lineales; nunca cae en out-of-sample si es negativobaseline-models…, classical-ml-p12 (stacking)
SMAPE$\frac{100}{n}\sum\frac{y-\hat y}{(y

Métricas de calibración de probabilidades

NombreFórmulaCuándo usarUsado en
Puntaje de Brier1n(p^y)2\frac{1}{n}\sum(\hat p - y)^2Precisión de la probabilidad (predicho frente a real 0/1)calibration-curves…
Diagrama de calibración / confiabilidadagrupar la prob. predicha → graficar frente a la precisión empíricaCuando la probabilidad en sí debe ser confiable (las decisiones dependen de ello)calibration-curves…
Error de calibración esperado (ECE)bnbnaccbconfb\sum_b \frac{n_b}{n}\|\text{acc}_b - \text{conf}_b\|Resumen de calibración de un solo númeromención

Métricas de espejo honesto (no te dejes engañar)

NombreEvalúaUtilizado en
Matriz de confusiónLas cuatro celdas a la vez (TP/FP/TN/FN)the-confusion-matrix…
Curva de aprendizajePuntuación de entrenamiento vs. validación a medida que N crece — diagnóstico de capacidadlearning-curves…
Curva de calibraciónProbabilidad predicha vs. realcalibration-curves…
Curva de upliftLift de segmentación vs. aleatoriocausal-inference-p07 (CATE)

Árboles de decisión (qué métrica usar para cada problema)

¿El resultado es sí/no?

  • ¿Desbalanceado? → no uses accuracy; PR-AUC + recall (precisión en un umbral)
  • ¿Dos tipos de errores tienen costos diferentes? → P/R basado en umbrales con una matriz de costos explícita
  • ¿Las probabilidades importan para una decisión posterior? → log-loss + curva de calibración

¿La salida es un número?

  • Importan los valores atípicos → usa MAE o MAPE (robusto), nunca solo MSE
  • Los errores grandes deben doler → RMSE o MSE
  • Compara pronósticos entre series de diferentes escalas → MASE
  • Si quieres una cifra de ”% de varianza explicada” → , pero lee la advertencia

Cantidades de la teoría de la información

NombreFórmulaRangoCuándo usarUsado en
EntropíaH(p)=ipilogpiH(p) = -\sum_i p_i \log p_i[0, ∞)Incertidumbre en una sola distribución: qué tan “disperso” está un conjunto de probabilidadesdecision-trees-from-scratch-how-splits-actually-get-made.md (Criterio de división por entropía)
Entropía cruzadaH(p,q)=ipilogqiH(p,q) = -\sum_i p_i \log q_i[0, ∞)La misma cantidad que la log-loss de arriba: qué tan bien una distribución predicha qq coincide con la verdadera ppVer la fila de Log-loss / Entropía cruzada más arriba
Divergencia KLDKL(pq)=ipilogpiqi=H(p,q)H(p)D_{KL}(p\|q) = \sum_i p_i \log\frac{p_i}{q_i} = H(p,q) - H(p)[0, ∞), 0 si y solo si p=qp=qLos “bits extra” que se desperdician al usar qq en lugar de la verdadera pp; es asimétrica (DKL(pq)DKL(qp)D_{KL}(p\|q) \neq D_{KL}(q\|p))Diagnósticos de calibración de modelos, inferencia variacional
Información mutuaI(X;Y)=x,yp(x,y)logp(x,y)p(x)p(y)I(X;Y) = \sum_{x,y} p(x,y)\log\frac{p(x,y)}{p(x)p(y)}[0, ∞)Cuánto reduce el conocer XX la incertidumbre sobre YY: se usa para selección de características y ganancia de informacióndecision-trees-from-scratch-how-splits-actually-get-made.md (Ganancia de información = información mutua entre una división y la etiqueta)
PerplejidadPPL=eH(p,q)=2H(p,q) (base 2)\text{PPL} = e^{H(p,q)} = 2^{H(p,q) \text{ (base 2)}}[1, ∞)Evaluación de LLM: el “número efectivo de opciones de siguiente token igualmente probables” entre las que el modelo se confunde; cuanto más bajo, mejorbuilding-a-miniature-transformer-from-scratch-the-lego-approach-to-deep-learning.md (entropía softmax sobre el vocabulario del mini-transformer), building-your-first-rag-pipeline-chunking-embedding-and-retrieval.md (evaluación de salida del LLM)

Las relaciones en una línea: la entropía cruzada es lo que realmente calculas (es la log-loss); la entropía es el piso de la entropía cruzada (lo mejor que cualquier modelo podría hacer, ya que q=pq=p); la divergencia KL es la diferencia entre ellas (H(p,q)H(p)H(p,q) - H(p)) — los bits desperdiciados por un modelo imperfecto; la perplejidad es simplemente la entropía cruzada exponenciada de vuelta a unidades de “número de opciones” para que sea más fácil razonar de manera intuitiva (una perplejidad de 8 significa que el modelo está, en promedio, tan incierto como si estuviera eligiendo uniformemente entre 8 opciones).

import numpy as np

# A 4-way classification: true label is class 0 (one-hot), model predicts a distribution
p_true = np.array([1.0, 0.0, 0.0, 0.0])       # true distribution (one-hot)
q_pred = np.array([0.7, 0.1, 0.1, 0.1])       # model's predicted distribution

cross_entropy = -np.sum(p_true * np.log(q_pred + 1e-12))
entropy_true = -np.sum(p_true[p_true > 0] * np.log(p_true[p_true > 0]))  # 0 for one-hot
kl_div = cross_entropy - entropy_true
perplexity = np.exp(cross_entropy)

print(f"Cross-entropy: {cross_entropy:.4f}")   # ~0.357
print(f"KL divergence: {kl_div:.4f}")          # ~0.357 (equals cross-entropy since entropy_true=0)
print(f"Perplexity: {perplexity:.4f}")         # ~1.43 — model is about as uncertain as choosing among ~1.4 options

Referencias cruzadas

  • Elige la métrica que importa: which-score-actually-matters-a-plain-english-guide-to-precision-recall-and-the-rest.md
  • Por qué la exactitud miente: the-confusion-matrix-why-it-s-the-honest-mirror-fo.md
  • Exactitud del pronóstico en la práctica: evaluating-forecast-accuracy-mape-rmse-and-why-averages-lie.md
  • Cuándo las probabilidades mienten: calibration-curves-when-your-model-s-probabilities-are-lying-to-you.md
  • Comparación honesta de modelos (¿es A realmente mejor que B?): is-your-model-actually-better-a-plain-english-guide-to-statistical-significance.md
  • Mapa de familias de algoritmos (qué métrica se adapta a qué algoritmo): algorithm-subcategory-map.md

Lecturas recomendadas

  • Powers, D. (2011). Evaluación: de Precisión, Recall y F-Factor.
  • Hyndman, R. & Athanasopoulos, G. (2018). Pronóstico: principios y práctica — capítulos sobre la exactitud del pronóstico.
  • Bröcker, J. (2009). Confiabilidad, suficiencia y la descomposición de puntajes propios. (Brier / CRPS)
  • Kaggle — Ventas de tiendas – Series de tiempo (uso de MAPE/MASE en un pronóstico real).
  • Kaggle — Home Credit Default Risk (compromiso entre precisión y recall en crédito desbalanceado).

Esta traducción fue generada automáticamente y puede contener errores. Si el idioma inglés es tu preferencia, puedes leer el artículo original en inglés .

  • Aprendizaje Automático En revisión

    Curvas de calibración: cuando las probabilidades de tu modelo te mienten

    Aprende por qué las probabilidades de los modelos suelen ser excesivamente confiadas, cómo diagnosticar esto con curvas de calibración y cómo solucionarlo mediante escalado de Platt o regresión isotónica.

  • Aprendizaje Automático En revisión

    Referencia: Regularización

    Una referencia completa que cubre L1, L2, dropout, BatchNorm, parada temprana y aumento de datos: cuándo usar cada técnica, con código de ejemplo en Python.

  • Aprendizaje Automático En revisión

    Referencia: Validación cruzada

    Una referencia práctica que cataloga todas las variantes de validación cruzada, cuándo recurrir a cada una, y las trampas de fuga de datos que convierten la CV de una salvaguarda en un espejismo.

  • Aprendizaje Automático En revisión

    Curvas de aprendizaje: Cómo leer la mente de tu modelo para corregir el sobreajuste y el subajuste

    Aprende a leer las curvas de aprendizaje para diagnosticar el sobreajuste y el subajuste, distinguir entre el alto sesgo y la alta varianza, y elegir la solución correcta para potenciar tu modelo.

¿Buscas otra cosa?

Busca en todos los artículos por título, resumen o tema.