PerformancesDrift

class model_monitoring.model_performance.PerformancesDrift(perf_metrics_curr, config_threshold=None)

Classe utilizzata per monitorare e rilevare il Drift nelle metriche di performance di un modello.

La classe supporta due tipi di input:

  • “perf_metrics_curr”: le metriche correnti di performance vengono fornite come dizionario contenente le performance per ogni metrica.

  • “perf_metrics_historic”: le metriche storiche di performance vengono fornite come dizionario contenente le performance storiche per ogni metrica.

La classe verifica che le metriche correnti e storiche siano compatibili.

Permette una configurazione flessibile dove è possibile definire le metriche da monitorare, le soglie di allarme e le logiche di analisi specifiche per ciascuna metrica, oppure una configurazione di default tramite un file interno params.yml.

Descrizione dei parametri di configurazione per metrica:

  • logic: Specifica come interpretare il cambiamento della metrica ai fini del drift (vedi ‘Logiche di Drift Configurabili’ sotto).

  • relative: Contiene le soglie per il drift delle metriche di performance.

    • red/yellow: Soglie di variazione percentuale rispetto al valore storico.

  • absolute: Contiene le soglie assolute per le metriche di performance dei valori correnti.

    • red/yellow: Valori numerici che definiscono le soglie assolute per il valore corrente della metrica.

Funzionalità Principali:

  • Monitoraggio Assoluto: Confronta le performance correnti delle metriche con le soglie absolute impostate. Genera avvisi di tipo “red alert” o “yellow alert” se queste soglie vengono superate.

  • Monitoraggio Relativo: Valuta l’evoluzione delle metriche confrontando le performance correnti con quelle storiche. Genera avvisi basati sulle soglie relative impostate.

  • Logiche di Drift Configurabili (logic): Permette di definire come interpretare una variazione di performance ai fini del drift, in base alla natura della metrica:

    • “increase”: Un peggioramento si verifica se la metrica aumenta (es. per metriche come il tasso di errore, dove un valore più basso è migliore).

    • “decrease”: Un peggioramento si verifica se la metrica diminuisce (es. per metriche come l’accuratezza, dove un valore più alto è migliore).

  • Reporting Dettagliato: Riassume tutte le analisi in un report pd.DataFrame completo che include le performance correnti per metrica, gli allarmi assoluti e relativi scattati, e i valori di drift delle metriche calcolati (con differenze percentuali).

Methods

__init__

Inizializza la classe PerformancesDrift, configurando le metriche di performance correnti e le soglie di monitoraggio per le metriche di performance.

get_absolute

Applica le soglie (predefinite o fornite) alle porformance delle metriche correnti.

get_relative

Calcola il drift delle metriche di performance correnti rispetto alle metriche storiche.

get_report

Restituisce un report comprensivo dei risultati del drift delle metriche di performance con warning assoluti e relativi.