Sensibilidad / Especificidad

Eval

Sensibilidad y especificidad: equilibrar falsos negativos y falsos positivos

Creado: Última actualización: Tiempo de lectura: 2 min
まとめ
  • Sensibilidad y especificidad: equilibrar falsos negativos y falsos positivosの概要を押さえ、評価対象と読み取り方を整理します。
  • Python 3.13 のコード例で算出・可視化し、手順と実務での確認ポイントを確認します。
  • 図表や補助指標を組み合わせ、モデル比較や閾値調整に活かすヒントをまとめます。

1. Definición #

A partir de la matriz de confusión se obtienen las fórmulas: $$ \mathrm{Sensitivity} = \frac{TP}{TP + FN}, \qquad \mathrm{Specificity} = \frac{TN}{TN + FP} $$

  • Mayor sensibilidad implica menos positivos perdidos.
  • Mayor especificidad implica menos negativos marcados por error.

2. Cálculo en Python 3.13 #

python --version  # ej.: Python 3.13.0
pip install numpy scikit-learn
import numpy as np
from sklearn.metrics import confusion_matrix

cm = confusion_matrix(y_test, y_pred)  # [[TN, FP], [FN, TP]]
tn, fp, fn, tp = cm.ravel()

sensitivity = tp / (tp + fn)
specificity = tn / (tn + fp)

print("Sensibilidad:", round(sensitivity, 3))
print("Especificidad:", round(specificity, 3))

En scikit-learn, la sensibilidad aparece como recall. Para obtener la especificidad se puede usar recall_score(y_true, y_pred, pos_label=0) o calcularla manualmente como en el ejemplo.


3. Umbrales y trade-offs #

En modelos probabilísticos, ajustar el umbral de decisión modifica la sensibilidad y la especificidad.

from sklearn.metrics import roc_curve
fpr, tpr, thresholds = roc_curve(y_test, probas)
specificities = 1 - fpr
  • Cada punto de la curva ROC representa un par específico de sensibilidad y especificidad.
  • Si conocemos los costos de clasificación errónea, podemos optimizar el umbral usando métricas como el Índice de Youden o funciones de costo.

4. Índice de Youden y equilibrio #

El Índice de Youden ayuda a encontrar un equilibrio entre ambas métricas:

$$ J = \mathrm{Sensitivity} + \mathrm{Specificity} - 1 $$

El umbral que maximiza \(J\) ofrece un buen compromiso cuando importan ambos tipos de error.


5. Recomendaciones prácticas #

  • Priorizar la sensibilidad: En tamizajes de enfermedades graves se busca evitar falsos negativos.
  • Priorizar la especificidad: En sistemas antifraude se restringe el número de falsos positivos para no bloquear transacciones legítimas.
  • Informes claros: Presenta sensibilidad y especificidad junto a Accuracy para que los responsables evalúen los riesgos explícitamente.

Conclusiones #

  • La sensibilidad mide los positivos perdidos; la especificidad mide las falsas alarmas sobre negativos.
  • Al mover el umbral se intercambian ambas métricas; ajusta el balance a los costos del negocio.
  • Usa el Índice de Youden y métricas complementarias para revelar riesgos que Accuracy por sí solo no muestra.