Repository navigation
Nuevos Archivos
model_monitoring.py
Sistema completo de monitoreo de data drift que implementa:
Métricas de Drift:
- Kolmogorov-Smirnov (KS) test para variables numéricas
- Population Stability Index (PSI) para estabilidad de población
- Jensen-Shannon Divergence para similitud de distribuciones
- Chi-cuadrado para variables categóricas
Características:
- Clase DriftCalculator con métodos estadísticos
- Clase DataDriftMonitor para análisis completo
- Sistema de alertas por umbrales (Bajo/Moderado/Alto)
- Generación de reportes en JSON y CSV
- Visualización de drift por feature
- Comparación baseline vs current data
Umbrales configurados:
- PSI < 0.2 (aceptable)
- KS < 0.2 (aceptable)
- JS < 0.15 (aceptable)
- Chi² p-value > 0.05 (aceptable)
app_streamlit.py
Dashboard web interactivo para visualización de drift con:
Componentes Principales:
- Resumen ejecutivo con métricas clave
- Sistema de alertas visual (semáforo: 🟢🟡🔴)
- Gráficos interactivos con Plotly:
- Distribución de niveles de drift
- Gauges para métricas promedio (PSI, KS, JS)
- Top features con mayor drift
- Comparación de distribuciones (histogramas, boxplots)
- Filtros dinámicos por nivel y tipo de variable
- Análisis detallado por feature individual
- Tabla interactiva con todos los resultados
- Exportación de reportes en CSV
- Recomendaciones automáticas basadas en umbrales
Tecnologías UI:
- Streamlit para la aplicación web
- Plotly para gráficos interactivos
- CSS personalizado para estilo profesional
- Layout responsive de 2-3 columnas
- Tabs para organización de contenido
README.md
Documentación completa del proyecto que incluye:
Secciones:
- Problema de negocio y contexto
- Solución implementada con diagrama de arquitectura
- Descripción detallada del dataset (10,763 registros, 23 variables)
- Hallazgos principales del EDA:
- Desbalance crítico 95.25% vs 4.75%
- Variables más predictivas con tests estadísticos
- Multicolinealidad identificada
- Perfil de clientes con riesgo
- Pipeline de ML completo:
- Feature engineering con 4 features derivados
- Transformaciones por tipo de variable
- Balanceo con SMOTE
- Resultados de modelos (6 modelos entrenados)
- Sistema de monitoreo con 4 métricas de drift
- Guías de instalación paso a paso
- Instrucciones de uso detalladas
- Estructura del proyecto completa
- Stack tecnológico con badges
- Versionamiento y Git Flow
- Conclusiones, impacto de negocio, recomendaciones
Características:
- Badges profesionales (Python, Scikit-learn, Streamlit, etc.)
- Diagramas ASCII art
- Tablas comparativas formateadas
- Emojis estratégicos para navegación visual
- Links a documentación externa
- Secciones plegables
- Formato Markdown profesional
Actualizaciones
requirements.txt
Agregadas nuevas dependencias:
- streamlit==1.28.0 (dashboard web)
- plotly==5.17.0 (gráficos interactivos)
- scipy (actualizado para tests estadísticos)
Funcionalidad del Sistema
Flujo de Monitoreo:
- model_monitoring.py analiza drift periódicamente
- Genera reportes JSON/CSV en data/monitoring/
- app_streamlit.py lee reportes y visualiza
- Usuario ve dashboard en http://localhost:8501
- Sistema genera alertas si drift > umbral
- Recomendación automática de reentrenamiento
Casos de Uso:
- Monitoreo semanal/mensual de datos en producción
- Detección temprana de cambios poblacionales
- Decisión informada sobre reentrenamiento
- Análisis de estabilidad del modelo
- Comunicación visual con stakeholders
Estructura Generada
data/
└── monitoring/
├── drift_reports/
│ ├── drift_report_YYYYMMDD_HHMMSS.json
│ └── drift_report_YYYYMMDD_HHMMSS.csv
└── baseline_stats.pkl
Testing
model_monitoring.py ejecutado exitosamente
app_streamlit.py abre sin errores
Dashboard renderiza todas las visualizaciones
Filtros funcionan correctamente
Exportación de reportes operativa
Sistema de alertas responde a umbrales
Métricas de Código
- model_monitoring.py: ~500 líneas, 3 clases, 15+ métodos
- app_streamlit.py: ~600 líneas, layout multi-columna, 10+ gráficos
- README.md: ~800 líneas, 15 secciones principales
Próximos Pasos
Con V1.2.0 completado, el sistema está listo para:
- Deployment en servidor
- Automatización con cron jobs
- Integración con CI/CD
- Alertas por email/Slack
- API REST para predicciones