Model Monitoring
Project description
Repository model_monitoring
La repository contiene il codice per implementare il monitoring dei sistemi di ML in produzione con 8 classi:
- PerformancesMeasures per computare le perfomances delle metriche
- PerfomancesDrift per computare il drift delle performances tra dati corrrenti e dati storici e generare un sistema di alerting
- DataDrift per computare il drift di dati tramite PSI (Population Stability Index) o test statistici (KS e Chi-Quadro) tra dati corrrenti e dati storici e generare un sistema di alerting
- ReferenceMetaData per computare un dizionario di metadati a partire da uno di riferimento
- FairnessMeasures per computare le performances delle metriche di fairness
- FairnessDrift per computare il drift delle performances di fairness tra dati corrrenti e dati storici e generare un sistema di alerting
- XAI per computare la spiegabilità di un modello tramite lo scoring delle features nelle predizioni
- XAIDrift per computare il drift nella spiegabilità del modello e generare un sistema di alerting
Guida per sviluppatori
- main branch ha una Policy che evita di inserire codice direttamente su di esso. Sono consentite solo Pull requests. Le Pull requests devono essere approvate da almeno 2 revisori, uno dei quali può essere il richiedente.
- Come best practice, il nome del ramo dovrebbe seguire questa convenzione di denominazione: NNN-related_work_item dove NNN è il numero assegnato da Azure all'elemento di lavoro correlato al ramo e related_work_item è il nome dell'elemento di lavoro sostituendo ' ' (spazi bianchi) con '_' (underscores). Tra il numero e il nome usa '-' (segno meno).
- Usa un virtual environment dedicato (guarda le note per il codice).
- Ricorda di riempire ed installare in modo opportuno i requirements.
pip install -r requirements.txt --trusted-host artifactory.group.credem.net -i https://artifactory.group.credem.net/artifactory/api/pypi/virtualPypi/simple
- Ricorda di intallare il pre-commit (solo per la prima volta)
pre-commit install
- Si noti che il pacchetto model_monitoring viene installato automaticamente installando i requirements. Se i requirements non vengono utilizzati, eseguire quanto segue per installare in editable mode:
pip install -e .
Struttura
model_monitoring/
|
└─── .pre-commit-config.yaml
|
└─── pyproject.toml
|
└─── LICENCE
|
└─── MANIFEST.in
|
└─── README.md
|
└─── requirements.txt
|
└─── setup.py
|
└─── .gitignore
|
└─── src/
|
└─── model_monitoring/
|
└─── __init__.py
|
└─── additional_metrics.py
|
└─── config.py
|
└─── imputer.py
|
└─── utils.py
|
└─── config
| params.yml
| algorithm_settings.yml
└─── model_performance
| __init__.py
| model_performance.py
└─── perfomance_measures
| __init__.py
| performance_measures.py
└─── data_drift
| __init__.py
| data_drift.py
└─── reference_metadata
| __init__.py
| reference_metadata.py
└─── fairness_measures
| __init__.py
| fairness_measures.py
└─── fairness_drift
| __init__.py
| fairness_drift.py
└─── XAI
| __init__.py
| XAI.py
└─── XAI_drift
| __init__.py
| XAI_drift.py
Utilizzo
Settare i parametri di configurazione algorithm_settings.yml
contenuto in config/
per definire i parametri generali delle classi e il path di salvataggio dei reports. Settare i parametri di configurazione in params.yml
contenuto in config/
per cambiare i parametri di threshold di default.
Una volta settati i parametri, si può lanciare un eventuale script python main.py
che a seconda dei parametri di configurazione printerà gli Alert di Performances, Data Drift, Fairness e XAI se ve ne sono, e salva i report riassuntivi delle classi.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for model_monitoring-2.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88f85a662cd21ad5efd493ff45e8929bdb8433e86a7c7df283499f03ef5a4996 |
|
MD5 | 3395c40fcae95c0d46f3174c1f22822a |
|
BLAKE2b-256 | 15f821439456d6e691b955201b193ff6c249ae382fa974074c936ea6da9fd546 |