Potest
Pipeline de ML para detección de fraude financiero — matriz de correlación de Pearson

Detección de Fraude Financiero — Proyecto Final Diploma UTEC

2025data-engineeringmachine-learningpythonutecfraud-detectionscikit-learn

Contexto


Este proyecto es el entregable final del Diploma en Analítica de Datos Aplicada e IA de UTEC (Universidad Tecnológica del Uruguay). El diploma cubrió el stack completo de ciencia de datos — desde fundamentos estadísticos hasta pipelines de ML en producción — y culminó con un proyecto aplicado sobre un dataset del mundo real.


El problema


La detección de fraude financiero es uno de los problemas de clasificación ML más difíciles: los datasets están severamente desbalanceados (las transacciones fraudulentas son típicamente el 0.1–1% del total), el costo de los falsos negativos (fraude no detectado) supera enormemente al de los falsos positivos, y la frontera de decisión suele ser no lineal.


El objetivo: construir un pipeline que maximice el recall de fraude manteniendo una precisión aceptable — el clásico trade-off precisión-recall.


Dataset


Un dataset de transacciones del mundo real con cientos de miles de registros y significativo desbalance de clases. Las features incluyen monto de transacción, tipo de comercio, señales temporales y patrones de comportamiento.


Enfoque


1. Análisis Exploratorio de Datos (EDA)


Usé Matplotlib y Seaborn para entender la distribución de las transacciones, el ratio de desbalance de clases, las correlaciones entre features y los patrones temporales de la actividad fraudulenta.


2. Feature Engineering y Preprocesamiento


  • Creación de features temporales (hora del día, día de la semana, frecuencia de transacciones)
  • Aplicación de transformación logarítmica en features de monto para reducir asimetría
  • Codificación de variables categóricas (categoría de comercio, tipo de tarjeta)
  • Uso de oversampling con SMOTE y ponderación de clases para abordar el desbalance

3. Comparación de Modelos


Se entrenaron y evaluaron tres familias de modelos:


ModeloNotas
Regresión LogísticaBaseline — interpretable y rápida
XGBoostGradient boosting con poda de árboles
CatBoostManeja categóricas de forma nativa; alto rendimiento out-of-the-box

Todos los modelos fueron evaluados con validación cruzada en precisión, recall, F1, AUC-ROC y AUC-PR (área bajo la curva precisión-recall — más informativa que AUC-ROC en datos desbalanceados).


4. Ajuste de Umbral


Los umbrales de clasificación por defecto (0.5) son subóptimos para fraude. Apliqué optimización de umbral para desplazar la frontera de decisión hacia mayor recall, aceptando un aumento controlado de falsos positivos.


Resultados


CatBoost logró el mejor AUC-PR en el conjunto de prueba, con un recall significativamente superior al baseline de Regresión Logística. El modelo final identifica correctamente la gran mayoría de transacciones fraudulentas manteniendo una tasa de falsos positivos manejable, adecuada para un sistema de triaje de primer nivel.


Lo que aprendí


  • Cómo diseñar un pipeline ML end-to-end para clasificación binaria desbalanceada
  • La diferencia crítica entre AUC-ROC y AUC-PR en datasets sesgados
  • Feature engineering práctico para datos transaccionales y de comportamiento
  • Cómo usar pipelines de scikit-learn para preprocesamiento + entrenamiento reproducibles
  • El razonamiento orientado al negocio detrás del trade-off precisión-recall en contextos de fraude