Contenido del curso

- Caso práctico: Detección de fraude con Random Forest y evaluación de interpretabilidad

🧪 Caso práctico: Detección de fraude con Random Forest y evaluación de interpretabilidad

Odisea Algorítmica Random Forest Fraude financiero Interpretabilidad

En este taller implementarás un sistema de detección de transacciones fraudulentas utilizando Random Forest sobre un dataset sintético de transacciones. No solo entrenarás el modelo, sino que explorarás la importancia de cada variable (feature importance) y compararás el comportamiento del bosque aleatorio frente a un único árbol de decisión. Cada paso ha sido diseñado para que interiorices los fundamentos de la interpretabilidad en modelos ensemble.

🎯 Objetivo del caso: Construir, optimizar y explicar un clasificador Random Forest para fraude, dominando la ingeniería de atributos, validación cruzada y análisis de importancia.

1. Exploración y preparación de datos sintéticos

Generaremos un conjunto de 10 000 transacciones simuladas con características típicas de operaciones bancarias. La variable objetivo es_fraude está desbalanceada (≈ 3% de fraudes), lo que refleja entornos reales.

  • atributos numéricos: monto, hora del día, distancia entre sucursales, velocidad de tipeo, número de intentos fallidos.
  • atributos categóricos codificados: tipo de operación (3 categorías), país de origen (5 regiones).
  • ruido controlado: se agregan 3 variables irrelevantes (ruido) para evaluar la selección del modelo.
# Estructura del dataset sintético (primeras 5 filas)
| monto | hora | distancia | velocidad | intentos | tipo_op | pais | ruido1 | ruido2 | ruido3 | es_fraude |
|-------|------|-----------|-----------|----------|---------|------|--------|--------|--------|-----------|
| 1200  | 22   | 340.5     | 78.2      | 3        | 1       | 2    | 0.34   | 0.12   | 0.87   | 1         |
| 45    | 14   | 12.3      | 112.5     | 0        | 0       | 0    | 0.91   | 0.45   | 0.33   | 0         |

💡 Insight: la ingeniería de características incluye una transformación logarítmica del monto y una interacción entre velocidad e intentos. Esto ayuda al modelo a separar patrones sutiles de fraude.

2. Entrenamiento del modelo Random Forest con ajuste de hiperparámetros

Dividimos en entrenamiento (70%) y prueba (30%). Usamos validación cruzada estratificada de 5 pliegues para estabilizar la selección de hiperparámetros. Los valores óptimos se encuentran mediante búsqueda en cuadrícula (GridSearch).

  • n_estimators: [100, 300, 500]
  • max_depth: [6, 12, 18, None]
  • min_samples_split: [2, 5, 10]
  • class_weight: 'balanced' (esencial para desbalanceo)
# Hiperparámetros finales seleccionados (mejor rendimiento)
best_params = {
    'n_estimators': 300,
    'max_depth': 12,
    'min_samples_split': 5,
    'class_weight': 'balanced'
}
# Accuracy en validación cruzada: 0.972
# AUC-ROC medio: 0.989

Métrica clave: dado el desbalance, priorizamos precisión y sensibilidad (F1-score para clase minoritaria). Random Forest obtuvo un F1 = 0.87 en fraude, superando al árbol individual (F1 = 0.71).

3. Evaluación comparativa: Random Forest vs. Árbol de Decisión único

Entrenamos un árbol de decisión profundo (sin podar) con los mismos datos. La comparación expone las ventajas del ensemble en términos de varianza y capacidad de generalización.

ModeloAccuracyPrecision (fraude)Recall (fraude)F1-scoreAUC-ROC
🌲 Random Forest (300 árboles)0.9720.840.900.870.989
🌳 Árbol decisión (max_depth=15)0.9410.640.800.710.913

El árbol individual muestra sobreajuste y menor sensibilidad; el bosque aleatorio estabiliza las predicciones gracias al bagging y la aleatoriedad en características.

4. Interpretabilidad: importancia de características (feature importance)

Random Forest proporciona importancia basada en la reducción de impureza (Gini). A continuación mostramos las 5 variables más relevantes.

  1. monto_log (transformación logarítmica) – 0.31
  2. velocidad_intentos_interaccion – 0.22
  3. hora_del_dia – 0.17
  4. distancia – 0.14
  5. intentos_fallidos – 0.09

Las variables de ruido aparecen con importancia menor a 0.01, lo que valida la robustez del selector natural del modelo. Esta lista permite a los analistas de fraude focalizar sus reglas de negocio.

🔍 Comparación de interpretabilidad: El árbol individual también asigna importancia, pero su inestabilidad hace que el ranking varíe drásticamente con pequeños cambios en los datos. Random Forest ofrece un ranking mucho más confiable y reproducible.

5. Conclusiones del taller y aplicación práctica

Hemos construido un detector de fraude basado en Random Forest con métricas sólidas y una interpretación clara de las variables determinantes. Este enfoque no solo detecta transacciones sospechosas, sino que entrega a los equipos de compliance información explicable para auditoría.

  • Umbral de decisión: ajustable según tolerancia al riesgo (curva precision-recall).
  • Producción: el modelo puede exportarse con joblib e integrarse en pipelines de streaming.
  • Próximos pasos: probar SHAP values para explicaciones locales y detectar sesgos ocultos.

“La mejor detección de fraude es aquella que puedes explicar a un comité de auditoría”. Este caso práctico te da las herramientas para lograrlo.


Lección: Caso práctico: Detección de fraude con Random Forest y evaluación de interpretabilidad · Odisea Algorítmica

Taller práctico donde se implementa un sistema de detección de fraude usando Random Forest en un dataset sintético (ej. transacciones). Se incluye la exploración de datos, ingeniería de características, entrenamiento del modelo, ajuste de hiperparámetros (número de árboles, profundidad máxima) y evaluación con validación cruzada. Se analiza la interpretabilidad mediante la importancia de características (feature importance) y se compara con un árbol de decisión individual.
Calificación
0 0

No hay comentarios por ahora.