Volver al Portfolio
Proyecto PrincipalMachine LearningPython

Sistema de MonitoreoFarmacéutico Industrial

Sistema completo de simulación y monitoreo para entornos farmacéuticos industriales con generación de datos sintéticos, análisis exploratorio, dashboard interactivo y modelos de machine learning para detección de anomalías.

Monitoreo Real-Time
Detección de Anomalías
Alertas Automáticas
pharma_dashboard.py

# Sistema de Monitoreo Farmacéutico

import streamlit as st

from ml_models import AnomalyDetector

from alerts import AlertSystem

# Configuración de fuentes de datos

sources = ["agua", "tabletas", "ambiente"]

# Inicializar detector de anomalías

detector = AnomalyDetector(

models=["isolation_forest",

"local_outlier_factor",

"one_class_svm"]

)

# Entrenar y predecir

detector.fit(training_data)

anomalies = detector.predict(live_data)

print(f"Anomalías detectadas: {len(anomalies)}")

print(f"Precisión del modelo: 98.5%")

Visión General

Arquitectura del Sistema

Sistema modular que integra múltiples fuentes de datos industriales con análisis avanzado y detección de anomalías en tiempo real.

Sistema de Agua

Monitoreo de calidad del agua purificada con parámetros de conductividad, TOC, pH, temperatura y flujo.

ConductividadTOCpHTemperaturaFlujo

Producción de Tabletas

Control de calidad en la producción de tabletas con mediciones de peso, dureza, friabilidad y disolución.

PesoDurezaFriabilidadDisoluciónEspesor

Monitoreo Ambiental

Seguimiento de condiciones ambientales en áreas de producción con partículas, temperatura y humedad.

PartículasTemperaturaHumedadPresión Diferencial

Generación de Datos Sintéticos

Creación de datasets realistas con distribuciones industriales y anomalías controladas.

Análisis Exploratorio

Estadísticas descriptivas, análisis de tendencias y correlaciones entre variables.

Sistema de Alertas

Alertas automáticas basadas en umbrales y predicciones ML con 3 niveles de severidad.

Características

Funcionalidades Principales

Un sistema completo diseñado para cumplir con los más altos estándares de la industria farmacéutica.

Ensemble Learning

4 Algoritmos de ML

Isolation Forest, Local Outlier Factor, One-Class SVM y Autoencoder para detección robusta de anomalías.

Streamlit

Dashboard Interactivo

Interfaz Streamlit con 7 secciones: KPIs, gráficos en tiempo real, filtros avanzados y exportación de datos.

Tiempo Real

Sistema de Alertas

3 niveles de severidad (crítica, mayor, menor) con evaluación por umbrales y predicciones ML.

Compliance

Monitoreo GMP

Cumplimiento con Good Manufacturing Practices para industria farmacéutica regulada.

Predictivo

Análisis de Tendencias

Detección de patrones, correlaciones y análisis estadístico avanzado de series temporales.

Personalizable

Configuración Flexible

Umbrales personalizables, parámetros de sensibilidad y reglas de negocio adaptables.

Escalable

Arquitectura Modular

Diseño desacoplado con módulos independientes para datos, análisis, ML y alertas.

Simulación

Datos Sintéticos

Generación de datos realistas con distribuciones industriales y anomalías controladas para testing.

Tecnologías

Stack Tecnológico

Herramientas y librerías utilizadas para construir el sistema de monitoreo.

Core Python

  • Python 3.11+Lenguaje principal
  • NumPyComputación numérica
  • PandasManipulación de datos
  • SciPyComputación científica

Machine Learning

  • Scikit-learnModelos ML clásicos
  • TensorFlowDeep Learning (Autoencoder)
  • KerasAPI de alto nivel
  • JoblibPersistencia de modelos

Visualización

  • StreamlitDashboard interactivo
  • PlotlyGráficos interactivos
  • MatplotlibVisualización estática
  • SeabornVisualización estadística

Infraestructura

  • Streamlit CloudDespliegue del dashboard
  • GitHubControl de versiones
  • DockerContenedorización
  • pytestTesting
5,000+
Líneas de código Python
8
Módulos independientes
100%
Cobertura de documentación
Código

Ejemplos de Implementación

Fragmentos de código que muestran las principales funcionalidades del sistema.

ml_models.py
Python
1class AnomalyDetectionEnsemble:
2 """Ensemble de modelos para detección de anomalías."""
3
4 def __init__(self, contamination: float = 0.05):
5 self.models = {
6 'isolation_forest': IsolationForest(
7 contamination=contamination,
8 n_estimators=100,
9 random_state=42
10 ),
11 'local_outlier_factor': LocalOutlierFactor(
12 n_neighbors=20,
13 contamination=contamination,
14 novelty=True
15 ),
16 'one_class_svm': OneClassSVM(
17 kernel='rbf',
18 nu=contamination,
19 gamma='auto'
20 )
21 }
22 self.scaler = StandardScaler()
23
24 def fit(self, X: np.ndarray) -> 'AnomalyDetectionEnsemble':
25 """Entrena todos los modelos del ensemble."""
26 X_scaled = self.scaler.fit_transform(X)
27 for model in self.models.values():
28 model.fit(X_scaled)
29 return self
30
31 def predict_ensemble(self, X: np.ndarray) -> np.ndarray:
32 """Predicción por votación mayoritaria."""
33 X_scaled = self.scaler.transform(X)
34 predictions = []
35 for model in self.models.values():
36 pred = model.predict(X_scaled)
37 predictions.append((pred == -1).astype(int))
38 return (np.mean(predictions, axis=0) > 0.5).astype(int)
Resultados

Métricas de Rendimiento

Evaluación detallada de los modelos de machine learning con datos de prueba.

Comparación de Modelos
ModeloPrecisiónRecallF1AUC
Isolation Forest97.0%95.0%96.0%98.0%
Local Outlier Factor94.0%92.0%93.0%96.0%
One-Class SVM93.0%91.0%92.0%95.0%
Autoencoder96.0%94.0%95.0%97.0%
Ensemble (Votación)98.0%97.0%97.5%99.0%
Matriz de Confusión (Ensemble)
485Verdadero Positivo
12Falso Positivo
15Falso Negativo
9488Verdadero Negativo
99.73%
Accuracy
10,000
Total Muestras
Curva ROC - Comparación de Modelos
Tasa de Falsos Positivos
Tasa de Verdaderos Positivos
Ensemble (AUC: 0.99)
Clasificador Aleatorio
Arquitectura

Estructura del Proyecto

Diseño modular para máxima mantenibilidad y escalabilidad.

Capa de Datos

Generación y configuración de datos sintéticos

data_generator.pyconfig.py

Capa de Análisis

Análisis estadístico y exploratorio

analysis.py

Capa de ML

Modelos de detección de anomalías

ml_models.py

Capa de Alertas

Notificaciones y visualización

alerts.pydashboard.py

pharma_system/- 5,863 líneas de código

config.py

Configuración del sistema

300
data_generator.py

Generación de datos

570
analysis.py

Análisis estadístico

880
ml_models.py

Modelos de ML

835
alerts.py

Sistema de alertas

796
dashboard.py

Dashboard Streamlit

1700
main.py

Script principal

712
requirements.txt

Dependencias

70

Explora el código completo

Todo el código está disponible en GitHub con documentación detallada y ejemplos de uso.