- 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.
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.
| Modelo | Accuracy | Precision (fraude) | Recall (fraude) | F1-score | AUC-ROC |
|---|---|---|---|---|---|
| 🌲 Random Forest (300 árboles) | 0.972 | 0.84 | 0.90 | 0.87 | 0.989 |
| 🌳 Árbol decisión (max_depth=15) | 0.941 | 0.64 | 0.80 | 0.71 | 0.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.
- monto_log (transformación logarítmica) – 0.31
- velocidad_intentos_interaccion – 0.22
- hora_del_dia – 0.17
- distancia – 0.14
- 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.
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
joblibe 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
No hay comentarios por ahora.
Compartir este contenido
Compartir enlace
Compartir en redes sociales
Compartir por correo electrónico
Please iniciar sesión para compartir esto Artículo por correo electrónico.