Repository navigation
¡Me complace anunciar la primera versión estable de mi proyecto de Machine Learning para la Predicción Temprana de Quiebra Empresarial!
Este proyecto es una demostración integral de un pipeline de Data Science e Ingeniería de Machine Learning, desde el procesamiento de datos hasta el despliegue en la nube.
📈 Características Principales:
- Pipeline de ML Robusto: Implementación de un flujo completo de preprocesamiento de datos financieros, incluyendo limpieza, manejo de outliers, imputación de valores faltantes y reducción de dimensionalidad (PCA).
- Modelado Predictivo Avanzado: Desarrollo y evaluación de múltiples modelos de clasificación (RandomForest, XGBoost, LightGBM, AdaBoost, GradientBoosting), con un enfoque en la optimización del Recall para la detección temprana de quiebras, utilizando técnicas de manejo de desbalance de clases (
class_weight='balanced'). - Análisis de Clustering (No Supervisado): Segmentación de empresas en perfiles de riesgo distintivos (bajo, moderado, extremo) utilizando KMeans sobre componentes PCA, proporcionando una capa adicional de contexto y comprensión del riesgo.
- Aplicación Web Interactiva (Streamlit): Una interfaz de usuario intuitiva que permite a los usuarios cargar datos de empresas, obtener predicciones de quiebra en tiempo real y visualizar análisis de riesgo detallados.
- Integración con IA Generativa (Groq API): Una característica clave que permite a la aplicación proporcionar análisis financiero contextualizado y conversacional, interpretando las predicciones del modelo y el perfil de clúster de cada empresa.
- Arquitectura Microservicios (Flask Backend): Un backend API RESTful desarrollado con Flask para gestionar la persistencia de los datos de las empresas analizadas en una base de datos Firebase Firestore.
- Contenerización con Docker: La solución completa está empaquetada en contenedores Docker (Streamlit y Flask) y orquestada con Docker Compose, garantizando un entorno de ejecución consistente, reproducible y portable.
- Despliegue en la Nube (Render): La aplicación ha sido exitosamente desplegada en Render, demostrando habilidades en el despliegue de soluciones de ML de principio a fin en un entorno de producción.
🛠️ Tecnologías Utilizadas:
- Lenguaje: Python 3.11
- ML/Análisis de Datos: Pandas, NumPy, Scikit-learn (RandomForestClassifier, PCA, KMeans), Joblib
- IA Generativa: Groq API (modelos Llama3)
- Desarrollo Web (Frontend): Streamlit
- Desarrollo Web (Backend): Flask, Requests
- Base de Datos: Google Firebase Firestore (con Firebase Admin SDK)
- Contenerización: Docker, Docker Compose
- Despliegue: Render, Docker Hub
- Control de Versiones: Git, GitHub
🚀 Cómo Probar la Aplicación Desplegada:
-
Accede al Frontend (Streamlit):
https://streamlit-bankrupcy-app.onrender.com -
Sube un Archivo de Datos:
Carga un archivo CSV con los datos financieros de una empresa (las columnas deben estar en un orden especifico) -
Explora las Funcionalidades:
- Observa la predicción de quiebra y la probabilidad.
- Revisa el clúster asignado y su perfil.
- Interactúa con la IA para obtener un análisis financiero detallado.
- Haz clic en "Guardar esta empresa en la Base de Datos" para ver la persistencia de datos.
💡 Habilidades Demostradas:
- Machine Learning: Preprocesamiento de datos (limpieza, imputación, outliers, escalado), selección de características, modelado predictivo, evaluación de modelos (Recall, Precision, F1-Score, ROC AUC), manejo de desbalance de clases, clustering.
- Ingeniería de ML: Serialización/deserialización de modelos (Joblib), integración de modelos en aplicaciones web.
- Desarrollo de Software: Python, Flask (API RESTful), Streamlit (UI/UX), integración de APIs externas.
- DevOps/Cloud: Contenerización (Docker, Docker Compose), despliegue en la nube (Render), gestión de imágenes Docker (Docker Hub), manejo seguro de credenciales (
.env, Secret Files). - Comunicación Técnica: Documentación del proyecto (README, Release Notes), análisis de negocio (modelo de precios, justificación de decisiones).
Agradezco cualquier feedback o consulta sobre el proyecto. Conéctate conmigo en: www.linkedin.com/in/josé-daniel-cristóbal-suárez
Licencia: Apache 2.0