4.3.3
ROC-AUC
Resumen
- ROC-AUC | Guía para ajustar umbrales y comparar modelosの概要を押さえ、評価対象と読み取り方を整理します。
- Python 3.13 のコード例で算出・可視化し、手順と実務での確認ポイントを確認します。
- 図表や補助指標を組み合わせ、モデル比較や閾値調整に活かすヒントをまとめます。
1. Qué representan la curva ROC y el AUC #
La curva ROC traza la tasa de falsos positivos (FPR) en el eje x y la tasa de verdaderos positivos (TPR) en el eje y mientras variamos el umbral entre 0 y 1. El AUC toma valores entre 0.5 (azar) y 1.0 (separación perfecta).
- AUC ≈ 1.0 → el modelo distingue muy bien ambas clases.
- AUC ≈ 0.5 → comportamiento aleatorio.
- AUC < 0.5 → la predicción puede estar “invertida”, por lo que cambiar el signo o el umbral podría mejorarla.
2. Implementación y visualización con Python 3.13 #
Comprueba el intérprete e instala las dependencias:
| |
El código siguiente entrena una regresión logística sobre el conjunto Breast Cancer, genera la curva ROC y guarda la figura en static/images/eval/classification/rocauc. Es compatible con generate_eval_assets.py para regenerar los activos cuando sea necesario.
| |

El área bajo la curva (AUC) resume la capacidad del modelo para ordenar correctamente las clases.
3. Uso práctico para ajustar umbrales #
- Dominios sensibles al recall (salud, fraude): selecciona un punto de la curva que maximice TPR con un FPR aceptable.
- Balance precisión–recall: los modelos con AUC alto suelen mantener buen rendimiento en un rango amplio de umbrales.
- Comparación de modelos: el AUC ofrece un escalar independiente del umbral para evaluar alternativas antes de elegir el punto de operación. Combina ROC-AUC con el análisis de precisión–recall para comprender el costo de mover el umbral.
4. Lista de comprobación operativa #
- Revisa el desbalanceo – incluso con AUC ≈ 0.5, otro umbral puede rescatar casos valiosos.
- Prueba pesos de clase – observa si ajustar los pesos mejora el AUC.
- Comparte la visualización – incluir la curva ROC en dashboards facilita discutir trade-offs con el equipo.
- Notebook reproducible en Python 3.13 – mantener el flujo documentado agiliza las reevaluaciones tras cada retraining.
Resumen #
- ROC-AUC mide la capacidad de un modelo para ordenar los positivos por encima de los negativos a lo largo de todos los umbrales.
- En Python 3.13, RocCurveDisplay y oc_auc_score simplifican el cálculo y la visualización.
- Úsalo junto a métricas de precision–recall para seleccionar umbrales acordes a los objetivos de negocio.