Métricas avanzadas
Las métricas avanzadas permiten evaluar modelos de forma más precisa, especialmente cuando el dataset está desbalanceado o cuando se requiere un análisis más profundo del rendimiento. En esta guía aprenderás métricas como ROC‑AUC, PR‑AUC, Log Loss y más.
Tabla de contenidos
- ROC Curve
- AUC (Area Under Curve)
- Precision‑Recall Curve
- PR‑AUC
- Log Loss
- Brier Score
- Ejercicios
- Mini‑proyecto
1. ROC Curve
La curva ROC muestra la relación entre el TPR (True Positive Rate) y el FPR (False Positive Rate) para diferentes umbrales.
from sklearn.metrics import roc_curve
fpr, tpr, thresholds = roc_curve(y_test, model.predict_proba(X_test)[:,1])
2. AUC (Area Under Curve)
AUC mide el área bajo la curva ROC. Valores cercanos a 1 indican excelente rendimiento.
from sklearn.metrics import roc_auc_score
auc = roc_auc_score(y_test, model.predict_proba(X_test)[:,1])
3. Precision‑Recall Curve
Útil en datasets desbalanceados. Muestra la relación entre precisión y recall para diferentes umbrales.
from sklearn.metrics import precision_recall_curve
precision, recall, thresholds = precision_recall_curve(y_test, model.predict_proba(X_test)[:,1])
4. PR‑AUC
PR‑AUC mide el área bajo la curva Precision‑Recall. Es más informativa que ROC‑AUC cuando hay desbalanceo.
from sklearn.metrics import average_precision_score
pr_auc = average_precision_score(y_test, model.predict_proba(X_test)[:,1])
5. Log Loss
Log Loss mide qué tan buenas son las probabilidades predichas por el modelo. Penaliza fuertemente las predicciones incorrectas con alta confianza.
from sklearn.metrics import log_loss
loss = log_loss(y_test, model.predict_proba(X_test))
6. Brier Score
El Brier Score mide la calidad de las probabilidades predichas. Valores bajos indican buenas predicciones probabilísticas.
from sklearn.metrics import brier_score_loss
brier = brier_score_loss(y_test, model.predict_proba(X_test)[:,1])
7. Ejercicios
- Genera una curva ROC.
- Calcula ROC‑AUC.
- Genera una curva Precision‑Recall.
- Calcula PR‑AUC.
- Calcula Log Loss y Brier Score.
# pista roc auc
roc_auc_score(y_test, model.predict_proba(X_test)[:,1])
# pista pr auc
average_precision_score(y_test, model.predict_proba(X_test)[:,1])
8. Mini‑proyecto: Métricas avanzadas
Toma un dataset real y realiza:
- Curva ROC
- Curva Precision‑Recall
- ROC‑AUC y PR‑AUC
- Log Loss
- Brier Score
- Comparación entre modelos usando métricas avanzadas