Fraud Detection Pipeline

Python LightGBM SHAP OpenML Datos reales ULB Split temporal FastAPI
Fraud Detection Pipeline
Pipeline de detección de fraude entrenado con el dataset real de ULB/Worldline (284.807 transacciones de tarjetas europeas, 492 fraudes, features V1–V28 anonimizadas por PCA para proteger datos bancarios). El reto real de este problema es el desbalanceo extremo (0,17% de fraude): por eso la métrica que se reporta en grande es AUC-PR (0.67 vs baseline de azar 0.0012), no un AUC-ROC inflado. Split temporal estricto (test = último 15%), umbral elegido en validación, LightGBM con scale_pos_weight y explicabilidad SHAP por transacción. La demo no usa formularios inventados: puntúa transacciones reales del test set y después revela la etiqueta verdadera — incluyendo los casos en los que el modelo falla, porque un recall del 71% significa que a veces falla.

Resultados

AUC-PR 0.67
la métrica que importa
baseline de azar: 0.0012 (prevalencia) → 560× mejor. AUC-ROC 0.91
284.807
transacciones REALES
tarjetas europeas, dataset ULB/Worldline (OpenML 1597), 492 fraudes
P 0.88 · R 0.71
precisión y recall en fraude real
MCC 0.79 · split temporal · umbral elegido en validación
Verdad revelada
la demo no esconde fallos
puntúa transacciones reales y muestra si el modelo acertó o falló

Funcionalidades implementadas

  • Manejo de clases desbalanceadas. Combina scale_pos_weight, SMOTE y threshold optimization para maximizar la detección de fraude sin disparar falsos positivos.
  • Explicabilidad waterfall por transacción. SHAP genera un waterfall plot por transacción: cada feature del IEEE-CIS contribuye (en rojo o azul) al score final de fraude.
  • Features V de comportamiento anónimo. Replicación del patrón de distribución lognormal fraud/legit del dataset IEEE-CIS para features de identidad anonimizadas.
  • Listo para integración real. API REST con schema IEEE-CIS, validación Pydantic y respuesta en <50ms. Desplegable como microservicio en producción.
Try Live Demo View Code
🤖 Asistente Virtual