Risultati dell'analisi - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risultati dell'analisi

Al termine di un processo di elaborazione di SageMaker Clarify, è possibile scaricare i file di output per esaminarli oppure visualizzare i risultati in Studio Classic. SageMaker L'argomento seguente descrive i risultati dell'analisi generati da SageMaker Clarify, ad esempio lo schema e il report generati dall'analisi dei pregiudizi, dall'analisi, dall'analisi della spiegabilità della visione artificiale e dall'SHAPanalisi dei grafici di dipendenza parziali (). PDPs Se l'analisi della configurazione contiene parametri per calcolare più analisi, i risultati vengono aggregati in un'unica analisi e in un unico file di report.

La directory di output del processo di elaborazione di SageMaker Clarify contiene i seguenti file:

  • analysis.json— Un file che contiene le metriche di distorsione e l'importanza delle funzionalità nel formato. JSON

  • report.ipynb: un notebook statico che contiene codice per aiutarti a visualizzare le metriche di bias e l'importanza della funzionalità.

  • explanations_shap/out.csv: una directory creata che contiene file generati automaticamente in base alle configurazioni di analisi specifiche dell'utente. Ad esempio, se si attiva il save_local_shap_values parametro, i SHAP valori locali per istanza verranno salvati nella directory. explanations_shap Come altro esempio, se analysis configuration non contiene un valore per il parametro di SHAP base, il job di spiegabilità di SageMaker Clarify calcola una linea di base raggruppando il set di dati di input. Quindi salva la linea di base generata nella directory.

Per informazioni più dettagliate, consultate le seguenti sezioni.

Analisi dei bias

Amazon SageMaker Clarify utilizza la terminologia documentata in Amazon SageMaker chiarisce i termini relativi a parzialità ed equità per discutere di pregiudizi e correttezza.

Schema per il file di analisi

Il file di analisi è in JSON formato ed è organizzato in due sezioni: metriche dei pregiudizi prima dell'allenamento e metriche dei pregiudizi post-allenamento. I parametri per le metriche di bias pre-addestramento e post-addestramento sono i seguenti.

  • pre_training_bias_metrics: parametri per le metriche di bias pre-addestramento. Per ulteriori informazioni, consulta Metriche di bias pre-addestramento e File di configurazione dell'analisi.

    • label: il nome dell'etichetta ground truth definita dal parametro label della configurazione dell'analisi.

    • label_value_or_threshold: una stringa contenente i valori delle etichette o l'intervallo definito dal parametro label_values_or_threshold della configurazione dell'analisi. Ad esempio, se il valore 1 viene fornito per un problema di classificazione binaria, la stringa sarà 1. Se vengono forniti più valori [1,2] per un problema multiclasse, la stringa sarà 1,2. Se viene fornita una soglia 40 per un problema di regressione, la stringa sarà interna come (40, 68] in cui 68 è il valore massimo dell'etichetta nel set di dati di input.

    • facets: la sezione contiene diverse coppie chiave-valore, in cui la chiave corrisponde al nome del facet definito dal parametro name_or_index della configurazione del facet e il valore è una matrice di oggetti facet. Ciascun oggetto facet presenta i seguenti membri:

      • value_or_threshold: una stringa contenente i valori del facet o l'intervallo definito dal parametro value_or_threshold della configurazione del facet.

      • metrics: la sezione contiene una matrice di elementi metrica di bias e ogni elemento metrica di bias ha i seguenti attributi:

        • name: il nome breve della metrica di bias. Ad esempio CI.

        • description: il nome completo della metrica di bias. Ad esempio Class Imbalance (CI).

        • valore: il valore della metrica di distorsione o il valore JSON nullo se la metrica di distorsione non viene calcolata per un motivo particolare. I valori ±∞ sono rappresentati rispettivamente come stringhe e -∞.

        • error: un messaggio di errore opzionale che spiega perché la metrica di bias non è stata calcolata.

  • post_training_bias_metrics: la sezione contiene le metriche di bias post-addestramento e segue un layout e una struttura simili a quelli della sezione pre-addestramento. Per ulteriori informazioni, consulta Dati post-allenamento e metriche di distorsione dei modelli.

Di seguito è riportato un esempio di configurazione dell'analisi che calcolerà le metriche di bias pre- e post-addestramento.

{ "version": "1.0", "pre_training_bias_metrics": { "label": "Target", "label_value_or_threshold": "1", "facets": { "Gender": [{ "value_or_threshold": "0", "metrics": [ { "name": "CDDL", "description": "Conditional Demographic Disparity in Labels (CDDL)", "value": -0.06 }, { "name": "CI", "description": "Class Imbalance (CI)", "value": 0.6 }, ... ] }] } }, "post_training_bias_metrics": { "label": "Target", "label_value_or_threshold": "1", "facets": { "Gender": [{ "value_or_threshold": "0", "metrics": [ { "name": "AD", "description": "Accuracy Difference (AD)", "value": -0.13 }, { "name": "CDDPL", "description": "Conditional Demographic Disparity in Predicted Labels (CDDPL)", "value": 0.04 }, ... ] }] } } }

Report di analisi dei bias

Il report di analisi dei bias include diverse tabelle e diagrammi che contengono spiegazioni e descrizioni dettagliate. Questi includono, a titolo esemplificativo, la distribuzione dei valori delle etichette, la distribuzione dei valori di facet, il diagramma delle prestazioni del modello di alto livello, una tabella delle metriche di bias e le relative descrizioni. Per ulteriori informazioni sulle metriche di distorsione e su come interpretarle, consulta la sezione Scopri come Amazon SageMaker Clarify aiuta a rilevare i pregiudizi.

SHAPanalisi

SageMaker I processi di elaborazione di Clarify utilizzano l'SHAPalgoritmo Kernel per calcolare le attribuzioni delle funzionalità. Il processo di elaborazione SageMaker Clarify produce valori sia locali che globali. SHAP Questi aiutano a determinare il contributo di ciascuna funzionalità alle previsioni dei modelli. SHAPI valori locali rappresentano l'importanza delle funzionalità per ogni singola istanza, mentre SHAP i valori globali aggregano i SHAP valori locali in tutte le istanze del set di dati. Per ulteriori informazioni sui SHAP valori e su come interpretarli, consulta. Caratterizzazione delle attribuzioni che utilizzano i valori Shapley

Schema per il file di SHAP analisi

I risultati SHAP dell'analisi globale vengono memorizzati nella sezione delle spiegazioni del file di analisi, sotto il kernel_shap metodo. I diversi parametri del file di SHAP analisi sono i seguenti:

  • explanations: la sezione del file di analisi che contiene i risultati dell'analisi dell'importanza della funzionalità.

    • kernal_shap — La sezione del file di analisi che contiene il risultato dell'analisi globale. SHAP

      • global_shap_values: una sezione del file di analisi che contiene diverse coppie chiave-valore. Ogni chiave nella coppia chiave-valore rappresenta un nome di funzionalità dal set di dati di input. Ogni valore nella coppia chiave-valore corrisponde al valore globale della feature. SHAP Il SHAP valore globale si ottiene aggregando i SHAP valori per istanza della funzionalità utilizzando la configurazione. agg_method Se la configurazione use_logit è attivata, il valore viene calcolato utilizzando i coefficienti di regressione logistica, che possono essere interpretati come rapporti log-odds.

      • expected_value: la previsione media del set di dati di base. Se la configurazione use_logit è attivata, il valore viene calcolato utilizzando i coefficienti di regressione logistica.

      • global_top_shap_text — Utilizzato per l'analisi della spiegabilità. NLP Una sezione del file di analisi che include un set di coppie chiave-valore. SageMaker I processi di elaborazione di Clarify aggregano i SHAP valori di ciascun token e quindi selezionano i token migliori in base ai rispettivi valori globali. SHAP La configurazione max_top_tokens definisce il numero di token da selezionare.

        Ognuno dei token principali selezionati ha una coppia chiave-valore. La chiave nella coppia chiave-valore corrisponde al nome della funzionalità testuale di un token principale. Ogni valore nella coppia chiave-valore è il SHAP valore globale del token principale. Per un esempio di coppia global_top_shap_text chiave-valore, vedete il seguente output.

L'esempio seguente mostra l'output dell'SHAPanalisi di un set di dati tabulare.

{ "version": "1.0", "explanations": { "kernel_shap": { "Target": { "global_shap_values": { "Age": 0.022486410860333206, "Gender": 0.007381025261958729, "Income": 0.006843906804137847, "Occupation": 0.006843906804137847, ... }, "expected_value": 0.508233428001 } } } }

L'esempio seguente mostra l'output dell'SHAPanalisi di un set di dati di testo. L'output corrispondente alla colonna Comments è un esempio di output generato dopo l'analisi di una funzionalità testuale.

{ "version": "1.0", "explanations": { "kernel_shap": { "Target": { "global_shap_values": { "Rating": 0.022486410860333206, "Comments": 0.058612104851485144, ... }, "expected_value": 0.46700941970297033, "global_top_shap_text": { "charming": 0.04127962903247833, "brilliant": 0.02450240786522321, "enjoyable": 0.024093569652715457, ... } } } } }

Schema per il file di base generato

Quando non viene fornita una configurazione di SHAP base, il processo di elaborazione SageMaker Clarify genera un set di dati di base. SageMaker Clarify utilizza un algoritmo di clustering basato sulla distanza per generare un set di dati di base dai cluster creati dal set di dati di input. Il set di dati di base risultante viene salvato in un file, situato in. CSV explanations_shap/baseline.csv Questo file di output contiene una riga di intestazione e diverse istanze basate sul parametro num_clusters specificato nella configurazione dell'analisi. Il set di dati di base è costituito solo da colonne di funzionalità. L'esempio seguente mostra una linea di base creata raggruppando il set di dati di input.

Age,Gender,Income,Occupation 35,0,2883,1 40,1,6178,2 42,0,4621,0

Schema per i SHAP valori locali derivanti dall'analisi della spiegabilità dei set di dati tabulari

Per i set di dati tabulari, se viene utilizzata una singola istanza di calcolo, il processo di elaborazione SageMaker Clarify salva i valori locali in un file denominato. SHAP CSV explanations_shap/out.csv Se si utilizzano più istanze di calcolo, i SHAP valori locali vengono salvati in diversi file nella directory. CSV explanations_shap

Un file di output contenente SHAP valori locali ha una riga contenente i SHAP valori locali per ogni colonna definita dalle intestazioni. Le intestazioni seguono la convenzione di denominazione Feature_Label, nella quale al nome della funzionalità viene aggiunto un trattino basso, seguito dal nome della variabile di destinazione.

Per problemi multiclasse, i nomi delle funzionalità nell'intestazione variano prima, poi le etichette. Ad esempio, due funzionalità F1, F2 e due classi L1 e L2, nelle intestazioni sono F1_L1, F2_L1, F1_L2 e F2_L2. Se la configurazione dell'analisi contiene un valore per il parametro joinsource_name_or_index, la colonna della chiave utilizzata nella join viene aggiunta alla fine del nome dell'intestazione. Ciò consente la mappatura dei SHAP valori locali alle istanze del set di dati di input. Segue un esempio di file di output contenente SHAP valori.

Age_Target,Gender_Target,Income_Target,Occupation_Target 0.003937908,0.001388849,0.00242389,0.00274234 -0.0052784,0.017144491,0.004480645,-0.017144491 ...

Schema per SHAP i valori locali derivanti dall'analisi della NLP spiegabilità

Per l'analisi della NLP spiegabilità, se viene utilizzata una singola istanza di calcolo, il processo di elaborazione SageMaker Clarify salva i SHAP valori locali in un file Lines denominato. JSON explanations_shap/out.jsonl Se si utilizzano più istanze di calcolo, i SHAP valori locali vengono salvati in diversi JSON file Lines nella directory. explanations_shap

Ogni file contenente SHAP valori locali ha diverse righe di dati e ogni riga è un oggetto validoJSON. L'JSONoggetto ha i seguenti attributi:

  • spiegazioni — La sezione del file di analisi che contiene una serie di SHAP spiegazioni del kernel per una singola istanza. Ciascun elemento della matrice dispone dei seguenti membri:

    • feature_name: il nome dell'intestazione delle funzionalità fornite dalla configurazione delle intestazioni.

    • data_type — Il tipo di funzionalità dedotto dal processo di elaborazione di Clarify. SageMaker I valori validi per le funzionalità testuali includono numerical, categorical e free_text (per le funzionalità testuali).

    • attributions: una matrice di oggetti di attribuzione specifici per una funzionalità. Una funzionalità testuale può avere più oggetti di attribuzione, ciascuno per un'unità definita dalla configurazione granularity. L'oggetto attribuzione ha i seguenti membri:

      • attribution: una matrice di valori di probabilità specifica per classe.

      • description: (per le funzionalità testuali) la descrizione delle unità di testo.

        • partial_text — La parte del testo spiegata dal processo di elaborazione di Clarify. SageMaker

        • start_idx: un indice a base zero per identificare la posizione della matrice che indica l'inizio del frammento di testo parziale.

Di seguito è riportato un esempio di una singola riga di un file di SHAP valori locali, abbellita per migliorarne la leggibilità.

{ "explanations": [ { "feature_name": "Rating", "data_type": "categorical", "attributions": [ { "attribution": [0.00342270632248735] } ] }, { "feature_name": "Comments", "data_type": "free_text", "attributions": [ { "attribution": [0.005260534499999983], "description": { "partial_text": "It's", "start_idx": 0 } }, { "attribution": [0.00424190349999996], "description": { "partial_text": "a", "start_idx": 5 } }, { "attribution": [0.010247314500000014], "description": { "partial_text": "good", "start_idx": 6 } }, { "attribution": [0.006148907500000005], "description": { "partial_text": "product", "start_idx": 10 } } ] } ] }

SHAPrapporto di analisi

Il rapporto di SHAP analisi fornisce un grafico a barre con un massimo di SHAP valori globali 10 principali. Il seguente esempio di grafico mostra i SHAP valori per le 4 funzionalità principali.

Grafico a barre orizzontale dei SHAP valori globali calcolati per la variabile target delle quattro funzionalità principali.

Analisi della spiegabilità della visione artificiale (CV)

SageMaker Clarify Computer Vision Explainability utilizza un set di dati composto da immagini e tratta ogni immagine come una raccolta di super pixel. Dopo l'analisi, il processo di elaborazione di SageMaker Clarify genera un set di dati di immagini in cui ogni immagine mostra la mappa termica dei super pixel.

L'esempio seguente mostra un segno di limite di velocità di ingresso sulla sinistra e una mappa termica mostra l'entità dei SHAP valori sulla destra. Questi SHAP valori sono stati calcolati da un modello Resnet-18 di riconoscimento delle immagini addestrato a riconoscere i segnali stradali tedeschi. Il set di dati German Traffic Sign Recognition Benchmark (GTSRB) è fornito nel paper Man vs. computer: analisi comparativa degli algoritmi di apprendimento automatico per il riconoscimento dei segnali stradali. Nell'output di esempio, valori positivi elevati indicano che il super pixel ha una forte correlazione positiva con la previsione del modello. Valori negativi elevati indicano che il super pixel ha una forte correlazione negativa con la previsione del modello. Maggiore è il valore assoluto del SHAP valore mostrato nella mappa termica, più forte è la relazione tra il super pixel e la previsione del modello.

Immagine di input del segnale del limite di velocità e della mappa termica risultante dei SHAP valori di un modello Resnet-18.

Per ulteriori informazioni, consulta i taccuini di esempio Explaining Image Classification with SageMaker Clarify e Explaining object detection models with Amazon Clarify. SageMaker

PDPsAnalisi dei grafici di dipendenza parziale ()

I grafici di dipendenza parziale mostrano la dipendenza della risposta della destinazione prevista da una serie di funzionalità di input di interesse. Queste sono marginalizzate rispetto ai valori di tutte le altre funzionalità di input e vengono chiamate funzionalità complementari. In modo intuitivo, è possibile interpretare la dipendenza parziale come la risposta della destinazione, che è attesa come una funzione di ciascuna funzionalità di input di interesse.

Schema per il file di analisi

I PDP valori vengono memorizzati nella explanations sezione del file di analisi sotto il pdp metodo. I parametri per explanations sono come riportato di seguito:

  • explanations: la sezione dei file di analisi che contiene i risultati dell'analisi dell'importanza della funzionalità.

    • pdp — La sezione del file di analisi che contiene una serie di PDP spiegazioni per una singola istanza. Ciascun elemento della matrice dispone dei seguenti membri:

      • feature_name: il nome dell'intestazione delle funzionalità fornite dalla configurazione headers.

      • data_type — Il tipo di funzionalità dedotto dal processo di elaborazione di Clarify. SageMaker I valori validi per data_type includono valori numerici e categorici.

      • feature_values: contiene i valori presenti nella funzionalità. Se quello data_type dedotto da SageMaker Clarify è categorico, feature_values contiene tutti i valori univoci che potrebbe essere la funzionalità. Se quello data_type dedotto da SageMaker Clarify è numerico, feature_values contiene un elenco del valore centrale dei bucket generati. Il parametro grid_resolution determina il numero di bucket utilizzati per raggruppare i valori di colonna delle funzionalità.

      • data_distribution: una matrice di percentuali, in cui ogni valore è la percentuale di istanze contenute in un bucket. Il parametro grid_resolution determina il numero di bucket. I valori di colonna delle funzionalità sono raggruppati in questi bucket.

      • model_predictions: una matrice di previsioni del modello, in cui ogni elemento è una matrice di previsioni che corrisponde a una classe nell'output del modello.

        label_headers: le intestazioni delle etichette fornite dalla configurazione label_headers.

      • error — Un messaggio di errore generato se i PDP valori non vengono calcolati per un motivo particolare. Questo messaggio di errore sostituisce il contenuto nei campi feature_values, data_distributions e model_predictions.

Di seguito è riportato un esempio di output da un file di analisi contenente un risultato PDP dell'analisi.

{ "version": "1.0", "explanations": { "pdp": [ { "feature_name": "Income", "data_type": "numerical", "feature_values": [1046.9, 2454.7, 3862.5, 5270.2, 6678.0, 8085.9, 9493.6, 10901.5, 12309.3, 13717.1], "data_distribution": [0.32, 0.27, 0.17, 0.1, 0.045, 0.05, 0.01, 0.015, 0.01, 0.01], "model_predictions": [[0.69, 0.82, 0.82, 0.77, 0.77, 0.46, 0.46, 0.45, 0.41, 0.41]], "label_headers": ["Target"] }, ... ] } }

PDPrapporto di analisi

È possibile generare un rapporto di analisi contenente un PDP grafico per ogni feature. Il PDP grafico viene tracciato feature_values lungo l'asse x e model_predictions lungo l'asse y. Per i modelli multiclasse, model_predictions è una matrice e ogni elemento di questa matrice corrisponde a una delle classi di previsione del modello.

Di seguito è riportato un esempio di PDP grafico relativo alla feature. Age Nell'output di esempio, PDP mostra il numero di valori delle funzionalità raggruppati in secchi. Il numero di bucket è determinato da grid_resolution. I bucket di valori delle funzionalità vengono tracciati sulla base delle previsioni del modello. In questo esempio, i valori più alti delle funzionalità hanno gli stessi valori di previsione del modello.

Grafico a linee che mostra come variano le previsioni del modello rispetto a feature_values per 10 punti univoci della griglia.

Valori asimmetrici di Shapley

SageMaker I processi di elaborazione di Clarify utilizzano l'algoritmo di valori asimmetrico di Shapley per calcolare le attribuzioni delle spiegazioni dei modelli di previsione delle serie temporali. Questo algoritmo determina il contributo delle funzionalità di input in ogni fase temporale verso le previsioni previste.

Schema per il file di analisi asimmetrico dei valori Shapley

I risultati asimmetrici del valore Shapley vengono archiviati in un bucket Amazon S3. Puoi trovare la posizione di questo bucket nelle spiegazioni della sezione del file di analisi. Questa sezione contiene i risultati dell'analisi dell'importanza delle feature. I seguenti parametri sono inclusi nel file di analisi dei valori Shapley asimmetrico.

  • asymmetric_shapley_value — La sezione del file di analisi che contiene i metadati sui risultati del lavoro di spiegazione, tra cui:

    • explanation_results_path — La posizione Amazon S3 con i risultati della spiegazione

    • direction — La configurazione fornita dall'utente per il valore di configurazione di direction

    • granularità: la configurazione fornita dall'utente per il valore di configurazione di granularity

Il seguente frammento mostra i parametri menzionati in precedenza in un file di analisi di esempio:

{ "version": "1.0", "explanations": { "asymmetric_shapley_value": { "explanation_results_path": EXPLANATION_RESULTS_S3_URI, "direction": "chronological", "granularity": "timewise", } } }

Le sezioni seguenti descrivono come la struttura dei risultati della spiegazione dipenda dal valore di granularity nella configurazione.

Granularità temporale

Quando la granularità è, timewise l'output è rappresentato nella seguente struttura. Il scores valore rappresenta l'attribuzione per ogni timestamp. Il offset valore rappresenta la previsione del modello sui dati di base e descrive il comportamento del modello quando non riceve dati.

Il frammento seguente mostra un esempio di output per un modello che effettua previsioni per due fasi temporali. Pertanto, tutte le attribuzioni sono un elenco di due elementi in cui la prima voce si riferisce alla prima fase temporale prevista.

{ "item_id": "item1", "offset": [1.0, 1.2], "explanations": [ {"timestamp": "2019-09-11 00:00:00", "scores": [0.11, 0.1]}, {"timestamp": "2019-09-12 00:00:00", "scores": [0.34, 0.2]}, {"timestamp": "2019-09-13 00:00:00", "scores": [0.45, 0.3]}, ] } { "item_id": "item2", "offset": [1.0, 1.2], "explanations": [ {"timestamp": "2019-09-11 00:00:00", "scores": [0.51, 0.35]}, {"timestamp": "2019-09-12 00:00:00", "scores": [0.14, 0.22]}, {"timestamp": "2019-09-13 00:00:00", "scores": [0.46, 0.31]}, ] }

Granularità a grana fine

L'esempio seguente mostra i risultati dell'attribuzione quando la granularità è. fine_grained Il offset valore ha lo stesso significato descritto nella sezione precedente. Le attribuzioni vengono calcolate per ogni feature di input in ogni timestamp per una serie temporale di destinazione e le relative serie temporali, se disponibili, e per ogni covariata statica, se disponibile.

{ "item_id": "item1", "offset": [1.0, 1.2], "explanations": [ {"feature_name": "tts_feature_name_1", "timestamp": "2019-09-11 00:00:00", "scores": [0.11, 0.11]}, {"feature_name": "tts_feature_name_1", "timestamp": "2019-09-12 00:00:00", "scores": [0.34, 0.43]}, {"feature_name": "tts_feature_name_2", "timestamp": "2019-09-11 00:00:00", "scores": [0.15, 0.51]}, {"feature_name": "tts_feature_name_2", "timestamp": "2019-09-12 00:00:00", "scores": [0.81, 0.18]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-11 00:00:00", "scores": [0.01, 0.10]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-12 00:00:00", "scores": [0.14, 0.41]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-13 00:00:00", "scores": [0.95, 0.59]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-14 00:00:00", "scores": [0.95, 0.59]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-11 00:00:00", "scores": [0.65, 0.56]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-12 00:00:00", "scores": [0.43, 0.34]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-13 00:00:00", "scores": [0.16, 0.61]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-14 00:00:00", "scores": [0.95, 0.59]}, {"feature_name": "static_covariate_1", "scores": [0.6, 0.1]}, {"feature_name": "static_covariate_2", "scores": [0.1, 0.3]}, ] }

In entrambi i casi fine-grained d'uso, timewise i risultati vengono archiviati in JSON formato Lines (.jsonl).