Calcolo delle metriche con l'SDK Python
L'SDK ( Python ) è una libreria di strumenti ( Python ) che puoi utilizzare per monitorare, gestire e governare programmaticamente i modelli di apprendimento automatico.
È possibile utilizzare Python SDK per calcolare metriche e algoritmi di valutazione in un ambiente di runtime notebook o scaricarli come processi Spark su IBM Analytics Engine per l'apprendimento automatico e le valutazioni.
Algoritmi e metriche supportati
L'SDK ( Python ) supporta le seguenti metriche e algoritmi di spiegazione:
Trasformatore FairScore
È possibile utilizzare il trasformatore FairScore come tecnica di mitigazione della distorsione post - elaborazione. Questa tecnica trasforma le stime di probabilità o i punteggi dei modelli di classificazione binaria probabilistica per quanto riguarda gli obiettivi di correttezza. Per utilizzare FairScore Transformer, è necessario addestrare un trasformatore di punteggio Fair.
Post - processore di correttezza individuale
Il post - processore di correttezza individuale è un algoritmo di trasformazione di post - elaborazione che trasforma i singoli punteggi per raggiungere la correttezza individuale. Puoi utilizzarlo con Python SDK per supportare la classificazione del testo a più classi. È necessario addestrare questo algoritmo prima di utilizzarlo per trasformare gli output del modello.
Riduzione input
È possibile utilizzare l'algoritmo di riduzione dell'input per calcolare l'insieme minimo di funzioni che è necessario specificare per mantenere coerenti le previsioni del modello. L'algoritmo esclude le funzioni che non influenzano la previsione del modello.
Compensazione verosimiglianza
La compensazione di verosimiglianza (LC) è un framework per spiegare le deviazioni della previsione di un modello di scatola nera dalla verità al suolo. Con i dati di test e la funzione di previsione di un modello black box, LC può identificare le anomalie nei dati di test e spiegare cosa ha causato l'anomalia del campione. La spiegazione LC viene fornita come delta, che quando viene aggiunta ai dati di test originali o all'anomalia, converge la previsione del modello alla verità al suolo. LC fornisce spiegazioni locali ed è supportato solo per i modelli di regressione.
Modello interpretabile locale - spiegazioni agnostiche (LIME)
LIME identifica le funzioni più importanti per uno specifico punto di dati analizzando fino a 5000 altri punti di dati ravvicinati. In un'impostazione ideale, le funzioni con elevata importanza in LIME sono le funzioni più importanti per quel punto di dati specifico. È possibile generare spiegazioni LIME per modelli con dati multimodali che contengono funzioni con dati strutturati e non strutturati. I dati strutturati possono contenere dati numerici e categoriali. I dati non strutturati possono contenere una colonna di testo.
Disparità individuale media
È possibile utilizzare la disparità individuale media per verificare se il proprio modello genera previsioni o punteggi simili per campioni simili. Questa metrica calcola la differenza nelle stime di probabilità dei modelli di classificazione multi - classe per campioni simili.
Scansione sottoinsieme multidimensionale
È possibile utilizzare l'algoritmo di scansione del sottoinsieme multidimensionale come metodo di scansione della distorsione generale. Questo metodo rileva e identifica quali sottogruppi di funzioni hanno una distorsione predittiva statisticamente significativa per un classificatore binario probabilistico. Questo algoritmo consente di decidere quali funzioni sono gli attributi protetti e quali valori di tali funzioni sono il gruppo privilegiato per le valutazioni di monitoraggio.
Estrazione di attributi protetti
L'algoritmo di estrazione dell'attributo protetto trasforma i dataset di testo in dataset strutturati. L'algoritmo tokenizza i dati di testo, confronta i dati con i modelli specificati ed estrae l'attributo protetto dal testo per creare dati strutturati. È possibile utilizzare questi dati strutturati per rilevare le distorsioni rispetto all'attributo protetto con un algoritmo di rilevamento delle distorsioni. L'algoritmo di estrazione attributo protetto supporta solo il sesso come attributo protetto.
Perturbazione attributi protetti
L'algoritmo di perturbazione dell'attributo protetto genera istruzioni controfattuali identificando modelli di attributi protetti nei dataset di testo. Inoltre tokenizza il testo e turba le parole chiave nei dati di testo per generare le istruzioni. È possibile utilizzare i set di dati originali e perturbati per rilevare le distorsioni rispetto all'attributo di protezione con un algoritmo di rilevamento delle distorsioni. L'algoritmo di perturbazione dell'attributo protetto supporta solo il sesso come attributo protetto.
Spiegazione protodash
L'explain protodash identifica i dati di input da una serie di riferimento che necessitano di spiegazioni. Questo metodo riduce al minimo la discrepanza media massima (MMD) tra i punti di dati di riferimento e un numero di istanze selezionate dai dati di addestramento. Per aiutarti a comprendere meglio le tue previsioni del modello, le istanze dei dati di addestramento imitano una distribuzione simile a quella dei punti di dati di riferimento.
Spiegazione additiva Shapley (SHAP)
SHAP è un approccio teorico del gioco che spiega l'output dei modelli di machine learning. Collega l'allocazione ottimale del credito con le spiegazioni locali utilizzando i valori di Shapley e le relative estensioni.
SHAP assegna a ciascuna funzione del modello un valore di importanza per una particolare previsione, denominata Valore Shapley. Il valore di Shapley è il contributo marginale medio di un valore caratteristica in tutti i possibili gruppi di funzioni. I valori SHAP delle funzioni di input sono le somme della differenza tra l'output del modello di base o previsto e l'output del modello corrente per la previsione spiegata. L'output del modello di baseline può essere basato sul riepilogo dei dati di addestramento o su qualsiasi sottoinsieme di dati per cui devono essere generate le spiegazioni.
I valori Shapley di una serie di transazioni possono essere combinati per ottenere spiegazioni globali che forniscono una panoramica delle funzioni più importanti di un modello. È possibile generare spiegazioni SHAP per i modelli di testo non strutturati per comprendere come vengono previsti i risultati.
Differenziale empirico livellato (SED)
Il SED è la metrica di correttezza che è possibile utilizzare per descrivere la correttezza per le previsioni del modello. SED quantifica il differenziale nella probabilità di risultati favorevoli e sfavorevoli tra gruppi che si intersecano divisi per funzioni. Tutti i gruppi che si intersecano sono uguali, quindi non ci sono gruppi privilegiati o non privilegiati. Questo calcolo produce un valore SED che è il rapporto minimo della probabilità livellata di Dirichlet per i risultati favorevoli e sfavorevoli tra i gruppi che si intersecano nel dataset. Il valore è compreso nell'intervallo 0-1, escludendo 0 e 1, e un valore maggiore specifica un risultato migliore.