// Proyecto · Deep Learning · Detección de anomalías

Detectar fraude bancario
sin ver un solo caso fraudulento.

Un autoencoder entrenado exclusivamente sobre transacciones legítimas aprende qué es "normal". Cuando una transacción no encaja con ese patrón, el error de reconstrucción la delata. PR-AUC 0.37 frente a 0.11 del baseline de Isolation Forest. Sin etiquetas de fraude necesarias.

// Métricas del modelo

PR-AUC (autoencoder)
0.37
vs 0.11 Isolation Forest
ROC-AUC
0.92
test set separado
Mejora vs baseline

sobre Isolation Forest
Export ONNX
verificado
max diff <1e-5 vs PyTorch

El problema

El fraude es raro.
Y esa rareza
complica todo.

01

Escasez de ejemplos fraudulentos. En datasets reales, el fraude representa menos del 0.2% de las transacciones. Entrenar un clasificador supervisado con tan pocos positivos produce modelos que ignoran la clase minoritaria.

02

Métricas engañosas. Un modelo que clasifica todo como "legítimo" consigue 99.8% de accuracy. Sin PR-AUC como métrica primaria, es fácil reportar resultados excelentes sobre un modelo inútil.

03

Data leakage silencioso. Escalar los datos con un StandardScaler ajustado sobre el conjunto completo (incluyendo test) infla artificialmente los resultados. La separación limpia es más difícil de lo que parece.

04

Modelos no portables. Un modelo PyTorch en un notebook no es un modelo desplegable. Sin export verificado a ONNX, el camino a producción está bloqueado.


Cómo funciona

PASO 01

Entrenamiento solo sobre normales

El autoencoder aprende a comprimir y reconstruir transacciones legítimas. Split estratificado 70/15/15 con assertions que verifican que el StandardScaler se ajusta solo sobre train — sin data leakage.

PASO 02

Error de reconstrucción como señal

En inferencia, el modelo intenta reconstruir la transacción. Las legítimas encajan bien (error bajo); las fraudulentas, que el modelo nunca aprendió, producen error alto. El umbral separa ambas distribuciones.

PASO 03

Evaluación honesta con PR-AUC

PR-AUC como métrica primaria para datos desbalanceados, comparado contra Isolation Forest (baseline). Resultado: 0.37 vs 0.11 — mejora de 3× sin etiquetas de fraude en entrenamiento.

PASO 04

Export ONNX verificado + demo

Modelo exportado a ONNX y verificado numéricamente contra PyTorch (diferencia máxima <1e-5). Demo React+Vite ejecuta el modelo idéntico en el navegador sin instalación, vía ONNX Runtime Web.

PyTorch hasta ONNX
hasta el navegador.

El mismo modelo viaja desde entrenamiento en PyTorch hasta una demo en el navegador, pasando por un export ONNX verificado numéricamente.

PyTorch ONNX Runtime scikit-learn React + Vite Python 3.10+ NumPy PR-AUC · ROC-AUC Isolation Forest GitHub Pages

Qué demuestra

ML no supervisado

Detección sin etiquetas de fraude

El modelo aprende solo de datos legítimos. Esto lo hace adaptable a nuevos tipos de fraude que los clasificadores supervisados no habrían visto durante entrenamiento.

Rigor de evaluación

PR-AUC, no accuracy

Uso de la métrica correcta para datos desbalanceados, con separación limpia de datos garantizada por assertions en código. Sin inflación artificial de resultados.

Portabilidad a producción

PyTorch → ONNX → navegador

El modelo no se queda en el notebook. Export ONNX verificado numéricamente, ejecutable tanto en servidor como en cliente sin dependencias Python.

Comparativa honesta

Baseline incluido

Los resultados se comparan contra Isolation Forest (baseline estándar para detección de anomalías) y Regresión Logística supervisada, mostrando el tradeoff real del enfoque no supervisado.


¿Te interesa este proyecto?

Relevante si...

  • Buscas un AI Engineer que conozca las trampas de evaluación en datos desbalanceados
  • Necesitas detección de anomalías sin datos etiquetados del fenómeno a detectar
  • Quieres ver PyTorch en producción: desde entrenamiento hasta demo desplegable
  • Valoras la comparativa honesta contra baselines en lugar de métricas aisladas

Menos relevante si...

  • Tienes suficientes etiquetas de fraude para un clasificador supervisado (mejor PR-AUC)
  • Necesitas precisión perfecta — el enfoque no supervisado tiene tasa de falsos positivos
  • Tu caso requiere explicabilidad por transacción individual más que detección de patrones

Proyectos relacionados

LightGBM · Azure OpenAI · FastAPI

Clarity Bank

Clasificación de transacciones en dos niveles. 96.1% de precisión, 95.6% menos coste que enviar todo al LLM.

Ver caso completo →
TensorFlow · OpenCV · TF.js

Sales Receptivity CNN

Emociones en tiempo real con índice de receptividad 0–10. Demo web sin instalación.

Ver caso completo →

Contacto

¿Buscas un AI Engineer?
Hablemos.

30 minutos. Sin compromiso. Si veo que puedo ayudarte, te lo digo. Si no, también.

Agendar videollamada →