Skip to main content

Model Monitoring

Project description

Status

Repository model_monitoring


La repository contiene il codice per implementare il monitoring dei sistemi di ML in produzione con sette classi:

  1. PerformancesMeasures per computare le perfomances delle metriche
  2. PerfomancesDrift per computare il drift delle performances tra dati corrrenti e dati storici e generare un sistema di alerting
  3. DataDrift per computare il drift di dati tramite PSI (Population Stability Index) tra dati corrrenti e dati storici e generare un sistema di alerting
  4. ReferenceMetaData per computare un dizionario di metadati a partire da uno di riferimento
  5. FairnessMeasures per computare le performances delle metriche di fairness
  6. FairnessDrift per computare il drift delle performances di fairness tra dati corrrenti e dati storici e generare un sistema di alerting
  7. XAI per computare la spiegabilità di un modello tramite lo scoring delle features nelle predizioni
  8. XAIDrift per computare il drift nella spiegabilità del modello e generare un sistema di alerting per le sole features più significative

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
        |
        └─── utils.py
        |
        └─── config
        |       drift_threshold.yml
        |       fairness_drift_threshold.yml
        |       algorithm_settings.yml
        |       grid_XAI.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 drift_threshold.yml e fairness_drift_threshold.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 se ve ne sono, e salva i report riassuntivi delle classi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

model_monitoring-1.1.14.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

model_monitoring-1.1.14-py3-none-any.whl (41.5 kB view details)

Uploaded Python 3

File details

Details for the file model_monitoring-1.1.14.tar.gz.

File metadata

  • Download URL: model_monitoring-1.1.14.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for model_monitoring-1.1.14.tar.gz
Algorithm Hash digest
SHA256 c8318dc9b5366fbfee0910043d74120150aa7c30b872351e319cb5d6b964fa4a
MD5 cbf424963737de32546a8b2e7493f5b9
BLAKE2b-256 fb520943361a7baebfc028ed745cdd98824b261e8d0f0d5b2fc590a0513ccfd3

See more details on using hashes here.

Provenance

File details

Details for the file model_monitoring-1.1.14-py3-none-any.whl.

File metadata

File hashes

Hashes for model_monitoring-1.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 f886d20e782c3d56e0e2a431658c5ab1f760eaf8281c4fff63ed5615a3299e41
MD5 cc7af1c46b3e40ae155b48670f4db545
BLAKE2b-256 a4dd8f83cd48e0796d3846cc2bcbb6c03d37af836cd3c98772ffe79d2723fa5b

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page