まとめ
- Hamming Loss: tasa de error por etiquetaの概要を押さえ、評価対象と読み取り方を整理します。
- Python 3.13 のコード例で算出・可視化し、手順と実務での確認ポイントを確認します。
- 図表や補助指標を組み合わせ、モデル比較や閾値調整に活かすヒントをまとめます。
1. Definición #
Sean \(Y_i\) los conjuntos de etiquetas verdaderas, \(\hat{Y}i\) los conjuntos predichos y \(L\) el número total de etiquetas: $$ \mathrm{Hamming\ Loss} = \frac{1}{nL} \sum{i=1}^n \lvert Y_i \triangle \hat{Y}_i \rvert $$ Donde \(Y \triangle \hat{Y}\) es la diferencia simétrica (etiquetas que solo aparecen en uno de los conjuntos). En escenarios multietiqueta equivale al número promedio de etiquetas incorrectas por muestra.
2. Cálculo en Python 3.13 #
python --version # ej.: Python 3.13.0
pip install scikit-learn
from sklearn.metrics import hamming_loss
print("Hamming Loss:", hamming_loss(y_true, y_pred))
y_true y y_pred deben ser matrices binarias 0/1 que indiquen la presencia de cada etiqueta (el resultado de MultiLabelBinarizer funciona muy bien).
3. Interpretación del puntaje #
- Cuanto más cerca de 0, mejor. Un clasificador perfecto da 0.
- Un valor de 0.05 significa que “en promedio el 5 % de las etiquetas se predijeron mal”.
- Si las etiquetas tienen diferente importancia, considera usar una versión ponderada del Hamming Loss.
4. Relación con otras métricas #
| Métrica | Qué mide | Cuándo usarla |
|---|---|---|
| Exact Match | Exactitud perfecta por muestra | Requiere coincidencia total del conjunto |
| Hamming Loss | Tasa de error por etiqueta | Conocer el número promedio de errores |
| Micro F1 | Equilibrio precision/recall | Considerar el desbalance de positivos/negativos |
| Índice de Jaccard | Solapamiento de conjuntos | Evaluar la similitud global de etiquetas |
Hamming Loss es menos estricta que Exact Match y ofrece una señal más gradual para iterar sobre el modelo.
5. Consejos prácticos #
- Recomendación de etiquetas: mide cuántas etiquetas se equivocan en promedio por ítem.
- Sistemas de alertas: controla la tasa de falsas alarmas cuando hay múltiples reglas simultáneas.
- Evaluación ponderada: aplica pesos según el impacto de cada etiqueta cuando el costo de error varía.
Conclusiones #
- Hamming Loss captura la tasa de error por etiqueta y facilita seguir la mejora en tareas multietiqueta.
hamming_lossde scikit-learn es sencillo de usar y complementa a Exact Match y F1 para obtener una visión integral.- Combínala con diagnósticos por etiqueta para priorizar la corrección donde los errores sean más costosos.