Este proyecto desarrolla un modelo de Machine Learning orientado a la detección de reportes fraudulentos, mediante el análisis de datos, preprocesamiento de variables y entrenamiento de modelos predictivos.
El trabajo fue realizado como parte del Módulo 4 – Machine Learning del programa de Educación Continua en Data Science de la ESPOL.
Diseñar, entrenar y evaluar un modelo capaz de clasificar reportes como fraudulentos o no fraudulentos, utilizando técnicas estándar de ciencia de datos y aprendizaje automático.
El conjunto de datos utilizado contiene información estructurada asociada a reportes, incluyendo variables numéricas y categóricas relevantes para la detección de fraude.
Durante el desarrollo del proyecto se realizaron procesos de:
- Limpieza de datos
- Transformación de variables
- Preparación de datos para modelado
El archivo result_test.csv corresponde a las predicciones generadas por el modelo sobre el conjunto de prueba.
La metodología seguida en el proyecto se divide en las siguientes etapas:
- Análisis exploratorio de datos (EDA)
- Limpieza y preprocesamiento
- Ingeniería de características
- Entrenamiento de modelos de Machine Learning
- Evaluación del desempeño del modelo
- Generación de resultados finales
El análisis exploratorio y la experimentación se documentan en un notebook de Jupyter, mientras que la lógica principal del modelo se implementa en un script de Python.
El presente proyecto abordó el problema de la detección de reportes fraudulentos mediante técnicas de Machine Learning, siguiendo un flujo completo de análisis de datos, preparación, modelado, evaluación e interpretabilidad. A partir del trabajo realizado, se concluye lo siguiente:
- El preprocesamiento de los datos fue un factor clave en el desempeño de los modelos, especialmente en un contexto de fuerte desbalance entre clases. La correcta transformación de variables y selección de características permitió obtener modelos más estables y comparables.
- El uso de métricas orientadas a la clase minoritaria, como recall, F1-score y ROC-AUC, resultó fundamental para evaluar de forma adecuada la capacidad del modelo para detectar reportes fraudulentos, evitando interpretaciones engañosas basadas únicamente en la exactitud.
- Los resultados obtenidos evidencian que el modelo seleccionado logra un balance razonable entre sensibilidad al fraude y control de falsos positivos, lo cual es crucial para su posible aplicación en escenarios reales.
- La incorporación de técnicas de interpretabilidad mediante SHAP permitió comprender el comportamiento interno del modelo, identificando las variables con mayor contribución en la predicción de fraude. Este análisis aportó transparencia al modelo y facilitó la validación de los resultados desde una perspectiva de negocio.
- Los valores SHAP confirmaron que las variables más influyentes en la detección de fraude están alineadas con patrones lógicos y esperados, lo que incrementa la confianza en el modelo y reduce el riesgo de decisiones basadas en correlaciones espurias.
- El análisis global y local proporcionado por SHAP permitió explicar tanto el impacto general de las variables como casos individuales de predicción, lo cual es especialmente relevante en contextos donde la explicabilidad es un requisito clave, como sistemas de detección de fraude.
- El flujo de trabajo desarrollado es reproducible, interpretable y escalable, sentando una base sólida para futuras mejoras y posibles implementaciones en entornos productivos.
El desarrollo del proyecto se realizó utilizando el siguiente stack tecnológico:
- Lenguaje: Python
- Análisis de datos: Pandas, NumPy
- Machine Learning: Scikit-learn
- Visualización: Matplotlib, Seaborn
- Entorno de desarrollo: Jupyter Notebook
- Control de versiones: Git y GitHub
Detección_Reportes_Frudulentos/
│
├── Grupo_Epsilon.ipynb # Análisis exploratorio y experimentación
├── Grupo_Epsilon.py # Implementación del modelo y pipeline
├── result_test.csv # Resultados de predicción
└── README.md # Documentación del proyecto
Para garantizar la reproducibilidad del proyecto:
- El código fuente se encuentra versionado en GitHub.
- El análisis exploratorio y los experimentos están documentados en el notebook.
- El script principal permite ejecutar el flujo completo del modelo.
- Los resultados generados se almacenan en archivos de salida reproducibles.
Se recomienda utilizar la misma versión de Python y las dependencias especificadas para obtener resultados consistentes.
Proyecto desarrollado para el Módulo de Machine Learning.
- Lissette Cabello Wilson
- Luis Días Huacón
- Leopoldo Zumba Soliz