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à.
File di configurazione dell'analisi
Per analizzare i dati e i modelli per verificarne la spiegabilità e le distorsioni utilizzando SageMaker Clarify, è necessario configurare un processo di elaborazione. Parte della configurazione per questo processo di elaborazione include la configurazione di un file di analisi. Il file di analisi specifica i parametri per l'analisi dei bias e la spiegabilità. Scopri come configurare un processo di elaborazione e un file di analisi. Configurazione di un processo di elaborazione SageMaker Clarify
La presente guida descrive lo schema e i parametri per questo file di configurazione dell'analisi. Questa guida include anche esempi di file di configurazione dell'analisi per il calcolo delle metriche di distorsione per un set di dati tabulare e la generazione di spiegazioni per problemi di elaborazione del linguaggio naturale (NLP), visione artificiale (CV) e serie temporali (TS).
Puoi creare il file di configurazione dell'analisi o usare SageMaker Python
Argomenti
Schema per il file di configurazione dell'analisi
La sezione seguente descrive lo schema per il file di configurazione dell'analisi, inclusi i requisiti e le descrizioni dei parametri.
Schema per il file di configurazione dell'analisi
Il processo di elaborazione SageMaker Clarify prevede che il file di configurazione dell'analisi sia strutturato con i seguenti requisiti:
-
Il nome di input dell'elaborazione deve essere
analysis_config.
. -
Il file di configurazione dell'analisi è in JSON formato e codificato in -8. UTF
-
Il file di configurazione dell'analisi è un oggetto Amazon S3.
È possibile specificare parametri aggiuntivi nel file di configurazione dell'analisi. La sezione seguente fornisce varie opzioni per personalizzare il processo di elaborazione di SageMaker Clarify in base al caso d'uso e ai tipi di analisi desiderati.
È possibile specificare parametri nel file di configurazione dell'analisi.
-
version: (facoltativo) la stringa della versione dello schema del file di configurazione dell'analisi. Se non viene fornita una versione, SageMaker Clarify utilizza l'ultima versione supportata. Attualmente la sola versione supportata è
1.0
. -
dataset_type: il formato del set di dati. Il formato del set di dati di input può essere uno dei seguenti valori:
Tabulare
-
text/csv
per CSV -
application/jsonlines
per il formato SageMaker JSON Lines dense -
application/json
per JSON -
application/x-parquet
per Apache Parquet -
application/x-image
per attivare la spiegabilità dei problemi di visione artificiale
-
Spiegazioni dei modelli di previsione delle serie temporali
application/json
per JSON
-
dataset_uri — (Facoltativo) L'identificatore di risorsa uniforme (URI) del set di dati principale. Se fornite un URI prefisso S3, il processo di elaborazione SageMaker Clarify raccoglie in modo ricorsivo tutti i file S3 che si trovano sotto il prefisso. È possibile fornire un URI prefisso S3 o S3 a un file manifesto di immagini per problemi di visione artificialeURI. Se fornito,
dataset_uri
ha la precedenza sull'input del processo di elaborazione del set di dati. Per qualsiasi tipo di formato, ad eccezione dei casi d'uso di immagini e serie temporali, il processo di elaborazione SageMaker Clarify carica il set di dati di input in un frame di dati tabulare, come set di dati tabulare. Questo formato consente di manipolare e SageMaker analizzare facilmente il set di dati di input. -
headers — (Facoltativo)
Tabulare: una matrice di stringhe contenente i nomi delle colonne di un set di dati tabulare. Se non viene fornito un valore
headers
, il processo di elaborazione SageMaker Clarify legge le intestazioni dal set di dati. Se il set di dati non ha intestazioni, il processo di elaborazione Clarify genera automaticamente i nomi dei segnaposto in base all'indice di colonna a base zero. Ad esempio, i nomi dei segnaposto per la prima e la seconda colonna saranno, e così via.column_0
column_1
Nota
Per convenzione, if
dataset_type
isapplication/jsonlines
orapplication/json
, alloraheaders
dovrebbe contenere i seguenti nomi nell'ordine:nomi delle funzionalità
nome dell'etichetta (
label
se specificato)nome dell'etichetta previsto (se
predicted_label
specificato)
Un esempio per
headers
per un tipo di set di datiapplication/jsonlines
selabel
è specificato è:["feature1","feature2","feature3","target_label"]
.Serie temporali: un elenco di nomi di colonne nel set di dati. Se non viene fornito, Clarify genera intestazioni da utilizzare internamente. Per i casi di spiegabilità delle serie temporali, fornite le intestazioni nel seguente ordine:
id dell'articolo
timestamp
serie temporale di destinazione
tutte le colonne relative alle serie temporali
tutte le colonne covariate statiche
-
label: (facoltativo) una stringa o un indice intero a base zero. Se fornito,
label
viene utilizzato per individuare l'etichetta Ground Truth, nota anche come etichetta osservata o attributo di destinazione in un set di dati tabulare. L'etichetta Ground Truth viene utilizzata per calcolare i parametri di bias. Il valore dilabel
viene specificato in base al valore del parametrodataset_type
nel modo seguente.-
Se
dataset_type
ètext/csv
,label
può essere specificato in uno dei seguenti modi:-
Un nome colonna valido
-
Un indice che si trova all'interno dell'intervallo delle colonne del set di dati
-
-
Se
dataset_type
èapplication/parquet
,label
deve essere un nome colonna valido. -
Se
dataset_type
è cosìapplication/jsonlines
,label
deve essere un'JMESPathespressione scritta per estrarre l'etichetta di verità fondamentale dal set di dati. Per convenzione, se headers
è specificato, deve contenere il nome dell'etichetta. -
In caso
dataset_type
application/json
affermativo,label
deve essere un'JMESPathespressione scritta per estrarre l'etichetta di verità fondamentale per ogni record nel set di dati. Questa JMESPath espressione deve produrre un elenco di etichette in cui «i» l'etichetta è correlata a quelle del record.
-
-
predicted_label: (facoltativo) una stringa o un indice intero a base zero. Se fornito,
predicted_label
viene utilizzato per individuare la colonna contenente l'etichetta prevista in un set di dati tabulare. L'etichetta prevista viene utilizzata per calcolare i parametri di bias post-addestramento. Il parametropredicted_label
è facoltativo se il set di dati non include l'etichetta prevista. Se per il calcolo sono necessarie le etichette previste, il processo di elaborazione di SageMaker Clarify otterrà le previsioni dal modello.Il valore di
predicted_label
viene specificato in base al valore didataset_type
come segue:-
Se
dataset_type
ètext/csv
,predicted_label
può essere specificato come segue:-
Un nome colonna valido. Se
predicted_label_dataset_uri
è specificato, mapredicted_label
non viene fornito, il nome dell'etichetta prevista di default è "predicted_label". -
Un indice che si trova all'interno dell'intervallo delle colonne del set di dati. Se
predicted_label_dataset_uri
è specificato, l'indice viene utilizzato per individuare la colonna dell'etichetta prevista nel set di dati dell'etichetts prevista.
-
-
Se dataset_type è
application/x-parquet
,predicted_label
deve essere un nome colonna valido. -
Se dataset_type è
application/jsonlines
,predicted_label
deve essere un'JMESPathespressione valida scritta per estrarre l'etichetta prevista dal set di dati. Per convenzione, se headers
è specificato, deve contenere il nome dell'etichetta prevista. -
In caso
dataset_type
affermativoapplication/json
,predicted_label
deve essere scritta un'JMESPathespressione per estrarre l'etichetta prevista per ogni record nel set di dati. L'JMESPathespressione dovrebbe produrre un elenco di etichette previste in cui i l'etichetta prevista è per loro nel record.
-
-
features — (Facoltativo) Obbligatorio per i casi non-time-series d'uso se è o.
dataset_type
application/jsonlines
application/json
Un'espressione JMESPath stringa scritta per individuare le funzionalità nel set di dati di input. Infattiapplication/jsonlines
, verrà applicata un'JMESPathespressione a ciascuna riga per estrarre le caratteristiche di quel record. Infattiapplication/json
, un'JMESPathespressione verrà applicata all'intero set di dati di input. L'JMESPathespressione dovrebbe estrarre un elenco di elenchi o una matrice/matrice 2D di funzionalità in cui la riga i contiene le caratteristiche correlate a tali elementi nel record. Per undataset_type
ditext/csv
oapplication/x-parquet
, tutte le colonne, tranne le colonne dell'etichetta Ground Truth e dell'etichetta prevista, vengono assegnate automaticamente come funzionalità. -
predicted_label_dataset_uri — (Facoltativo) Applicabile solo quando dataset_type è.
text/csv
L'S3 URI per un set di dati contenente etichette previste utilizzate per calcolare le metriche di distorsione post-allenamento. Il processo di elaborazione di SageMaker Clarify caricherà le previsioni dal modulo fornito invece di recuperare le previsioni dal modello. URI In questo caso,predicted_label
è necessario per individuare la colonna dell'etichetta prevista nel set di dati dell'etichetta prevista. Se il set di dati dell'etichetta prevista o il set di dati principale è suddiviso in più file,joinsource_name_or_index
deve specificare una colonna identificativa per unire i due set di dati. -
predicted_label_headers — (Facoltativo) Applicabile solo quando specificato.
predicted_label_dataset_uri
Una matrice di stringhe contenente i nomi colonne del set di dati dell'etichetta prevista. Oltre all'intestazione dell'etichetta prevista,predicted_label_headers
può contenere anche l'intestazione della colonna identificativa per unire il set di dati dell'etichetta prevista e il set di dati principale. Per ulteriori informazioni, consulta la descrizione del parametrojoinsource_name_or_index
. -
joinsource_name_or_index — (Facoltativo) Il nome o l'indice a base zero della colonna nei set di dati tabulari da utilizzare come colonna identificativa durante l'esecuzione di un join interno. Questa colonna viene utilizzata solo come identificatore. Non viene utilizzata per altri calcoli come l'analisi di bias o l'analisi dell'attribuzione delle funzionalità. È necessario un valore di
joinsource_name_or_index
nei seguenti casi:-
Esistono più set di dati di input e ognuno è suddiviso in più file.
-
L'elaborazione distribuita viene attivata impostando il processo di elaborazione Clarify su un valore maggiore di. SageMaker InstanceCount
1
-
-
excluded_columns: (facoltativo) una matrice di nomi o indici di colonne a base zero da escludere dall'invio al modello come input per le previsioni. L'etichetta Ground Truth e l'etichetta prevista vengono già escluse automaticamente. Questa funzionalità non è supportata per le serie temporali.
-
probability_threshold: (facoltativo) un numero a virgola mobile al di sopra del quale viene selezionata un'etichetta o un oggetto. Il valore predefinito è
0.5
. Il processo di elaborazione di SageMaker Clarify utilizzaprobability_threshold
nei seguenti casi:-
Nell'analisi dei bias post-addestramento,
probability_threshold
converte la previsione di un modello numerico (valore di probabilità o punteggio) in un'etichetta binaria, se il modello è un classificatore binario. Un punteggio superiore alla soglia viene convertito in1
. Un punteggio uguale o inferiore alla soglia viene convertito in0
. -
Nei problemi di spiegabilità della visione artificiale, se model_type è
OBJECT_DETECTION
,, probability_threshold
filtra gli oggetti con punteggi di attendibilità inferiori al valore di soglia.
-
-
label_values_or_threshold — (Facoltativo) Necessario per l'analisi delle distorsioni. Una matrice di valori delle etichette o un numero di soglia, che indica un risultato positivo per le etichette Ground Truth e prevista per i parametri di bias. Per ulteriori informazioni, consulta Valori di etichetta positivi in. Amazon SageMaker chiarisce i termini relativi a parzialità ed equità Se l'etichetta è numerica, la soglia viene applicata come limite inferiore per selezionare il risultato positivo. Per impostare
label_values_or_threshold
per diversi tipi di problemi, fai riferimento ai seguenti esempi:-
Per un problema di classificazione binaria, l'etichetta ha due valori possibili,
0
e1
. Se il valore dell'etichetta1
è favorevole a un gruppo demografico osservato in un campione, alloralabel_values_or_threshold
deve essere impostato su[1]
. -
Per un problema di classificazione multiclasse, l'etichetta ha tre valori possibili:
bird
,cat
edog
. Se gli ultimi due definiscono un gruppo demografico favorito dai bias, alloralabel_values_or_threshold
deve essere impostato su["cat","dog"]
. -
Per un problema di regressione, il valore dell'etichetta è continuo e va da
0
a1
. Se un valore maggiore di0.5
deve indicare che un campione ha un risultato positivo, alloralabel_values_or_threshold
deve essere impostato su0.5
.
-
-
facet: (Facoltativo) Necessario per l'analisi delle distorsioni. Una matrice di oggetti facet, composti da attributi sensibili in base ai quali viene misurato il bias. È possibile utilizzare i facet per comprendere le caratteristiche di bias del set di dati e del modello anche se il modello viene addestrato senza utilizzare attributi sensibili. Per ulteriori informazioni, vedete Facet in. Amazon SageMaker chiarisce i termini relativi a parzialità ed equità Questo oggetto facet include i seguenti campi:
-
name_or_index — (Facoltativo) Il nome o l'indice a base zero della colonna degli attributi sensibili in un set di dati tabulare. Se
facet_dataset_uri
è specificato, l'indice si riferisce al set di dati facet anziché al set di dati principale. -
value_or_threshold — (Facoltativo) (Obbligatorio) se
facet
è numerico elabel_values_or_threshold
viene applicato come limite inferiore per selezionare il gruppo sensibile). Una matrice di valori facet o un numero di soglia che indica il gruppo demografico sensibile favorito dal bias. Se il tipo di dati facet è categorico evalue_or_threshold
non viene fornito, i parametri di bias vengono calcolati come un gruppo per ogni valore univoco (anziché per tutti i valori). Per impostarevalue_or_threshold
per tipi di datifacet
diversi, fai riferimento ai seguenti esempi:-
Per un tipo di dati facet binario, la funzionalità ha due valori possibili:
0
e1
. Se desideri calcolare i parametri di bias per ogni valore, puoi ometterevalue_or_threshold
o impostarlo su una matrice vuota. -
Per un tipo di dati facet categorico, la funzionalità ha tre valori possibili:
bird
,cat
edog
. Se i primi due definiscono un gruppo demografico favorito dai bias, alloravalue_or_threshold
deve essere impostato su["bird", "cat"]
. In questo esempio, i campioni del set di dati sono suddivisi in due gruppi demografici. Il facet del gruppo avvantaggiato ha valorebird
oppurecat
, mentre il facet del gruppo svantaggiato ha valoredog
. -
Per un tipo di dati facet numerico, il valore della funzionalità è continuo e va da
0
a1
. Ad esempio, se un valore maggiore di0.5
deve indicare un campione come favorito, alloravalue_or_threshold
deve essere impostato su.0.5
In questo esempio, i campioni del set di dati sono suddivisi in due gruppi demografici. Il facet del gruppo avvantaggiato ha un valore maggiore di0.5
, mentre il facet del gruppo svantaggiato ha un valore inferiore o uguale a0.5
.
-
-
-
group_variable — (Facoltativo) Il nome o l'indice a base zero della colonna che indica il sottogruppo da utilizzare per la metrica di distorsione o. Disparità demografica condizionata () CDD Disparità demografica condizionale nelle etichette previste () CDDPL
-
facet_dataset_uri — (Facoltativo) Applicabile solo quando dataset_type è.
text/csv
S3 per un set di dati contenente attributi sensibili per l'analisi URI delle distorsioni. È possibile utilizzare i facet per comprendere le caratteristiche di bias del set di dati e del modello anche se il modello viene addestrato senza utilizzare attributi sensibili.Nota
Se il set di dati facet o il set di dati principale è suddiviso in più file,
joinsource_name_or_index
deve specificare una colonna identificativa per unire i due set di dati. È necessario utilizzare il parametrofacet
per identificare ogni facet nel set di dati facet. -
facet_headers — (Facoltativo) Applicabile solo quando specificato.
facet_dataset_uri
Una matrice di stringhe contenente i nomi delle colonne per il set di dati facet e, facoltativamente, l'intestazione della colonna dell'identificatore per unire il set di dati facet e il set di dati principale, vedi.joinsource_name_or_index
-
time_series_data_config — (Facoltativo) Specifica la configurazione da utilizzare per l'elaborazione dei dati di una serie temporale.
item_id — Una stringa o un indice intero a base zero. Questo campo viene utilizzato per individuare l'ID di un elemento nel set di dati di input condiviso.
timestamp: una stringa o un indice intero a base zero. Questo campo viene utilizzato per individuare un timestamp nel set di dati di input condiviso.
dataset_format — I valori possibili sono, o.
columns
item_records
timestamp_records
Questo campo viene utilizzato per descrivere il formato di un JSON set di dati, che è l'unico formato supportato per la spiegabilità delle serie temporali.target_time_series — Una stringa o un indice intero a base zero. JMESPath Questo campo viene utilizzato per individuare la serie temporale di destinazione nel set di dati di input condiviso. Se questo parametro è una stringa, tutti gli altri parametri tranne
dataset_format
devono essere stringhe o elenchi di stringhe. Se questo parametro è un numero intero, tutti gli altri parametri trannedataset_format
devono essere numeri interi o elenchi di numeri interi.related_time_series — (Facoltativo) Una matrice di espressioni. JMESPath Questo campo viene utilizzato per individuare tutte le serie temporali correlate nel set di dati di input condiviso, se presente.
static_covariates — (Facoltativo) Una matrice di espressioni. JMESPath Questo campo viene utilizzato per individuare tutti i campi covariati statici nel set di dati di input condiviso, se presenti.
Per alcuni esempi, consulta Esempi di configurazione di set di dati di serie temporali.
-
methods: un oggetto contenente uno o più metodi di analisi e i relativi parametri. Se un metodo viene omesso, non viene né utilizzato per l'analisi né riportato.
-
pre_training_bias: includi questo metodo se desideri calcolare i parametri di bias prima dell'addestramento. La descrizione dettagliata delle metriche è disponibile in. Metriche di bias pre-addestramento L'oggetto ha i seguenti parametri:
-
methods: una matrice che contiene tutti i parametri di bias pre-addestramento che si desidera calcolare, inclusi nell'elenco seguente. Imposta
methods
suall
per calcolare tutti i parametri di bias pre-addestramento. Ad esempio, la matrice["CI", "DPL"]
calcolerà Squilibrio di classe e Differenza nelle proporzioni delle etichette.-
CI
per Squilibrio di classe (CI) -
LP
per Lp-norm (LP) -
KS
per Kolmogorov-Smirnov (KS)
-
-
-
post_training_bias: includi questo metodo se desideri calcolare i parametri di bias pre-addestramento. La descrizione dettagliata delle metriche è disponibile in. Dati post-allenamento e metriche di distorsione dei modelli L'oggetto
post_training_bias
ha i parametri riportati di seguito.-
methods: una matrice che contiene tutti i parametri di bias post-addestramento che si desidera calcolare, inclusi nell'elenco seguente. Imposta
methods
suall
per calcolare tutti i parametri di bias post-addestramento. Ad esempio, la matrice["DPPL", "DI"]
calcola Differenza nelle proporzioni positive delle etichette previste e Impatto disparato. I metodi disponibili sono i seguenti.
-
-
shap — Includi questo metodo se desideri calcolare valoriSHAP. Il processo di elaborazione SageMaker Clarify supporta l'algoritmo Kernel. SHAP L'oggetto
shap
ha i parametri riportati di seguito.-
baseline — (Facoltativo) Il set di dati di SHAP base, noto anche come set di dati in background. I requisiti aggiuntivi per il set di dati della baseline in un set di dati tabulare o in un problema di visione artificiale sono i seguenti. Per ulteriori informazioni sulle baseline, vedere SHAP SHAPLinee di base per la spiegabilità
-
Per un set di dati tabulare,
baseline
possono essere i dati di base sul posto o l'S3 di un file di base. URI Se nonbaseline
viene fornito, il processo di elaborazione di SageMaker Clarify calcola una linea di base raggruppando il set di dati di input. Di seguito sono riportati i requisiti per la baseline:-
Il formato deve essere uguale a quello del set di dati specificato da
dataset_type
. -
La baseline può contenere solo funzionalità che il modello può accettare come input.
-
Il set di dati della baseline può avere una o più istanze. Il numero di istanze della baseline influisce direttamente sia sulla dimensione del set di dati sintetico che sulla durata del processo.
-
Se
text_config
è specificato, il valore della baseline di una colonna di testo è una stringa utilizzata per sostituire l'unità di testo specificata dagranularity
. Ad esempio, un segnaposto comune è «[MASK]», utilizzato per rappresentare una parola o una parte di testo mancante o sconosciuta.
Gli esempi seguenti mostrano come impostare dati della baseline locali per diversi parametri
dataset_type
:-
Se
dataset_type
ètext/csv
oapplication/x-parquet
, il modello accetta quattro funzionalità numeriche e la baseline ha due istanze. In questo esempio, se un record ha tutti valori di funzionalità zero e l'altro record ha tutti i valori di funzionalità uno, la baseline deve essere impostata su[[0,0,0,0],[1,1,1,1]]
, senza alcuna intestazione. -
Se
dataset_type
èapplication/jsonlines
efeatures
è la chiave per un elenco di quattro valori di funzionalità numeriche. Inoltre, in questo esempio, se la baseline ha un record di tutti i valori zero, allorabaseline
deve essere[{"features":[0,0,0,0]}]
. -
Se
dataset_type
èapplication/json
, il set di datibaseline
deve avere la stessa struttura e lo stesso formato del set di dati di input.
-
-
Per problemi di visione artificiale,
baseline
può trattarsi dell'S3 URI di un'immagine utilizzata per mascherare caratteristiche (segmenti) dall'immagine di input. Il processo di elaborazione SageMaker Clarify carica l'immagine della maschera e la ridimensiona alla stessa risoluzione dell'immagine di input. Se non viene fornita la linea di base, il processo di elaborazione SageMaker Clarify genera un'immagine maschera di rumore biancocon la stessa risoluzione dell'immagine di input.
-
-
features_to_explain — (Facoltativo) Una matrice di stringhe o indici a base zero di colonne di caratteristiche per cui calcolare i valori. SHAP Se non
features_to_explain
viene fornito, i valori vengono calcolati per tutte le colonne delle funzionalità. SHAP Queste colonne di funzionalità non possono includere la colonna dell'etichetta o la colonna dell'etichetta prevista. Il parametrofeatures_to_explain
è supportato solo per set di dati tabulari con colonne numeriche e categoriche. -
num_clusters: (facoltativo) il numero di cluster in cui è suddiviso il set di dati per calcolare il set di dati di base. Ogni cluster viene utilizzato per calcolare un'istanza della baseline. Se non
baseline
è specificato, il job di elaborazione SageMaker Clarify tenta di calcolare il set di dati di base dividendo il set di dati tabulare in un numero ottimale di cluster tra e.1
12
Il numero di istanze di base influisce direttamente sulla durata dell'analisi. SHAP -
num_samples — (Facoltativo) Il numero di campioni da utilizzare nell'algoritmo del kernel. SHAP Se non
num_samples
viene fornito, il processo di elaborazione di SageMaker Clarify sceglie il numero automaticamente. Il numero di campioni influisce direttamente sia sulla dimensione del set di dati sintetico che sulla durata del processo. -
seed — (Facoltativo) Un numero intero utilizzato per inizializzare il generatore di numeri pseudo casuali nell'SHAPesplicatore per generare valori coerenti per lo stesso lavoro. SHAP Se seed non è specificato, ogni volta che viene eseguito lo stesso processo, il modello può generare valori leggermente diversi. SHAP
-
use_logit: (facoltativo) un valore booleano che indica che si desidera che la funzione logit venga applicata alle previsioni del modello. L'impostazione predefinita è
false
. In casouse_logit
affermativotrue
, i SHAP valori vengono calcolati utilizzando i coefficienti di regressione logistica, che possono essere interpretati come rapporti log-odds. -
save_local_shap_values — (Facoltativo) Un valore booleano che indica che desiderate includere i valori locali di ogni record del set di dati nel risultato dell'analisi. SHAP L'impostazione predefinita è
false
.Se il set di dati principale è suddiviso in più file o è attivata l'elaborazione distribuita, specifica anche una colonna identificativa utilizzando il parametro
joinsource_name_or_index
. La colonna dell'identificatore e i valori locali vengono salvati nel risultato dell'analisi. SHAP In questo modo, è possibile mappare ogni record ai suoi SHAP valori locali. -
agg_method — (Facoltativo) Il metodo utilizzato per aggregare SHAP i valori locali (i SHAP valori per ogni istanza) di tutte le istanze ai SHAP valori globali (i SHAP valori per l'intero set di dati). L'impostazione predefinita è
mean_abs
. I seguenti metodi possono essere utilizzati per aggregare i valori. SHAP-
mean_abs — La media dei SHAP valori locali assoluti di tutte le istanze.
-
mean_sq — La media dei valori locali quadrati di tutte le istanze. SHAP
-
mediana — La mediana dei valori locali di tutte le istanze. SHAP
-
-
text_config — Obbligatorio per la spiegabilità dell'elaborazione del linguaggio naturale. Includi questa configurazione se desideri trattare le colonne di testo come testo e se le spiegazioni dovrebbero essere fornite per le singole unità di testo. Per un esempio di configurazione di analisi per la spiegabilità dell'elaborazione del linguaggio naturale, vedi Configurazione di analisi per la spiegabilità dell'elaborazione del linguaggio naturale
-
granularità: l'unità di granularità per l'analisi delle colonne di testo. I valori validi sono
token
,sentence
oparagraph
. Ogni unità di testo è considerata una caratteristica e per ogni unità vengono calcolati SHAP i valori locali. -
lingua: la lingua delle colonne di testo. I valori validi sono
chinese
,danish
,dutch
,english
,french
,german
,greek
,italian
,japanese
,lithuanian
,multi-language
,norwegian bokmål
,polish
,portuguese
,romanian
,russian
,spanish
,afrikaans
,albanian
,arabic
,armenian
,basque
,bengali
,bulgarian
,catalan
,croatian
,czech
,estonian
,finnish
,gujarati
,hebrew
,hindi
,hungarian
,icelandic
,indonesian
,irish
,kannada
,kyrgyz
,latvian
,ligurian
,luxembourgish
,macedonian
,malayalam
,marathi
,nepali
,persian
,sanskrit
,serbian
,setswana
,sinhala
,slovak
,slovenian
,swedish
,tagalog
,tamil
,tatar
,telugu
,thai
,turkish
,ukrainian
,urdu
,vietnamese
,yoruba
. Inseriscimulti-language
per una combinare più lingue. -
max_top_tokens — (Facoltativo) Il numero massimo di token principali, in base a valori globali. SHAP L'impostazione predefinita è
50
. È possibile che un token appaia più volte nel set di dati. Il processo di elaborazione di SageMaker Clarify aggrega i SHAP valori di ciascun token, quindi seleziona i token principali in base ai rispettivi valori globali. SHAP SHAPI valori globali dei token principali selezionati sono inclusi nellaglobal_top_shap_text
sezione del file analysis.json. -
Il valore locale dell'aggregazione. SHAP
-
-
image_config: necessario per la spiegabilità della visione artificiale. Includi questa configurazione se disponi di un set di dati di input composto da immagini e desideri analizzarle per verificarne la spiegabilità in un problema di visione artificiale.
-
model_type: il tipo di modello. I valori validi includono:
-
IMAGE_CLASSIFICATION
di un modello di classificazione delle immagini -
OBJECT_DETECTION
di un modello per il rilevamento di oggetti
-
-
max_objects: applicabile solo quando model_type è
OBJECT_DETECTION
. Il numero massimo di oggetti, ordinato in base al punteggio di attendibilità, rilevato dal modello di visione artificiale. Tutti gli oggetti con un punteggio di attendibilità inferiore al massimo max_objects vengono filtrati. L'impostazione predefinita è3
. -
context: applicabile solo quando model_type è
OBJECT_DETECTION
. Indica se l'area intorno al riquadro di delimitazione dell'oggetto rilevato è mascherata o meno dall'immagine di base. I valori validi sono:0
per mascherare tutto o1
per non mascherare nulla. L'impostazione predefinita è 2. -
iou_threshold — Applicabile solo quando
model_type
èOBJECT_DETECTION
.La metrica di intersezione minima su union (IOU) per la valutazione delle previsioni rispetto al rilevamento originale. Una IOU metrica elevata corrisponde a una grande sovrapposizione tra la casella di rilevamento della verità prevista e quella della verità fondamentale. L'impostazione predefinita è0.5
. -
num_segments: (facoltativo) un numero intero che determina il numero approssimativo di segmenti da etichettare nell'immagine di input. Ogni segmento dell'immagine è considerato una caratteristica e per ogni segmento vengono calcolati SHAP i valori locali. L'impostazione predefinita è
20
. -
segment_compactness: (facoltativo) un numero intero che determina la forma e la dimensione dei segmenti di immagine generati dal metodo scikit-image slic
. L'impostazione predefinita è 5
.
-
-
-
pdp — Include questo metodo per calcolare i grafici delle dipendenze parziali (). PDPs Per un esempio di configurazione di analisi da generare, vedere PDPs Calcola i grafici di dipendenza parziale () PDPs
-
funzionalità: obbligatorio se il metodo
shap
non è richiesto. Una serie di nomi o indici di funzionalità per calcolare e tracciare PDP grafici. -
top_k_features — (Facoltativo) Specifica il numero di funzionalità principali utilizzate per generare grafici. PDP Se non
features
viene fornito, ma ilshap
metodo è richiesto, il processo di elaborazione di SageMaker Clarify sceglie le funzionalità principali in base alle relative attribuzioni. SHAP L'impostazione predefinita è10
. -
grid_resolution: il numero di bucket in cui dividere l'intervallo di valori numerici. Questo specifica la granularità della griglia per i grafici. PDP
-
-
asymmetric_shapley_value — Includi questo metodo se desideri calcolare metriche di spiegabilità per i modelli di previsione delle serie temporali. Il processo di elaborazione Clarify SageMaker supporta l'algoritmo asimmetrico dei valori Shapley. I valori asimmetrici di Shapley sono una variante del valore di Shapley che elimina l'assioma di simmetria. Per ulteriori informazioni, vedere Valori di Shapley asimmetrici
: incorporazione della conoscenza causale nella spiegabilità indipendente dal modello. Utilizzate questi valori per determinare in che modo le funzionalità contribuiscono al risultato della previsione. I valori asimmetrici di Shapley tengono conto delle dipendenze temporali dei dati delle serie temporali che i modelli di previsione prendono come input. L'algoritmo include i seguenti parametri:
direzione: i tipi disponibili sono
chronological
anti_chronological
, ebidirectional
. La struttura temporale può essere navigata in ordine cronologico o anticronologico o entrambi. Le spiegazioni cronologiche vengono create aggiungendo iterativamente informazioni dalla prima fase in poi. Le spiegazioni anticronologiche aggiungono informazioni a partire dall'ultimo passaggio e procedendo a ritroso. Quest'ultimo ordine può essere più appropriato in presenza di tendenze di tendenza al cambio di tendenza, ad esempio per la previsione dei prezzi delle azioni.granularità: la granularità della spiegazione da utilizzare. Le opzioni di granularità disponibili sono mostrate come segue:
in termini di tempo:
timewise
le spiegazioni sono poco costose e forniscono informazioni solo su fasi temporali specifiche, ad esempio per capire in che misura le informazioni del giorno del passato hanno contribuito alla previsione del millesimo giorno nel futuro. Le attribuzioni risultanti non spiegano singolarmente le covariate statiche e non fanno distinzione tra target e serie temporali correlate.fine_grained:
fine_grained
le spiegazioni sono computazionalmente più impegnative ma forniscono una suddivisione completa di tutte le attribuzioni delle variabili di input. Il metodo calcola spiegazioni approssimative per ridurre il tempo di esecuzione. Per ulteriori informazioni, vedere il seguente parametro.num_samples
Nota
fine_grained
le spiegazioni supportano solo l'chronological
ordine.
num_samples — (Facoltativo) Questo argomento è obbligatorio per le spiegazioni.
fine_grained
Più alto è il numero, più precisa è l'approssimazione. Questo numero deve adattarsi alla dimensionalità delle feature di input. Una regola pratica consiste nell'impostare questa variabile su (1 + max (numero di serie temporali correlate, numero di covariate statiche)) ^2 se il risultato non è troppo grande.baseline — (Facoltativo) La configurazione di base per sostituire out-of-coalition i valori per i set di dati corrispondenti (nota anche come dati di sfondo). Il frammento seguente mostra un esempio di configurazione di base:
{ "related_time_series": "zero", "static_covariates": {
<item_id_1>
: [0, 2],<item_id_2>
: [-1, 1] }, "target_time_series": "zero" }Per i dati temporali come le serie temporali di destinazione o le serie temporali correlate, i tipi di valori di base possono essere uno dei seguenti valori:
zero
— Tutti i out-of-coalition valori vengono sostituiti con 0,0.mean
— Tutti i out-of-coalition valori vengono sostituiti con la media di una serie temporale.
Per le covariate statiche, è necessario fornire una voce di base solo quando la richiesta del modello accetta valori di covariate statici, nel qual caso questo campo è obbligatorio. La linea di base deve essere fornita per ogni elemento sotto forma di elenco. Ad esempio, se si dispone di un set di dati con due covariate statiche, la configurazione di base potrebbe essere la seguente:
"static_covariates": {
<item_id_1>
: [1, 1],<item_id_2>
: [0, 1] }Nell'esempio precedente,
<item_id_1>
e<item_id_2>
sono gli ID degli elementi del set di dati.
-
report: (facoltativo) utilizza questo oggetto per personalizzare il report di analisi. Questo parametro non è supportato per i lavori di spiegazione delle serie temporali. Esistono tre copie dello stesso rapporto come parte del risultato dell'analisi: rapporto Jupyter Notebook, rapporto e HTML rapporto. PDF L'oggetto ha i seguenti parametri:
-
name: nome del file di report. Ad esempio, se
name
èMyReport
, allora i file di report sonoMyReport.ipynb
,MyReport.html
, eMyReport.pdf
. L'impostazione predefinita èreport
. -
title: (facoltativo) stringa del titolo del report. L'impostazione predefinita è
SageMaker Analysis Report
.
-
-
-
predittore: obbligatorio se l'analisi richiede previsioni dal modello. Ad esempio, quando viene richiesto il
post_training_bias
metodoshap
asymmetric_shapley_value
,pdp
, o, ma le etichette previste non vengono fornite come parte del set di dati di input. Di seguito sono riportati i parametri da utilizzare insieme apredictor
:-
model_name — Il nome del SageMaker modello creato da. CreateModelAPI Se specificate
model_name
al posto di endpoint_name, il processo di elaborazione di SageMaker Clarify crea un endpoint temporaneo con il nome del modello, noto come endpoint ombra, e ottiene le previsioni dall'endpoint. Il processo elimina l'endpoint shadow dopo aver completato i calcoli. Se il modello è multimodello, è necessario specificare il parametro.target_model
Per ulteriori informazioni sugli endpoint multimodello, vedere. Endpoint multi-modello -
endpoint_name_prefix: (facoltativo) un prefisso di nome personalizzato per l'endpoint shadow. Applicabile se fornisci
model_name
invece diendpoint_name
. Ad esempio, fornisciendpoint_name_prefix
se desideri limitare l'accesso all'endpoint in base al nome dell'endpoint. Il prefisso deve corrispondere al EndpointNamemodello e la sua lunghezza massima è.23
L'impostazione predefinita èsm-clarify
. -
initial_instance_count: specifica il numero di istanze dell'endpoint shadow. Obbligatorio se fornisci model_name anziché endpoint_name. Il valore di
initial_instance_count
può essere diverso da quello InstanceCountdel lavoro, ma consigliamo un rapporto 1:1. -
instance_type: specifica il tipo di istanza dell'endpoint shadow. Obbligatorio se fornisci
model_name
invece diendpoint_name
. Ad esempio,instance_type
può essere impostato su "ml.m5.large". In alcuni casi, il valore specificato perinstance_type
può aiutare a ridurre il tempo di inferenza del modello. Ad esempio, per funzionare in modo efficiente, i modelli di elaborazione del linguaggio naturale e i modelli di visione artificiale richiedono in genere un tipo di istanza di unità di elaborazione grafica (GPU). -
endpoint_name: il nome del tuo SageMaker endpoint creato da. CreateEndpointAPI Se fornito,
endpoint_name
ha la precedenza sul parametromodel_name
. L'utilizzo di un endpoint esistente riduce il tempo di bootstrap dell'endpoint shadow, ma può anche causare un aumento significativo del carico per quell'endpoint. Inoltre, alcuni metodi di analisi (comeshap
epdp
) generano set di dati sintetici che vengono inviati all'endpoint. Ciò può far sì che i parametri o i dati acquisiti dell'endpoint vengano contaminati da dati sintetici, che potrebbero non riflettere accuratamente l'utilizzo nel mondo reale. Per questi motivi, in genere non è consigliabile utilizzare un endpoint di produzione esistente per l'analisi di Clarify. SageMaker -
target_model — Il valore della stringa che viene passato al parametro di. TargetModel SageMaker InvokeEndpointAPI Necessario se il modello (specificato dal parametro model_name) o l'endpoint (specificato dal parametro endpoint_name) sono multi-modello. Per ulteriori informazioni sugli endpoint multimodello, consulta. Endpoint multi-modello
-
custom_attributes: (facoltativo) una stringa che consente di fornire informazioni aggiuntive su una richiesta di inferenza inviata all'endpoint. Il valore della stringa viene passato al
CustomAttributes
parametro di. SageMaker InvokeEndpointAPI -
content_type: il formato di input del modello da utilizzare per ottenere previsioni dall'endpoint. Se fornito, viene passato al
ContentType
parametro di SageMaker InvokeEndpointAPI.-
Per la spiegabilità della visione artificiale, i valori validi sono
image/jpeg
,image/png
oapplication/x-npy
. Secontent_type
non viene specificato, il valore predefinito èimage/jpeg
. Per la spiegabilità della previsione delle serie temporali, il valore valido è.
application/json
-
Per altri tipi di spiegabilità, i valori validi sono
text/csv
,application/jsonlines,
eapplication/json
.content_type
È richiesto un valore per se è.dataset_type
application/x-parquet
Altrimenti, il valore predefinito dicontent_type
è quello del parametrodataset_type
.
-
-
accept_type: il formato di output del modello da utilizzare per ottenere previsioni dall'endpoint. Il valore per
accept_type
viene passato alAccept
parametro di SageMaker InvokeEndpointAPI.-
Per la spiegabilità della visione artificiale, se
model_type
è "OBJECT_DETECTION", il valore predefinitoaccept_type
è.application/json
Per la spiegabilità della previsione delle serie temporali, il valore valido è.
application/json
-
Per altri tipi di spiegabilità, i valori validi sono
text/csv
,application/jsonlines
eapplication/json
. Se non viene fornito un valore peraccept_type
, il valore predefinito diaccept_type
è il valore del parametrocontent_type
.
-
-
content_template: una stringa modello utilizzata per costruire l'input del modello dai record del set di dati. Il parametro
content_template
viene utilizzato e richiesto solo se il valore del parametrocontent_type
èapplication/jsonlines
oapplication/json
Quando il parametro
content_type
èapplication/jsonlines
, la stringa modello deve avere un solo segnaposto,$features
, che viene sostituito dall'elenco delle funzionalità in fase di runtime. Ad esempio, se il modello è"{\"myfeatures\":$features}"
, e se un record ha tre valori di feature numeriche:1
,2
e3
, allora il record verrà inviato al modello come Linea. JSON{"myfeatures":[1,2,3]}
Quando
content_type
èapplication/json
, la stringa modello può avere un segnaposto$record
orecords
. Se il segnaposto èrecord
, un singolo record viene sostituito con un record a cui è applicata la stringa modello inrecord_template
. In questo caso, al modello verrà inviato un solo record alla volta. Se il segnaposto è$records
, i record vengono sostituiti da un elenco di record, ciascuno con una stringa modello fornita darecord_template
. -
record_template: una stringa modello da utilizzare per costruire ogni record dell'input del modello dalle istanze del set di dati. Viene utilizzato e richiesto solo quando
content_type
èapplication/json
La stringa modello può contenere:-
Un segnaposto parametro
$features
che viene sostituito da una matrice di valori di funzionalità. Un segnaposto opzionale aggiuntivo può sostituire i nomi delle intestazioni delle colonne di funzionalità in$feature_names
. Questo segnaposto opzionale verrà sostituito da una serie di nomi di funzionalità. -
Esattamente un segnaposto
$features_kvp
che viene sostituito da coppie chiave-valore, nome e valore della funzionalità. -
Una funzionalità nella configurazione
headers
. Ad esempio, il nome di una funzionalitàA
, annotato dalla sintassi del segnaposto"${A}"
verrà sostituito dal valore della funzionalità diA
.
Il valore di
record_template
viene utilizzato concontent_template
per costruire l'input del modello. Segue un esempio di configurazione che mostra come costruire un input del modello utilizzando contenuti e record modello.Nel seguente esempio di codice, le intestazioni e le funzionalità sono definite come segue.
-
`headers`:["A", "B"]
-
`features`:[[0,1], [3,4]]
L'input del modello di esempio è:
{ "instances": [[0, 1], [3, 4]], "feature_names": ["A", "B"] }
Di seguito sono riportati come esempio i valori dei parametri
content_template
erecord_template
, per costruire l'input del modello dell'esempio precedente.-
content_template: "{\"instances\": $records, \"feature_names\": $feature_names}"
-
record_template: "$features"
Nel seguente esempio di codice, le intestazioni e le funzionalità sono definite come segue.
[ { "A": 0, "B": 1 }, { "A": 3, "B": 4 }, ]
Di seguito sono riportati come esempio i valori dei parametri
content_template
erecord_template
, per costruire l'input del modello dell'esempio precedente.-
content_template: "$records"
-
record_template: "$features_kvp"
Segue un esempio di codice alternativo per costruire l'input del modello dell'esempio precedente.
-
content_template: "$records"
-
record_template: "{\"A\": \"${A}\", \"B\": \"${B}\"}"
Nel seguente esempio di codice, le intestazioni e le funzionalità sono definite come segue.
{ "A": 0, "B": 1 }
I valori dei parametri content_template e record_template di esempio da costruire sopra: segue l'input del modello di esempio precedente.
-
content_template: "$record"
-
record_template: "$features_kvp"
Per ulteriori esempi, consulta Richieste endpoint per dati di serie temporali.
-
-
label — (Facoltativo) Un indice intero o una stringa di JMESPath espressione a base zero utilizzata per estrarre le etichette previste dall'output del modello per l'analisi delle distorsioni. Se il modello è multiclasse e il parametro
label
estrae tutte le etichette previste dall'output del modello, si applica quanto segue. Questa funzionalità non è supportata per le serie temporali.-
Il parametro
probability
è necessario per ottenere le probabilità (o i punteggi) corrispondenti dall'output del modello. -
Viene scelta l'etichetta prevista del punteggio più alto.
Il valore di
label
viene specificato in base al valore del parametro accept_type, come segue.-
Se
accept_type
ètext/csv
, alloralabel
è l'indice di tutte le etichette previste nell'output del modello. -
Se
accept_type
èapplication/jsonlines
oapplication/json
, alloralabel
è un'JMESPathespressione che viene applicata all'output del modello per ottenere le etichette previste.
-
-
label_headers — (Facoltativo) Una matrice di valori che l'etichetta può assumere nel set di dati. Se viene richiesta l'analisi del bias, il parametro
probability
è necessario anche per ottenere i valori di probabilità (punteggi) corrispondenti dall'output del modello e viene scelta l'etichetta prevista del punteggio più alto. Se viene richiesta l'analisi della spiegabilità, le intestazioni delle etichette vengono utilizzate per abbellire il report di analisi. È richiesto un valore dilabel_headers
, per la spiegabilità della visione artificiale. Ad esempio, per un problema di classificazione multiclasse, se l'etichetta ha tre valori possibili,bird
,cat
edog
, alloralabel_headers
deve essere impostato su["bird","cat","dog"]
. -
probabilità — (Facoltativo) Un indice intero a base zero o una stringa di JMESPath espressione utilizzata per estrarre le probabilità (punteggi) per l'analisi della spiegabilità (ma non per la spiegabilità delle serie temporali) o per scegliere l'etichetta prevista per l'analisi delle distorsioni. Il valore di
probability
viene specificato in base al valore del parametroaccept_type
, come segue.-
Se
accept_type
ètext/csv
,probability
è l'indice delle probabilità (punteggi) nell'output del modello. Seprobability
non viene fornito, l'intero output del modello viene considerato come probabilità (punteggi). -
Se si
accept_type
tratta di JSON dati (application/jsonlines
oapplication/json
),probability
dovrebbe essere un'JMESPathespressione utilizzata per estrarre le probabilità (punteggi) dall'output del modello.
-
-
time_series_predictor_config — (Facoltativo) Utilizzato solo per la spiegabilità delle serie temporali. Utilizzato per indicare al processore SageMaker Clarify come analizzare correttamente i dati dai dati trasmessi come ingresso S3. URI
dataset_uri
previsione: JMESPath espressione utilizzata per estrarre il risultato della previsione.
-
File di configurazione dell'analisi di esempio
Le sezioni seguenti contengono esempi di file di configurazione di analisi per dati in CSV formato, formato JSON Lines e per la spiegabilità dell'elaborazione del linguaggio naturale (NLP), della visione artificiale (CV) e delle serie temporali (TS).
I seguenti esempi mostrano come configurare l'analisi delle distorsioni e della spiegabilità per un set di dati tabulare in formato. CSV In questi esempi, il set di dati in entrata ha quattro colonne di funzionalità e una colonna di etichette binarie, Target
. Il contenuto del set di dati è il seguente. Un valore di etichetta pari a 1
indica un risultato positivo. Il set di dati viene fornito al job SageMaker Clarify dall'input di elaborazione. dataset
"Target","Age","Gender","Income","Occupation" 0,25,0,2850,2 1,36,0,6585,0 1,22,1,1759,1 0,48,0,3446,1 ...
Le sezioni seguenti mostrano come calcolare le metriche di distorsione, i SHAP valori e i grafici delle dipendenze parziali prima e dopo l'allenamento (PDPs) che mostrano l'importanza delle funzionalità per un set di dati in formato. CSV
Calcola tutti i parametri di bias pre-addestramento
Questa configurazione di esempio mostra come misurare se il set di dati del campione precedente è orientato favorevolmente verso campioni con un valore Gender
di 0
. La seguente configurazione di analisi indica al processo di elaborazione di SageMaker Clarify di calcolare tutte le metriche di distorsione prima dell'allenamento per il set di dati.
{ "dataset_type": "text/csv", "label": "Target", "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" } } }
Calcola tutti i parametri di bias post-addestramento
Puoi calcolare i parametri di bias pre-addestramento prima dell'addestramento. Tuttavia, è necessario disporre di un modello addestrato per calcolare i parametri di bias post-addestramento. L'output di esempio seguente proviene da un modello di classificazione binaria che restituisce dati in formato. CSV In questo output di esempio, ogni riga contiene due colonne. La prima colonna contiene l'etichetta prevista e la seconda colonna contiene il valore di probabilità per quell'etichetta.
0,0.028986845165491 1,0.825382471084594 ...
Il seguente esempio di configurazione indica al processo di elaborazione di SageMaker Clarify di calcolare tutte le possibili metriche di distorsione utilizzando il set di dati e le previsioni dall'output del modello. Nell'esempio, il modello viene distribuito su un endpoint. SageMaker your_endpoint
Nota
Nell'esempio di codice seguente, i parametri content_type
e accept_type
non sono impostati. Pertanto, utilizzano automaticamente il valore del parametro dataset_type, che è text/csv
.
{ "dataset_type": "
text/csv
", "label": "Target
", "label_values_or_threshold":[1]
, "facet": [ { "name_or_index": "Gender
", "value_or_threshold":[0]
} ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" } }, "predictor": { "endpoint_name": "your_endpoint
", "label":0
} }
Calcola i valori SHAP
Il seguente esempio di configurazione di analisi indica al job di calcolare i SHAP valori che designano la Target
colonna come etichette e tutte le altre colonne come feature.
{ "dataset_type": "
text/csv
", "label": "Target
", "methods": { "shap": { "num_clusters":1
} }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
In questo esempio, il SHAP baseline
parametro viene omesso e il valore del parametro è. num_clusters
1
Questo indica al processore SageMaker Clarify di calcolare un campione di base. SHAP In questo esempio, la probabilità è impostata su 1
. Ciò indica al processo di elaborazione SageMaker Clarify di estrarre il punteggio di probabilità dalla seconda colonna dell'output del modello (utilizzando l'indicizzazione a base zero).
Calcola i grafici di dipendenza parziale () PDPs
L'esempio seguente mostra come visualizzare l'importanza della Income
feature nel report di analisi utilizzando. PDPs Il parametro report indica al processo di elaborazione di SageMaker Clarify di generare un report. Una volta completato il processo, il report generato viene salvato come report.pdf nella posizione analysis_result
. Il parametro grid_resolution
divide l'intervallo dei valori della funzionalità in bucket 10
. Insieme, i parametri specificati nell'esempio seguente indicano al processo di elaborazione SageMaker Clarify di generare un report contenente un PDP grafico per i 10
segmenti sull'asse Income
x. L'asse y mostrerà l'impatto marginale di Income
sulle predizioni.
{ "dataset_type": "text/csv", "label": "Target", "methods": { "pdp": { "features": ["
Income
"], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
}, }
Calcola sia i parametri di bias che l'importanza delle funzionalità
È possibile combinare tutti i metodi degli esempi di configurazione precedenti in un unico file di configurazione di analisi e calcolarli tutti con un unico processo. L'esempio seguente mostra una configurazione di analisi con tutte le fasi combinate.
In questo esempio, il parametro probability
è impostato su 1
per indicare che le probabilità sono contenute nella seconda colonna (utilizzando l'indicizzazione a base zero). Tuttavia, poiché l'analisi delle distorsioni richiede un'etichetta prevista, il parametro probability_threshold
è impostato su 0.5
per convertire il punteggio di probabilità in un'etichetta binaria. In questo esempio, il parametro top_k_features
del metodo pdp
dei grafici di dipendenza parziale è impostato su 2
. Questo indica al processo di elaborazione SageMaker Clarify di calcolare i grafici di dipendenza parziali (PDPs) per le funzionalità principali con i valori globali più grandi. 2
SHAP
{ "dataset_type": "text/csv", "label": "
Target
", "probability_threshold":0.5
, "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" }, "shap": { "num_clusters":1
}, "pdp": { "top_k_features":2
, "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
Invece di distribuire il modello su un endpoint, è possibile fornire il nome del SageMaker modello al processo di elaborazione Clarify utilizzando il parametro. SageMaker model_name
Il seguente esempio mostra come specificare un modello denominato your_model
. Il processo di elaborazione SageMaker Clarify creerà un endpoint shadow utilizzando la configurazione.
{ ... "predictor": { "model_name": "
your_model
", "initial_instance_count":1
, "instance_type": "ml.m5.large
", "probability":1
} }
I seguenti esempi mostrano come configurare l'analisi delle distorsioni e l'analisi della spiegabilità per un set di dati tabulare in formato Lines. JSON In questi esempi, il set di dati in entrata contiene gli stessi dati della sezione precedente, ma sono nel formato Lines dense. SageMaker JSON Ogni riga è un oggetto validoJSON. La chiave "Features" si riferisce a una serie di valori di funzionalità e la chiave "Label" si riferisce all'etichetta Ground Truth. Il set di dati viene fornito al job SageMaker Clarify dall'input di elaborazione del «set di dati». Per ulteriori informazioni su JSON Lines, vedere. JSONLINESformato della richiesta
{"Features":[25,0,2850,2],"Label":0} {"Features":[36,0,6585,0],"Label":1} {"Features":[22,1,1759,1],"Label":1} {"Features":[48,0,3446,1],"Label":0} ...
Le sezioni seguenti mostrano come calcolare le metriche di distorsione, i SHAP valori e i grafici di dipendenza parziale prima e dopo l'allenamento (PDPs) che mostrano l'importanza delle funzionalità per un set di dati in formato Lines. JSON
Calcola i parametri di bias pre-addestramento
Specifica l'etichetta, le funzionalità, il formato e i metodi per misurare i parametri di bias pre-addestramento per un valore Gender
di 0
. Nell'esempio seguente, il parametro headers
fornisce innanzitutto i nomi delle funzionalità. Il nome dell'etichetta viene fornito per ultimo. Per convenzione, l'ultima intestazione è quella dell'etichetta.
Il features
parametro è impostato sull'JMESPathespressione «Features» in modo che il processo di elaborazione SageMaker Clarify possa estrarre la serie di funzionalità da ogni record. Il label
parametro è impostato sull'JMESPathespressione «Label» in modo che il processo di elaborazione di SageMaker Clarify possa estrarre l'etichetta di verità fondamentale da ogni record. Utilizza un nome di facet per specificare l'attributo sensibile, come segue.
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" } } }
Calcola tutti i parametri di bias
È necessario disporre di un modello addestrato per calcolare i parametri di bias post-addestramento. L'esempio seguente è tratto da un modello di classificazione binaria che restituisce i dati di JSON Lines nel formato dell'esempio. Ogni riga dell'output del modello è un JSON oggetto valido. La predicted_label
chiave si riferisce all'etichetta prevista e la probability
chiave si riferisce al valore di probabilità.
{"predicted_label":0,"probability":0.028986845165491} {"predicted_label":1,"probability":0.825382471084594} ...
È possibile distribuire il modello su un SageMaker endpoint denominato. your_endpoint
Il seguente esempio di configurazione di analisi indica al processo di elaborazione di SageMaker Clarify di calcolare tutte le possibili metriche di distorsione sia per il set di dati che per il modello. In questo esempio, i parametri content_type
e accept_type
non sono impostati. Pertanto, utilizzano automaticamente il valore del parametro dataset_type, che è application/jsonlines
. Il processo di elaborazione SageMaker Clarify utilizza il content_template
parametro per comporre l'input del modello, sostituendo il segnaposto con una serie di funzionalità. $features
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features
}", "label": "predicted_label
" } }
Calcola i valori SHAP
Poiché SHAP l'analisi non necessita di un'etichetta di verità fondamentale, il label
parametro viene omesso. In questo esempio, anche il parametro headers
è omesso. Pertanto, il processo di elaborazione di SageMaker Clarify deve generare segnaposti utilizzando nomi generici come column_0
o column_1
per le intestazioni delle funzionalità e label0
per l'intestazione di un'etichetta. È possibile specificare i valori per headers
e label
, in modo da migliorare la leggibilità del risultato dell'analisi. Poiché il parametro di probabilità è impostato su JMESPath espressioneprobability
, il valore di probabilità verrà estratto dall'output del modello. Di seguito è riportato un esempio di calcolo SHAP dei valori.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "shap": { "num_clusters
": 1 } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
Calcola i grafici di dipendenza parziali () PDPs
L'esempio seguente mostra come visualizzare l'importanza di «Income» su. PDP In questo esempio, le intestazioni delle funzionalità non vengono fornite. Pertanto, il parametro features
del metodo pdp
deve utilizzare un indice a base zero per fare riferimento alla posizione della colonna di funzionalità. Il parametro grid_resolution
divide l'intervallo dei valori della funzionalità in bucket 10
. Insieme, i parametri dell'esempio indicano al processo di elaborazione di SageMaker Clarify di generare un report contenente un PDP grafico per Income
i 10
segmenti sull'asse x. L'asse y mostrerà l'impatto marginale di Income
sulle predizioni.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "pdp": { "features": [2
], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
Calcola sia i parametri di bias che l'importanza delle funzionalità
È possibile combinare tutti i metodi precedenti in un unico file di configurazione di analisi e calcolarli tutti con un unico processo. L'esempio seguente mostra una configurazione di analisi con tutte le fasi combinate. In questo esempio, il parametro probability
è impostato. Tuttavia, poiché l'analisi dei bias richiede un'etichetta prevista, il parametro probability_threshold
è impostato su 0.5
per convertire il punteggio di probabilità in un'etichetta binaria. In questo esempio, il parametro top_k_features
del metodo pdp
è impostato su 2
. Ciò indica al processo di elaborazione SageMaker Clarify di calcolare le funzionalità principali 2
con PDPs i valori globali più elevati. SHAP
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "probability_threshold":0.5
, "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" }, "shap": { "num_clusters":1
}, "pdp": { "top_k_features":2
, "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
I seguenti esempi mostrano come configurare l'analisi delle distorsioni e della spiegabilità per un set di dati tabulare in formato. JSON In questi esempi, il set di dati in entrata contiene gli stessi dati della sezione precedente, ma sono in formato denso. SageMaker JSON Per ulteriori informazioni su JSON Lines, vedere. JSONLINESformato della richiesta
L'intera richiesta di input è valida JSON laddove la struttura esterna è un elenco e ogni elemento è il dato di un record. All'interno di ogni record, la chiave Features
si riferisce a una serie di valori di funzionalità e la chiave Label
si riferisce all'etichetta Ground Truth. Il set di dati viene fornito al job SageMaker Clarify dall'input di dataset
elaborazione.
[ {"Features":[25,0,2850,2],"Label":0}, {"Features":[36,0,6585,0],"Label":1}, {"Features":[22,1,1759,1],"Label":1}, {"Features":[48,0,3446,1],"Label":0}, ... ]
Le sezioni seguenti mostrano come calcolare le metriche di distorsione, i SHAP valori e i grafici di dipendenza parziale prima e dopo l'allenamento (PDPs) che mostrano l'importanza delle funzionalità per un set di dati in formato Lines. JSON
Calcola i parametri di bias pre-addestramento
Specifica l'etichetta, le funzionalità, il formato e i metodi per misurare i parametri di bias pre-addestramento per un valore Gender
di 0
. Nell'esempio seguente, il parametro headers
fornisce innanzitutto i nomi delle funzionalità. Il nome dell'etichetta viene fornito per ultimo. Per i JSON set di dati, l'ultima intestazione è l'intestazione dell'etichetta.
Il features
parametro è impostato sull'JMESPathespressione che estrae una matrice o una matrice 2D. Ogni riga di questa matrice deve contenere l'elenco di Features
in ogni record. Il label
parametro è impostato su JMESPath un'espressione che estrae un elenco di etichette di verità di base. Ogni elemento di questo elenco deve contenere l'etichetta di un record.
Utilizza un nome di facet per specificare l'attributo sensibile, come segue.
{ "dataset_type": "application/json", "headers": ["Age","Gender","Income","Occupation","Target"], "label": "[*].Label", "features": "[*].Features", "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" } } }
Calcola tutti i parametri di bias
È necessario disporre di un modello addestrato per calcolare i parametri di bias post-addestramento. Il seguente esempio di codice proviene da un modello di classificazione binaria che restituisce JSON i dati nel formato dell'esempio. Nell'esempio, ogni elemento sotto predictions
è l'output di previsione per un record. L'esempio di codice contiene la chiave predicted_label
, che si riferisce all'etichetta prevista, e la chiave probability
, che si riferisce al valore di probabilità.
{ "predictions": [ {"predicted_label":0,"probability":0.028986845165491}, {"predicted_label":1,"probability":0.825382471084594}, ... ] }
È possibile distribuire il modello su un SageMaker endpoint denominato. your_endpoint
Nel seguente esempio, i parametri content_type
e accept_type
non sono impostati. Pertanto, content_type
e accept_type
vengono impostati automaticamente sul valore del parametro dataset_type
, che è application/json
. Il processo di elaborazione di SageMaker Clarify utilizza quindi il content_template
parametro per comporre l'input del modello.
Nell'esempio seguente, l'input del modello è composto sostituendo il segnaposto $records
con una matrice di record. Quindi, il record_template
parametro compone la JSON struttura di ogni record e sostituisce il $features
segnaposto con la serie di funzionalità di ogni record.
Il seguente esempio di configurazione di analisi indica al processo di elaborazione di SageMaker Clarify di calcolare tutte le possibili metriche di distorsione sia per il set di dati che per il modello.
{ "dataset_type": "application/json", "headers": ["Age","Gender","Income","Occupation","Target"], "label": "[*].Label", "features": "[*].Features", "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" }, "post_training_bias": { "methods": "all" } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "label": "predictions[*].predicted_label" } }
Calcola i valori SHAP
Non è necessario specificare un'etichetta per l'SHAPanalisi. Nel seguente esempio, il parametro headers
non è impostato. Pertanto, il processo di elaborazione di SageMaker Clarify genererà segnaposti utilizzando nomi generici come column_0
o column_1
per le intestazioni delle funzionalità e label0
per l'intestazione di un'etichetta. È possibile specificare i valori per headers
e label
, in modo da migliorare la leggibilità del risultato dell'analisi.
Nel seguente esempio di configurazione, il parametro di probabilità è impostato su un'JMESPathespressione che estrae le probabilità da ogni previsione per ogni record. Di seguito è riportato un esempio di calcolo dei valori. SHAP
{ "dataset_type": "application/json", "features": "[*].Features", "methods": { "shap": { "num_clusters": 1 } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "probability": "predictions[*].probability" } }
Calcola i grafici delle dipendenze parziali () PDPs
L'esempio seguente mostra come visualizzare l'importanza di una funzionalità in. PDPs Nell'esempio, le intestazioni delle funzionalità non vengono fornite. Pertanto, il parametro features
del metodo pdp
deve utilizzare un indice a base zero per fare riferimento alla posizione della colonna di funzionalità. Il parametro grid_resolution
divide l'intervallo dei valori della funzionalità in bucket 10
.
Insieme, i parametri dell'esempio seguente indicano al processo di elaborazione SageMaker Clarify di generare un report contenente un PDP grafico per Income
i 10
segmenti sull'asse x. L'asse y mostra l'impatto marginale di Income
sulle predizioni.
Il seguente esempio di configurazione mostra come visualizzare l'importanza di on. Income
PDPs
{ "dataset_type": "application/json", "features": "[*].Features", "methods": { "pdp": { "features": [2], "grid_resolution": 10 }, "report": { "name": "report" } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "probability": "predictions[*].probability" } }
Calcola sia i parametri di bias che l'importanza delle funzionalità
Puoi combinare tutti i metodi di configurazione precedenti in un unico file di configurazione dell'analisi e calcolarli tutti in un unico processo. L'esempio seguente mostra una configurazione di analisi con tutte le fasi combinate.
In questo esempio, il parametro probability
è impostato. Poiché l'analisi dei bias richiede un'etichetta prevista, il parametro probability_threshold
viene impostato su 0.5
, che viene utilizzato per convertire il punteggio di probabilità in un'etichetta binaria. In questo esempio, il parametro top_k_features
del metodo pdp
è impostato su 2
. Questo indica al processo di elaborazione di SageMaker Clarify di calcolare PDPs le 2
funzionalità principali con i valori globali più elevati. SHAP
{ "dataset_type": "application/json", "headers": ["Age","Gender","Income","Occupation","Target"], "label": "[*].Label", "features": "[*].Features", "probability_threshold": 0.5, "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" }, "post_training_bias": { "methods": "all" }, "shap": { "num_clusters": 1 }, "pdp": { "top_k_features": 2, "grid_resolution": 10 }, "report": { "name": "report" } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "probability": "predictions[*].probability" } }
L'esempio seguente mostra un file di configurazione dell'analisi per il calcolo dell'importanza delle funzionalità per l'elaborazione del linguaggio naturale (). NLP In questo esempio, il set di dati in entrata è un set di dati tabulare in CSV formato, con una colonna di etichette binarie e due colonne di caratteristiche, come segue. Il set di dati viene fornito al job SageMaker Clarify tramite il parametro di input di elaborazione. dataset
0,2,"They taste gross" 1,3,"Flavor needs work" 1,5,"Taste is awful" 0,1,"The worst" ...
In questo esempio, un modello di classificazione binaria è stato addestrato sul precedente set di dati. Il modello accetta CSV dati ed emette un singolo punteggio compreso tra 0
e1
, come segue.
0.491656005382537 0.569582343101501 ...
Il modello viene utilizzato per creare un SageMaker modello denominato «your_model». La seguente configurazione di analisi mostra come eseguire un'analisi di spiegabilità basata su token utilizzando il modello e il set di dati. Il text_config
parametro attiva l'analisi della NLP spiegabilità. Il parametro granularity
indica che l'analisi deve analizzare i token.
In inglese, ogni token è una parola. L'esempio seguente mostra anche come fornire un'istanza «di base» sul posto utilizzando un SHAP «Rating» medio di 4. Uno speciale token di maschera «[MASK]» viene utilizzato per sostituire un token (parola) in «Commenti». Questo esempio utilizza anche un tipo di istanza GPU endpoint per velocizzare l'inferenza.
{ "dataset_type": "
text/csv
", "headers": ["Target","Rating","Comments"
] "label": "Target
", "methods": { "shap": { "text_config": { "granularity": "token
", "language": "english
" } "baseline": [[4,"[MASK]"
]], } }, "predictor": { "model_name": "your_nlp_model
", "initial_instance_count":1
, "instance_type": "ml.g4dn.xlarge
" } }
L'esempio seguente mostra un file di configurazione di analisi per il calcolo dell'importanza della funzionalità per la visione artificiale. In questo esempio, il set di dati di input è costituito da immagini. JPEG Il set di dati viene fornito al job SageMaker Clarify dal parametro di input di dataset
elaborazione. L'esempio mostra come configurare un'analisi di spiegabilità utilizzando un SageMaker modello di classificazione delle immagini. Nell'esempio, un modello denominatoyour_cv_ic_model
, è stato addestrato a classificare gli animali nelle immagini di input. JPEG
{ "dataset_type": "
application/x-image
", "methods": { "shap": { "image_config": { "model_type": "IMAGE_CLASSIFICATION
", "num_segments":20
, "segment_compactness":10
} }, "report": { "name": "report
" } }, "predictor": { "model_name": "your_cv_ic_model
", "initial_instance_count":1
, "instance_type": "ml.p2.xlarge
", "label_headers": ["bird","cat","dog"
] } }
Per ulteriori informazioni sulla classificazione delle immagini, vedereClassificazione delle immagini - MXNet.
In questo esempio, un modello di rilevamento di SageMaker oggetti your_cv_od_model
viene addestrato sulle stesse JPEG immagini per identificare gli animali su di esse. Il prossimo esempio mostra come generare spiegazioni per il rilevamento di oggetti.
{ "dataset_type": "
application/x-image
", "probability_threshold":0.5
, "methods": { "shap
": { "image_config": { "model_type": "OBJECT_DETECTION
", "max_objects":3
, "context":1.0
, "iou_threshold":0.5
, "num_segments":20
, "segment_compactness":10
} }, "report": { "name": "report
" } }, "predictor": { "model_name": "your_cv_od_model
", "initial_instance_count":1
, "instance_type": "ml.p2.xlarge
", "label_headers": ["bird","cat","dog"
] } }
L'esempio seguente mostra un file di configurazione dell'analisi per il calcolo dell'importanza delle funzionalità per una serie temporale (TS). In questo esempio, il set di dati in entrata è un set di dati di serie temporali in JSON formato con un set di caratteristiche covariate dinamiche e statiche. Il set di dati viene fornito al job SageMaker Clarify dal parametro di input di elaborazione del set di dati. dataset_uri
[ { "item_id": "item1", "timestamp": "2019-09-11", "target_value": 47650.3, "dynamic_feature_1": 0.4576, "dynamic_feature_2": 0.2164, "dynamic_feature_3": 0.1906, "static_feature_1": 3, "static_feature_2": 4 }, { "item_id": "item1", "timestamp": "2019-09-12", "target_value": 47380.3, "dynamic_feature_1": 0.4839, "dynamic_feature_2": 0.2274, "dynamic_feature_3": 0.1889, "static_feature_1": 3, "static_feature_2": 4 }, { "item_id": "item2", "timestamp": "2020-04-23", "target_value": 35601.4, "dynamic_feature_1": 0.5264, "dynamic_feature_2": 0.3838, "dynamic_feature_3": 0.4604, "static_feature_1": 1, "static_feature_2": 2 }, ]
Le sezioni seguenti spiegano come calcolare le attribuzioni delle funzionalità per un modello di previsione con l'algoritmo asimmetrico dei valori Shapley per un set di dati. JSON
Calcola le spiegazioni per i modelli di previsione delle serie temporali
Il seguente esempio di configurazione di analisi mostra le opzioni utilizzate dal job per calcolare le spiegazioni dei modelli di previsione delle serie temporali.
{ 'dataset_type': 'application/json', 'dataset_uri': 'DATASET_URI', 'methods': { 'asymmetric_shapley_value': { 'baseline': { "related_time_series": "zero", "static_covariates": { "item1": [0, 0], "item2": [0, 0] }, "target_time_series": "zero" }, 'direction': 'chronological', 'granularity': 'fine_grained', 'num_samples': 10 }, 'report': {'name': 'report', 'title': 'Analysis Report'} }, 'predictor': { 'accept_type': 'application/json', 'content_template': '{"instances": $records}', 'endpoint_name': 'ENDPOINT_NAME', 'content_type': 'application/json', 'record_template': '{ "start": $start_time, "target": $target_time_series, "dynamic_feat": $related_time_series, "cat": $static_covariates }', 'time_series_predictor_config': {'forecast': 'predictions[*].mean[:2]'} }, 'time_series_data_config': { 'dataset_format': 'timestamp_records', 'item_id': '[].item_id', 'related_time_series': ['[].dynamic_feature_1', '[].dynamic_feature_2', '[].dynamic_feature_3'], 'static_covariates': ['[].static_feature_1', '[].static_feature_2'], 'target_time_series': '[].target_value', 'timestamp': '[].timestamp' } }
Configurazione della spiegabilità delle serie temporali
L'esempio precedente utilizza asymmetric_shapley_value
in methods
per definire gli argomenti di spiegabilità delle serie temporali come baseline, direction, granularità e numero di campioni. I valori di base sono impostati per tutti e tre i tipi di dati: serie temporali correlate, covariate statiche e serie temporali target. Questi campi indicano al processore SageMaker Clarify di calcolare le attribuzioni delle funzionalità per un elemento alla volta.
Configurazione del predittore
È possibile controllare completamente la struttura del payload inviata dal processore Clarify utilizzando la SageMaker sintassi. JMESPath Nell'esempio precedente, la predictor
configurazione indica a Clarify di aggregare i record in '{"instances": $records}'
cui ogni record è definito con gli argomenti forniti nell'esempio. record_template
Nota che$start_time
, $target_time_series
$related_time_series
, e $static_covariates
sono token interni utilizzati per mappare i valori dei set di dati ai valori delle richieste degli endpoint.
Analogamente, l'attributo forecast
in time_series_predictor_config
viene utilizzato per estrarre la previsione del modello dalla risposta dell'endpoint. Ad esempio, la risposta in batch dell'endpoint potrebbe essere la seguente:
{ "predictions": [ {"mean": [13.4, 3.6, 1.0]}, {"mean": [23.0, 4.7, 3.0]}, {"mean": [3.4, 5.6, 2.0]} ] }
Supponiamo di specificare la seguente configurazione del predittore di serie temporali:
'time_series_predictor_config': {'forecast': 'predictions[*].mean[:2]'}
Il valore di previsione viene analizzato come segue:
[ [13.4, 3.6], [23.0, 4.7], [3.4, 5.6] ]
Configurazione dei dati
Utilizzate l'time_series_data_config
attributo per indicare al processore SageMaker Clarify di analizzare correttamente i dati a partire dai dati passati come ingresso S3. URI dataset_uri