Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfigurieren Sie die Analyse
Um Ihre Daten und Modelle mit SageMaker Clarify auf Erklärbarkeit und Verzerrungen zu analysieren, müssen Sie einen Verarbeitungsauftrag konfigurieren. Ein Teil der Konfiguration für diesen Verarbeitungsauftrag umfasst die Konfiguration einer Analysedatei. Die Analysedatei spezifiziert die Parameter für die Verzerrungsanalyse und die Erklärbarkeit. Unter erfahren SieKonfigurieren eines SageMaker Clarify-Verarbeitungsauftrags, wie Sie einen Verarbeitungsauftrag und eine Analysedatei konfigurieren.
In diesem Handbuch werden das Schema und die Parameter für diese Analysekonfigurationsdatei beschrieben. Dieses Handbuch enthält auch Beispiele für Analysekonfigurationsdateien zur Berechnung von Verzerrungsmetriken für einen tabellarischen Datensatz und zur Generierung von Erklärungen für Probleme mit natürlicher Sprachverarbeitung (NLP) und Computer Vision (CV).
Sie können die Analysekonfigurationsdatei erstellen oder das SageMaker Python SDK
Schema für die Analysekonfigurationsdatei
Im folgenden Abschnitt wird das Schema für die Analysekonfigurationsdatei beschrieben, einschließlich der Anforderungen und Beschreibungen der Parameter.
Anforderungen an die Analysekonfigurationsdatei
Der Verarbeitungsauftrag SageMaker Clarify erwartet, dass die Analysekonfigurationsdatei mit den folgenden Anforderungen strukturiert ist:
-
Der Name der Verarbeitungseingabe muss
analysis_config.
lauten. -
Die Konfigurationsdatei für die Analyse liegt im JSON-Format vor und ist in UTF-8 codiert.
-
Die Analysekonfigurationsdatei ist ein Amazon S3-Objekt.
Sie können zusätzliche Parameter in der Analysekonfigurationsdatei angeben. Der folgende Abschnitt enthält verschiedene Optionen, um den SageMaker Clarif-Verarbeitungsauftrag an Ihren Anwendungsfall und die gewünschten Analysetypen anzupassen.
In der Analysekonfigurationsdatei können Sie die folgenden Parameter angeben.
-
Version — (Optional) Die Versionszeichenfolge des Schemas der Analysekonfigurationsdatei. Wenn keine Version angegeben wird, verwendet SageMaker Clarify die neueste unterstützte Version. Derzeit wird nur die Version
1.0
unterstützt. -
dataset_type — Das Format des Datensatzes. Das Eingabedatensatzformat kann jeder der folgenden Werte sein:
-
text/csv
für CSV -
application/jsonlines
für SageMaker JSON Lines dichtes Format -
application/json
für JSON -
application/x-parquet
für Apache Parquet -
application/x-image
um die Erklärbarkeit bei Computer-Vision-Problemen zu aktivieren
-
-
dataset_uri — (Optional) Der Uniform Resource Identifier (URI) des Hauptdatensatzes. Wenn Sie ein S3-URI-Präfix angeben, sammelt der SageMaker Clarif-Verarbeitungsauftrag rekursiv alle S3-Dateien, die sich unter dem Präfix befinden. Sie können entweder ein S3-URI-Präfix oder einen S3-URI für eine Image-Manifest-Datei für Computer-Vision-Probleme angeben. Wenn
dataset_uri
angegeben, hat es Vorrang vor der Auftragseingabe für die Datensatzverarbeitung. Für jeden Formattyp außer Bild lädt der Verarbeitungsauftrag SageMaker Clarify den Eingabedatensatz als tabellarischen Datensatz in einen tabellarischen Datenrahmen. Dieses Format ermöglicht es SageMaker , den Eingabedatensatz einfach zu bearbeiten und zu analysieren. -
headers — (Optional) Ein Array von Zeichenketten, das die Spaltennamen eines tabellarischen Datensatzes enthält. Wenn kein Wert für angegeben
headers
wird, liest der Verarbeitungsauftrag SageMaker Clarify die Header aus dem Datensatz. Wenn der Datensatz keine Header enthält, generiert der Verarbeitungsauftrag SageMaker Clarify automatisch Platzhalternamen basierend auf dem nullbasierten Spaltenindex. Die Platzhalternamen für die erste und zweite Spalte lautencolumn_0
column_1
beispielsweise.Anmerkung
Konventionell gilt, wenn dataset_type
application/jsonlines
oderapplication/json
ist, so sollteheaders
die folgenden Namen in der angegebenen Reihenfolge enthalten: Feature-Namen, Labelname (fallslabel
angegeben ist) und vorhergesagter Labelname (fallspredicted_label
angegeben ist). Ein Beispielheaders
für einenapplication/jsonlines
Datensatztyp, fallslabel
angegeben ist:["feature1","feature2","feature3","target_label"]
. -
label — (Optional) Eine Zeichenfolge oder ein auf Null basierender Integer-Index. Falls
label
angegeben, wird es verwendet, um die Ground-Truth-Beschriftung, das auch als beobachtete Beschriftung oder Zielattribut bezeichnet wird, in einem tabellarischen Datensatz zu lokalisieren. Das Ground-Truth-Etikett wird zur Berechnung von Bias-Metriken verwendet. Der Wert fürlabel
wird abhängig vom Wert desdataset_type
Parameters wie folgt angegeben.-
Falls
dataset_type
text/csv
ist,label
kann eine der folgenden Optionen angegeben werden:-
Ein gültiger Spaltenname
-
Ein Index, der innerhalb des Bereichs der Datensatzspalten liegt
-
-
Falls
dataset_type
application/parquet
ist,label
muss es sich um einen gültigen Spaltennamen handeln. -
Falls
dataset_type
application/jsonlines
ist,label
muss es sich um einen JMESPath-Ausdruckhandeln, der geschrieben wurde, um die Ground-Truth-Beschriftung aus dem Datensatz zu extrahieren. Gemäß der Konvention sollte headers
es den Labelnamen enthalten. -
Falls
dataset_type
application/json
ist,label
muss ein JMESPath-Ausdruckgeschrieben werden, um das Ground-Truth-Label für jeden Datensatz im Datensatz zu extrahieren. Dieser JMESPath-Ausdruck muss eine Liste von Bezeichnungen erzeugen, bei denen die ite Beschriftung mit dem iten Datensatz korreliert.
-
-
predicted_label — (Optional) Eine Zeichenfolge oder ein auf Null basierender Integer-Index. Wenn angegeben wird, wird
predicted_label
die Spalte mit der vorhergesagten Bezeichnung in einem Tabellendatensatz gesucht. Die vorhergesagte Beschriftung wird verwendet, um Messwerte für Verzerrungen nach der Schulung zu berechnen. Der Parameterpredicted_label
ist optional, wenn der Datensatz keine vorhergesagte Beschriftung enthält. Wenn vorhergesagte Beschriftungen für die Berechnung erforderlich sind, erhält der Verarbeitungsauftrag SageMaker Clarify Vorhersagen aus dem Modell.Der Wert für
predicted_label
wird abhängig vom Wert vondataset_type
wie folgt angegeben:-
Falls
dataset_type
text/csv
ist,predicted_label
kann eine der folgenden Optionen angegeben werden:-
Ein gültiger Spaltenname. Wenn
predicted_label_dataset_uri
angegeben, aberpredicted_label
nicht bereitgestellt wird, lautet der standardmäßige vorhergesagte Labelname „predicted_label“. -
Ein Index, der innerhalb des Bereichs der Datensatzspalten liegt. Wenn
predicted_label_dataset_uri
angegeben, wird der Index verwendet, um die vorhergesagte Labelspalte im vorhergesagten Beschriftung-Datensatz zu finden.
-
-
Wenn dataset_type den Wert
application/x-parquet
hat,predicted_label
muss es sich um einen gültigen Spaltennamen handeln. -
Wenn dataset_type den Wert
application/jsonlines
hat,predicted_label
muss es sich um einen gültigen JMESPathAusdruck handeln, der geschrieben wurde, um die vorhergesagte Beschriftung aus dem Datensatz zu extrahieren. Wenn headers
angegeben ist, sollte es vereinbarungsgemäß den vorausgesagten Etikettennamen enthalten. -
Falls
dataset_type
application/json
ist,predicted_label
muss ein JMESPathAusdruck geschrieben werden, um die vorhergesagte Bezeichnung für jeden Datensatz im Datensatz zu extrahieren. Der JMESPath-Ausdruck sollte eine Liste von vorhergesagten Labels erzeugen, wobei die ith vorhergesagte Beschriftung für sie im ith Datensatz ist.
-
-
features — Erforderlich, wenn dataset_type
application/jsonlines
oderapplication/json
ist. Ein JMESPath-Zeichenfolgenausdruck, der geschrieben wurde, um die Features im Eingabe-Dataset zu lokalisieren. Dennapplication/jsonlines
auf jede Zeile wird ein JMESPath-Ausdruck angewendet, um die Features für diesen Datensatz zu extrahieren. Dennapplication/json
ein JMESPath-Ausdruck wird auf den gesamten Eingabedatensatz angewendet. Der JMESPath-Ausdruck sollte eine Liste von Listen oder ein 2D-Array/eine Matrix von Features extrahieren, wobei th Zeile die Merkmale enthält, mit dem ith Datensatz korrelieren. Bei einem Wertdataset_type
vontext/csv
oderapplication/x-parquet
werden alle Spalten mit Ausnahme der Ground-Truth-Beschriftungen und der vorhergesagten Labelspalten automatisch Features zugewiesen. -
predicted_label_dataset_uri — Gilt nur, wenn dataset_type den Wert
text/csv
hat. Der S3-URI für einen Datensatz, der vorhergesagte Labels enthält, die zur Berechnung von Bias-Metriken nach der Schulung verwendet werden. Der Verarbeitungsauftrag SageMaker Clarify lädt die Vorhersagen aus dem bereitgestellten URI, anstatt Vorhersagen aus dem Modell zu erhalten. In diesem Fallpredicted_label
ist es erforderlich, die Spalte mit der vorhergesagten Bezeichnung im Datensatz mit der vorhergesagten Bezeichnung zu finden. Wenn der Datensatz für das vorhergesagte Etikett oder der Hauptdatensatz auf mehrere Dateien aufgeteilt ist, muss eine Kennungsspalte vonjoinsource_name_or_index
angegeben werden, um die beiden Datensätze zu verbinden. -
predicted_label_headers — Gilt nur, wenn
predicted_label_dataset_uri
angegeben. Ein Array von Strings, die die Spaltennamen des vorhergesagten Label-Datasets enthalten. Neben der Kopfzeile des vorhergesagten Labels kannpredicted_label_headers
auch die Kopfzeile der Identifizierungsspalte enthalten, um den vorhergesagten Label-Datensatz und den Hauptdatensatz zu verbinden. Weitere Informationen finden Sie in der folgenden Beschreibung für den Parameterjoinsource_name_or_index
. -
joinsource_name_or_index — Der Name oder der auf Null basierende Index der Spalte in tabellarischen Datensätzen, die bei der Durchführung einer inneren Verknüpfung als Kennungsspalte verwendet werden soll. Diese Spalte wird nur als Bezeichner verwendet. Sie wird nicht für andere Berechnungen wie Verzerrungsanalysen oder Merkmalszuordnungsanalysen verwendet. In den folgenden Fällen ist ein Wert für
joinsource_name_or_index
erforderlich:-
Es gibt mehrere Eingabe-Datasets, und jeder ist auf mehrere Dateien aufgeteilt.
-
Die verteilte Verarbeitung wird aktiviert, indem der Verarbeitungsauftrag SageMaker Clarify InstanceCount auf einen Wert größer als gesetzt wird
1
.
-
-
excluded_columns — (Optional) Ein Array von Namen oder auf Null basierenden Indizes von Spalten, die vom Senden an das Modell als Eingabe für Vorhersagen ausgeschlossen werden sollen. Ground-Truth-Beschriftung und Prognose-Beschriftung sind bereits automatisch ausgeschlossen.
-
probability_threshold — (Optional) Eine Fließkommazahl, über der eine Bezeichnung oder ein Objekt ausgewählt wird. Der Standardwert ist
0.5
. Der Verarbeitungsauftrag SageMaker Clarify verwendetprobability_threshold
in den folgenden Fällen:-
Bei der Bias-Analyse nach der Schulung wird eine numerische Modellvorhersage (Wahrscheinlichkeitswert oder Punktzahl) in eine binäre Bezeichnung
probability_threshold
umgewandelt, wenn das Modell ein binärer Klassifikator ist. Ein Wert, der über dem Schwellenwert liegt, wird in1
umgerechnet. Dagegen wird eine Punktzahl, die kleiner oder gleich dem Schwellenwert ist, in0
umgerechnet. -
Bei Erklärungsproblemen in der Computer Vision werden Objekte, deren Konfidenzwerte unter dem Schwellenwert liegen,
OBJECT_DETECTION
, probability_threshold
herausgefiltert, wenn model_type steht.
-
-
label_values_or_threshold — Erforderlich für die Bias-Analyse. Eine Reihe von Labelwerten oder eine Schwellenzahl, die auf ein positives Ergebnis bei Ground-Truth-Werten und auf vorhergesagte Kennzeichnungen für Bias-Metriken hinweisen. Weitere Informationen finden Sie unter Positive Beschriftungswerte in Begriffe von Amazon SageMaker Clarify für Verzerrungen und Fairness. Wenn das Etikett numerisch ist, wird der Schwellenwert als Untergrenze verwendet, um das positive Ergebnis auszuwählen. Informationen zur Einstellung
label_values_or_threshold
für verschiedene Problemtypen finden Sie in den folgenden Beispielen:-
Bei einem binären Klassifizierungsproblem hat das Label zwei mögliche Werte,
0
und1
. Wenn der Labelwert für eine in einer Stichprobe beobachtete demografische Gruppe günstig1
ist,label_values_or_threshold
sollte er auf[1]
gesetzt werden. -
Bei einem Klassifizierungsproblem mit mehreren Klassen hat das Label drei mögliche Werte:
bird
,cat
, unddog
. Wenn die beiden letztgenannten eine demografische Gruppe definieren, die von Vorurteilen bevorzugt wird,label_values_or_threshold
sollte der Wert auf["cat","dog"]
eingestellt werden. -
Bei einem Regressionsproblem ist der Labelwert kontinuierlich und reicht von
0
bis1
. Wenn ein Wert, der größer als ist, darauf hinweisen0.5
sollte, dass eine Stichprobe ein positives Ergebnis erzielt hat,label_values_or_threshold
sollte der Wert auf0.5
gesetzt werden.
-
-
Facet — Erforderlich für die Bias-Analyse. Eine Reihe von Facettenobjekten, die sich aus empfindlichen Attributen zusammensetzen, anhand derer die systematische Abweichung gemessen wird. Sie können Facetten verwenden, um die Verzerrungseigenschaften Ihres Datensatzes und Modells zu verstehen, auch wenn Ihr Modell ohne Verwendung sensibler Attribute trainiert wurde. Weitere Informationen finden Sie unter Facet in Begriffe von Amazon SageMaker Clarify für Verzerrungen und Fairness. Jedes Facettenobjekt umfasst die folgenden Felder:
-
name_or_index — Der Name oder der auf Null basierende Index der vertraulichen Attributspalte in einem tabellarischen Datensatz. Wenn
facet_dataset_uri
angegeben, bezieht sich der Index auf den Facettendatensatz und nicht auf den Hauptdatensatz. -
value_or_threshold — Erforderlich, wenn
facet
es sich um einen numerischen Wert handelt undlabel_values_or_threshold
als Untergrenze für die Auswahl der sensitiven Gruppe verwendet wird. Eine Reihe von Facettenwerten oder eine Schwellenzahl, die die sensible demografische Gruppe angibt, die von der Voreingenommenheit bevorzugt wird. Wenn der Facettendatentyp kategorisch ist und nicht angegebenvalue_or_threshold
wird, werden die Messwerte für verzerrte Werte als eine Gruppe für jeden Einzelwert berechnet (und nicht für alle Werte). Informationen zur Einstellungvalue_or_threshold
für verschiedenefacet
Datentypen finden Sie in den folgenden Beispielen:-
Bei einem binären Facettendatentyp hat das Feature zwei mögliche Werte,
0
und1
. Wenn Sie die Messwerte für die systematische Abweichung für jeden Wert berechnen möchten,value_or_threshold
können sie entweder weggelassen oder auf ein leeres Array gesetzt werden. -
Bei einem kategorialen Facettendatentyp hat das Feature drei mögliche Werte
bird
,cat
, unddog
. Wenn die ersten beiden eine demografische Gruppe definieren, die von der Voreingenommenheit bevorzugt wird,value_or_threshold
sollte der Wert auf["bird", "cat"]
festgelegt werden. In diesem Beispiel werden die Datensatzstichproben in zwei demografische Gruppen aufgeteilt. Die Facette in der begünstigten Gruppe hat einen Wertbird
odercat
, während die Facette in der benachteiligten Gruppe einen Wertdog
hat. -
Bei einem numerischen Facettendatentyp ist der Feature-Wert kontinuierlich und reicht von
0
bis1
. Wenn beispielsweise ein Wert, der größer als0.5
ist, eine Stichprobe als bevorzugt kennzeichnen soll,value_or_threshold
sollte er auf0.5
gesetzt werden. In diesem Beispiel werden die Datensatzstichproben in zwei demografische Gruppen aufgeteilt. Die Facette in der begünstigten Gruppe hat einen Wert größer als0.5
, während der Wert der Facette in der benachteiligten Gruppe kleiner oder gleich wie0.5
ist.
-
-
-
group_variable – Der Name oder der nullbasierte Index der Spalte, die die Untergruppe angibt, die für die Bias-Metrik Bedingte demografische Disparität (CDD) oder verwendet werden sollBedingte demografische Disparität bei prognostizierten Beschriftungen (CDDPL).
-
facet_dataset_uri — Gilt nur, wenn dataset_type den Wert
text/csv
hat. Der S3-URI für einen Datensatz, der sensible Attribute für die Bias-Analyse enthält. Sie können Facetten verwenden, um die Verzerrungsmerkmale Ihres Datensatzes und Modells zu verstehen, auch wenn Ihr Modell ohne Verwendung sensibler Attribute trainiert wurde.Anmerkung
Wenn der Facettendatensatz oder der Hauptdatensatz auf mehrere Dateien aufgeteilt ist, muss eine Kennungsspalte von
joinsource_name_or_index
angegeben werden, um die beiden Datensätze zu verbinden. Sie müssen den Parameterfacet
verwenden, um jede Facette im Facettendatensatz zu identifizieren. -
facet_headers — (Gilt nur, wenn
facet_dataset_uri
angegeben) Eine Reihe von Zeichenketten, die Spaltennamen für den Facettendatensatz und optional die Spaltenüberschrift zur Verknüpfung des Facettendatensatzes und des Hauptdatensatzes enthalten, siehejoinsource_name_or_index
. -
Methoden — Ein Objekt, das eine oder mehrere Analysemethoden und deren Parameter enthält. Wenn eine Methode ausgelassen wird, wird sie weder für die Analyse verwendet noch gemeldet.
-
pre_training_bias — Fügen Sie diese Methode hinzu, wenn Sie Messwerte für Verzerrungen vor der Schulung berechnen möchten. Die detaillierte Beschreibung der Metriken finden Sie unter Messen Sie die Voreingenommenheit vor der Schulung. Das Objekt hat die folgenden Parameter:
-
Methoden — Ein Array, das alle Messwerte für Verzerrungen vor der Schulung aus der folgenden Liste enthält, die Sie berechnen möchten. Stellen Sie
methods
aufall
ein, um alle Messwerte für Verzerrungen vor der Schulung zu berechnen. Das Array["CI", "DPL"]
berechnet beispielsweise das Klassenungleichgewicht und den Unterschied in den Proportionen von Beschriftungen.-
DPL
für Unterschied in den Proportionen der Beschriftungen (DPL) -
LP
für Lp-Norm (LP) -
TVD
für Gesamtvariationsdistanz (TVD) -
KS
für Kolmogorow-Smirnow (KS)
-
-
post_training_bias — Verwenden Sie diese Methode, wenn Sie Messwerte für Verzerrungen nach der Schulung berechnen möchten. Die detaillierte Beschreibung der Metriken finden Sie unter Messen Sie Daten nach dem Training und modellieren Sie Verzerrungen. Das
post_training_bias
Objekt hat die folgenden Parameter.-
Methoden — Ein Array, das alle Messwerte für Verzerrungen nach der Schulung aus der folgenden Liste enthält, die Sie berechnen möchten. Stellen Sie
methods
aufall
ein, um alle Messwerte für Verzerrungen nach der Schulung zu berechnen. Beispielsweise["DPPL", "DI"]
berechnet das Array den Unterschied zwischen positiven Proportionen bei vorhergesagten Kennzeichnungen und unterschiedlichen Auswirkungen. Die verfügbaren Methoden sind:-
DPPL
für Unterschied zwischen positiven Anteilen bei prognostizierten Kennzeichnungen (DPPL) -
DI
für Disparate Impact (DI) -
SD
für Spezifitätsunterschied (SD) -
RD
für Unterschied zurückrufen (RD) -
AD
für Genauigkeitsunterschied (AD) -
TE
für Gleichbehandlung (TE) -
CDDPL
für Bedingte demografische Disparität bei prognostizierten Beschriftungen (CDDPL) -
GE
für Generalisierte Entropie (GE)
-
-
-
shap — Schließen Sie diese Methode ein, wenn Sie SHAP-Werte berechnen möchten. Der Verarbeitungsauftrag SageMaker Clarify unterstützt den Kernel-SHAP-Algorithmus. Das
shap
Objekt hat die folgenden Parameter.-
Baseline – (Optional) Der SHAP-Baseline-Datensatz, auch bekannt als Hintergrunddatensatz. Zusätzliche Anforderungen für den Basisdatensatz in einem tabellarischen Datensatz oder bei einem Computer-Vision-Problem lauten wie folgt. Weitere Informationen zu SHAP-Baselines finden Sie unter SHAP-Baselines zur Erläuterbarkeit
-
Bei einem tabellarischen Datensatz,
baseline
können dies entweder die direkten Basisdaten oder der S3-URI einer Basisdatei sein. Wenn nicht angegebenbaseline
wird, berechnet der Verarbeitungsauftrag SageMaker Clarify eine Baseline durch Clustering des Eingabedatensatzes. Folgendes ist für die Baseline erforderlich:-
Das Format muss mit dem von
dataset_type
angegebenen Datensatzformat identisch sein. -
Die Basislinie kann nur Features enthalten, die das Modell als Eingabe akzeptieren kann.
-
Der Baseline-Datensatz kann über eine oder mehrere Instances verfügen. Die Anzahl der Baseline-Instances wirkt sich direkt auf die Größe des synthetischen Datensatzes und die Laufzeit des Auftrages aus.
-
Wenn
text_config
angegeben wird, ist der Basiswert einer Textspalte eine Zeichenkette, die die durchgranularity
angegebene Texteinheit ersetzt. Ein gängiger Platzhalter ist beispielsweise „[MASK]“, der verwendet wird, um ein fehlendes oder unbekanntes Wort oder einen Textabschnitt darzustellen.
Die folgenden Beispiele verdeutlichen, wie Sie direkte Basisdaten für verschiedene
dataset_type
Parameter festlegen:-
Wenn
dataset_type
entwedertext/csv
oderapplication/x-parquet
ist, akzeptiert das Modell vier numerische Features, und die Basislinie hat zwei Instanzen. Wenn in diesem Beispiel ein Datensatz alle Feature-Werte Null und der andere Datensatz nur einen Feature-Wert hat, dann sollte der Basiswert auf[[0,0,0,0],[1,1,1,1]]
ohne Header gesetzt werden. -
Wenn
dataset_type
application/jsonlines
ist, undfeatures
ist der Schlüssel zu einer Liste mit vier numerischen Featureswerten. Wenn die Basislinie in diesem Beispiel außerdem einen Datensatz mit allen Nullwerten enthält,baseline
sollte dies[{"features":[0,0,0,0]}]
sein. -
Falls
dataset_type
application/json
ist, sollte derbaseline
Datensatz dieselbe Struktur und dasselbe Format wie der Eingabedatensatz haben.
-
-
Bei Problemen mit Computer Vision
baseline
kann dies der S3-URI eines Bilds sein, der verwendet wird, um Features (Segmente) aus dem Eingabebild auszublenden. Der Verarbeitungsauftrag SageMaker Clarify lädt das Maskenbild und ändert seine Größe auf dieselbe Auflösung wie das Eingabebild. Wenn keine Baseline angegeben wird, generiert der SageMaker Clarify-Verarbeitungsauftrag ein Maskenbild mit Leerzeichenin derselben Auflösung wie das Eingabebild.
-
-
features_to_explain — (Optional) Ein Array von Zeichenketten oder nullbasierten Indizes von Feature-Spalten, für die SHAP-Werte berechnet werden sollen. Wenn
features_to_explain
nicht angegeben, werden SHAP-Werte für alle Feature-Spalten berechnet. Diese Feature-Spalten können weder die Beschriftung-Spalte noch die vorhergesagte Beschriftung-Spalte enthalten. Derfeatures_to_explain
Parameter wird nur für tabellarische Datasets mit numerischen und kategorialen Spalten unterstützt. -
num_clusters — (Optional) Die Anzahl der Cluster, in die der Datensatz aufgeteilt wird, um den Baseline-Datensatz zu berechnen. Jeder Cluster wird zur Berechnung einer Basisinstance verwendet. Wenn nicht angegeben
baseline
ist, versucht der Verarbeitungsauftrag SageMaker Clarify, den Basisdatensatz zu berechnen, indem er den tabellarischen Datensatz in eine optimale Anzahl von Clustern zwischen1
und dividiert12
. Die Anzahl der Basisinstances wirkt sich direkt auf die Laufzeit der SHAP-Analyse aus. -
num_samples — (Optional) Die Anzahl der Samples, die im Kernel-SHAP-Algorithmus verwendet werden sollen. Wenn nicht angegeben
num_samples
wird, wählt der Verarbeitungsauftrag SageMaker Clarify die Nummer für Sie aus. Die Anzahl der Stichproben wirkt sich direkt sowohl auf die Größe des synthetischen Datensatzes als auch auf die Laufzeit des Auftrages aus. -
seed — (Optional) Eine Ganzzahl, die zur Initialisierung des Pseudo-Zufallszahlengenerators im SHAP-Explainer verwendet wird, um konsistente SHAP-Werte für denselben Auftrag zu generieren. Wenn kein Startwert angegeben ist, kann das Modell jedes Mal, wenn derselbe Auftrag ausgeführt wird, leicht unterschiedliche SHAP-Werte ausgeben.
-
use_logit — (Optional) Ein boolescher Wert, der angibt, dass die Logit-Funktion auf die Modellvorhersagen angewendet werden soll. Standardeinstellung auf
false
. Wennuse_logit
true
ist, werden die SHAP-Werte anhand der logistischen Regressionskoeffizienten berechnet, die als Log-Odd-Ratio interpretiert werden können. -
save_local_shap_values — (Optional) Ein boolescher Wert, der angibt, dass die lokalen SHAP-Werte jedes Datensatzes im Datensatz in das Analyseergebnis aufgenommen werden sollen. Standardeinstellung:
false
.Wenn der Hauptdatensatz auf mehrere Dateien aufgeteilt ist oder die verteilte Verarbeitung aktiviert ist, geben Sie mit dem Parameter
joinsource_name_or_index
auch eine Kennungsspalte an. Die Kennungsspalte und die lokalen SHAP-Werte werden im Analyseergebnis gespeichert. Auf diese Weise können Sie jeden Datensatz seinen lokalen SHAP-Werten zuordnen. -
agg_method — (Optional) Die Methode, mit der die lokalen SHAP-Werte (die SHAP-Werte für jede Instance) aller Instances zu den globalen SHAP-Werten (den SHAP-Werten für den gesamten Datensatz) aggregiert werden. Standardeinstellung:
mean_abs
. Die folgenden Methoden können verwendet werden, um SHAP-Werte zu aggregieren.-
mean_abs — Der Mittelwert der absoluten lokalen SHAP-Werte aller Instanzen.
-
mean_sq — Der Mittelwert der quadrierten lokalen SHAP-Werte aller Instanzen.
-
Median — Der Median der lokalen SHAP-Werte aller Instanzen.
-
-
text_config – Erforderlich für die Erklärbarkeit der Verarbeitung natürlicher Sprache. Schließen Sie diese Konfiguration ein, wenn Sie Textspalten als Text behandeln möchten und Erklärungen für einzelne Texteinheiten bereitgestellt werden sollten. Ein Beispiel für eine Analysekonfiguration für die Erklärbarkeit der Verarbeitung natürlicher Sprache finden Sie unter . Analysekonfiguration für die natürliche Sprachverarbeitung (Erklärbarkeit)
-
Granularität — Die Granularitätseinheit für die Analyse von Textspalten. Gültige Werte sind
token
,sentence
oderparagraph
. Jede Texteinheit wird als Feature betrachtet, und für jede Einheit werden lokale SHAP-Werte berechnet. -
Sprache — Die Sprache der Textspalten. Gültige Werte sind
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
. Geben Siemulti-language
ein, um eine Mischung aus mehreren Sprachen zu erhalten. -
max_top_tokens — (Optional) Die maximale Anzahl von Top-Token, basierend auf globalen SHAP-Werten. Standardeinstellung:
50
. Es ist möglich, dass ein Token mehrmals im Datensatz erscheint. Der Verarbeitungsauftrag SageMaker Clarify aggregiert die SHAP-Werte jedes Tokens und wählt dann die Top-Token auf der Grundlage ihrer globalen SHAP-Werte aus. Die globalen SHAP-Werte der ausgewählten Top-Tokens sind im Abschnitt der Datei analysis.json enthalten.global_top_shap_text
-
Der lokale SHAP-Wert der Aggregation.
-
-
image_config — Erforderlich für die Erklärbarkeit von Computer Vision. Fügen Sie diese Konfiguration hinzu, wenn Sie einen Eingabedatensatz haben, der aus Bildern besteht, und Sie diese auf ihre Erklärbarkeit bei einem Computer-Vision-Problem analysieren möchten.
-
model_type — Der Typ des Modells. Gültige Werte sind:
-
IMAGE_CLASSIFICATION
für ein Bildklassifizierungsmodell. -
OBJECT_DETECTION
für ein Objekterkennungsmodell.
-
-
max_objects — Gilt nur, wenn model_type den Wert
OBJECT_DETECTION
ist.Die maximale Anzahl von Objekten, geordnet nach dem Konfidenzwert, die vom Computer-Vision-Modell erkannt werden. Alle Objekte, die nach dem Konfidenzwert niedriger eingestuft sind als die höchsten max_objects, werden herausgefiltert. Standardeinstellung:3
. -
context — Gilt nur, wenn model_type den Wert
OBJECT_DETECTION
hat. Es gibt an, ob der Bereich um den Begrenzungsrahmen des erkannten Objekts durch das Basisbild maskiert wird oder nicht. Gültige Werte sind0
alles maskieren oder1
nichts maskieren. Standardeinstellung: 1. -
iou_threshold — Gilt nur, wenn dies der Wert
model_type
OBJECT_DETECTION
ist. Die Mindestkennzahl der Schnittmenge über die Union (IOU) für die Auswertung von Vorhersagen anhand der ursprünglichen Erkennung. Eine hohe IOU-Metrik entspricht einer großen Überschneidung zwischen dem Feld für die Erkennung vorhergesagter Daten und der Ground-Truth-Erkennung. Standardeinstellung:0.5
. -
num_segments — (Optional) Eine Ganzzahl, die die ungefähre Anzahl der Segmente bestimmt, die im Eingabebild beschriftet werden sollen. Jedes Segment des Bildes wird als Merkmal betrachtet, und für jedes Segment werden lokale SHAP-Werte berechnet. Standardeinstellung:
20
. -
segment_compactness — (Optional) Eine Ganzzahl, die die Form und Größe der mit der scikit-image-Slic
Methode generierten Bildsegmente bestimmt. Standardeinstellung: 5
.
-
-
-
pdp – Fügen Sie diese Methode ein, um partielle Abhängigkeitsdiagramme (PDPs) zu berechnen. Ein Beispiel für eine Analysekonfiguration zum Generieren von PDPs finden Sie unter . Berechnet partielle Abhängigkeitsdiagramme (PDPs)
-
features — Obligatorisch, wenn die
shap
Methode nicht angefordert wird. Eine Reihe von Feature-Namen oder Indizes zur Berechnung und Darstellung von PDP-Plots. -
top_k_features — (Optional) Gibt die Anzahl der Top-Features an, die zur Generierung von PDP-Plots verwendet werden. Wenn nicht angegeben
features
wird, aber dieshap
Methode angefordert wird, wählt der Verarbeitungsauftrag SageMaker Clarify die wichtigsten Features basierend auf ihren SHAP-Zuweisungen aus. Standardeinstellung:10
. -
grid_resolution — Die Anzahl der Buckets, in die der Bereich numerischer Werte unterteilt werden soll. Dies gibt die Granularität des Rasters für die PDP-Plots an.
-
-
Bericht — (Optional) Verwenden Sie dieses Objekt, um den Analysebericht anzupassen. Es gibt drei Kopien desselben Berichts als Teil des Analyseergebnisses: Jupyter Notebook-Bericht, HTML-Bericht und PDF-Bericht. Die Funktion hat die folgenden Parameter.
-
name — Dateiname der Berichtsdateien. Wenn dies beispielsweise der
name
MyReport
ist, lauten die BerichtsdateienMyReport.ipynb
,MyReport.html
, undMyReport.pdf
. Standardeinstellung:report
. -
title — (Optional) Titelzeichenfolge für den Bericht. Standardeinstellung:
SageMaker Analysis Report
.
-
-
-
Prädiktor — Erforderlich, wenn für die Analyse Vorhersagen aus dem Modell erforderlich sind. Zum Beispiel, wenn
shap
,pdp
, oderpost_training_bias
Methode , oder angefordert wird, die vorhergesagten Beschriftungen jedoch nicht als Teil des Eingabe-Datasets bereitgestellt werden. Die folgenden Parameter können in Verbindung mitpredictor
verwendet werden:-
model_name – Der Name Ihres SageMaker Modells, das von der CreateModel API erstellt wurde. Wenn Sie
model_name
anstelle von endpoint_name angeben, erstellt der Verarbeitungsauftrag SageMaker Clarify einen kurzlebigen Endpunkt mit dem Modellnamen, der als Schattenendpunkt bezeichnet wird, und ruft Vorhersagen vom Endpunkt ab. Der Auftrag löscht den Schattenendpunkt, nachdem die Berechnungen abgeschlossen sind. Wenn es sich bei dem Modell um ein Multimodell handelt, muss dertarget_model
Parameter angegeben werden. Weitere Informationen zu Multimodell-Endpunkten finden Sie unter Hosten Sie mehrere Modelle in einem Container hinter einem Endpunkt. -
endpoint_name_prefix — (Optional) Ein benutzerdefiniertes Namenspräfix für den Schattenendpunkt. Anwendbar, wenn Sie anstelle von
model_name
endpoint_name
angeben. Geben Sie beispielsweise an,endpoint_name_prefix
ob Sie den Zugriff auf den Endpunkt anhand des Endpunktnamens einschränken möchten. Das Präfix muss mit dem EndpointName Muster übereinstimmen und seine maximale Länge ist23
. Standardeinstellung:sm-clarify
. -
initial_instance_count — Gibt die Anzahl der Instanzen für den Shadow-Endpunkt an. Erforderlich, wenn Sie model_name statt endpoint_name angeben. Der Wert für
initial_instance_count
kann sich von dem des Auftrags unterscheiden, wir empfehlen jedoch ein Verhältnis InstanceCount von 1:1. -
instance_type — Gibt den Instance-Typ für denSchattenendpunkt an. Erforderlich, wenn Sie anstelle von
model_name
endpoint_name
angeben. Als Beispiel kanninstance_type
auf "ml.m5.large" gesetzt werden. In einigen Fälleninstance_type
kann der für angegebene Wert dazu beitragen, die Inferenzzeit des Modells zu reduzieren. Um beispielsweise effizient ausgeführt zu werden, benötigen Modelle zur Verarbeitung natürlicher Sprache und Modelle für maschinelles Sehen in der Regel einen Instance-Typ „Graphics Processing Unit“ (GPU). -
accelerator_type — (Optional) Gibt den Typ des Elastic Inference (EI) -Beschleunigers an, der an den Schattenendpunkt angehängt werden soll. Anwendbar, wenn Sie anstelle
model_name
vonendpoint_name
füraccelerator_type
zur Verfügung stellen. Ein Beispielwert füraccelerator_type
ml.eia2.large
ist. Standardmäßig wird kein Beschleuniger verwendet. -
endpoint_name – Der Name Ihres SageMaker Endpunkts, der von der CreateEndpoint API erstellt wurde. Falls
endpoint_name
angegeben, hat er Vorrang vor demmodel_name
Parameter. Die Verwendung eines vorhandenen Endpunkts reduziert die Bootstrap-Zeit für den Schattenendpunkt, kann aber auch zu einer erheblichen Erhöhung der Last für diesen Endpunkt führen. Darüber hinaus generieren einige Analysemethoden (wieshap
undpdp
) synthetische Datensätze, die an den Endpunkt gesendet werden. Dies kann dazu führen, dass die Metriken oder erfassten Daten des Endpunkts durch synthetische Daten verunreinigt werden, die die tatsächliche Nutzung möglicherweise nicht genau wiedergeben. Aus diesen Gründen wird im Allgemeinen nicht empfohlen, einen vorhandenen Produktionsendpunkt für die SageMaker Clarify-Analyse zu verwenden. -
target_model – Der Zeichenfolgenwert, der an den TargetModel Parameter der SageMaker InvokeEndpoint API übergeben wird. Erforderlich, wenn es sich bei Ihrem Modell (angegeben durch den Parameter model_name) oder Ihrem Endpoint (angegeben durch den Parameter endpoint_name) um ein Multi-Modell handelt. Weitere Informationen zu Multimodell-Endpunkten finden Sie unter Hosten Sie mehrere Modelle in einem Container hinter einem Endpunkt.
-
custom_attributes — (Optional) Eine Zeichenfolge, mit der Sie zusätzliche Informationen zu einer Inferenzanforderung angeben können, die an den Endpunkt gesendet wird. Der Zeichenfolgenwert wird an den
CustomAttributes
Parameter der SageMaker InvokeEndpoint API übergeben. -
content_type — content_type — Das Modelleingabeformat, das zum Abrufen von Vorhersagen vom Endpunkt verwendet werden soll. Falls angegeben, wird sie an den
ContentType
Parameter der SageMaker InvokeEndpoint API übergeben.-
Zur besseren Erklärung des maschinellen Sehens sind
image/jpeg
,image/png
oderapplication/x-npy
gültige Werte. Fallscontent_type
nicht angegeben, ist der Standardwertimage/jpeg
. -
Für andere Arten der Erklärbarkeit sind
text/csv
,application/jsonlines,
undapplication/json
gültige Werte. Ein Wert fürcontent_type
ist erforderlich, wenn der Wertdataset_type
„application/x-parquet“ lautet. Andernfalls wirdcontent_type
standardmäßig mit dem Wert des Parametersdataset_type
belegt.
-
-
accept_type — Das Modellausgabeformat, das zum Abrufen von Vorhersagen vom Endpunkt verwendet werden soll. Der Wert für
accept_type
wird an denAccept
Parameter der SageMaker InvokeEndpoint API übergeben.-
Wenn
model_type
"OBJECT_DETECTION" ist, dann istaccept_type
standardmäßigapplication/json
für die Erklärung von Computer Vision. -
Für andere Arten der Erklärbarkeit sind
text/csv
,application/jsonlines
, undapplication/json
gültige Werte. Wenn kein Wert für angegebenaccept_type
wird, wirdaccept_type
standardmäßig der Wert descontent_type
Parameters verwendet.
-
-
content_template — Eine Vorlagenzeichenfolge, die verwendet wird, um die Modelleingabe aus Datensätzen zu erstellen. Der Parameter
content_template
wird nur verwendet und ist erforderlich, wenn der Wert descontent_type
Parameters entwederapplication/jsonlines
oderapplication/json
ist.Wenn der
content_type
Parameterapplication/jsonlines
ist, sollte die Vorlage nur einen Platzhalter haben,$features
, der zur Laufzeit durch eine Feature-Liste ersetzt wird. Ist"{\"myfeatures\":$features}"
die Vorlage beispielsweise und hat ein Datensatz drei numerische Feature-Werte:1
,2
und3
, dann wird der Datensatz als JSON-Zeile{"myfeatures":[1,2,3]}
an das Modell gesendet.Wenn
content_type
application/json
ist, kann die Vorlage entweder einen Platzhalter$record
oderrecords
enthalten. Wenn der Platzhalterrecord
ist, wird ein einzelner Datensatz durch einen Datensatz ersetzt, auf den die Vorlagerecord_template
angewendet wurde. In diesem Fall wird jeweils nur ein einziger Datensatz an das Modell gesendet. Wenn der Platzhalter$records
ist, werden die Datensätze durch eine Liste von Datensätzen ersetzt, für die jeweils eine Vorlage vonrecord_template
bereitgestellt wird. -
record_template — Eine Vorlagenzeichenfolge, die verwendet wird, um jeden Datensatz der Modelleingabe aus Datensatzinstanzen zu erstellen. Sie wird nur verwendet und benötigt, wenn
content_type
application/json
ist. Die Vorlagenzeichenfolge kann einen der folgenden Werte enthalten:-
Ein
$features
Platzhalterparameter, der durch eine Reihe von Feature-Werten ersetzt wird. Ein zusätzlicher optionaler Platzhalter kann die Namen der Feature-Spaltenüberschriften in$feature_names
ersetzen. Dieser optionale Platzhalter wird durch eine Reihe von Feature-Namen ersetzt. -
Genau ein Platzhalter
$features_kvp
, der durch die Schlüssel-Wert-Paare Feature-Name und Feature-Wert ersetzt wird. -
Eine Funktion in der
headers
Konfiguration. Beispielsweise wird ein Feature-NameA
, der in der Platzhaltersyntax"${A}"
notiert ist, durch den Feature-Wert fürA
ersetzt.
Der Wert für
record_template
wird mit verwendet, um diecontent_template
Modelleingabe zu konstruieren. Es folgt ein Konfigurationsbeispiel, das zeigt, wie eine Modelleingabe mithilfe einer Inhalts- und Datensatzvorlage erstellt wird.Im folgenden Codebeispiel sind die Header und Features wie folgt definiert.
-
`headers`:["A", "B"]
-
`features`:[[0,1], [3,4]]
Die Eingabe des Modells sieht wie folgt aus.
{ "instances": [[0, 1], [3, 4]], "feature_names": ["A", "B"] }
Das Beispiel
content_template
und dierecord_template
Parameterwerte für die Konstruktion der vorherigen Beispielmodelleingabe folgen.-
content_template: "{\"instances\": $records, \"feature_names\": $feature_names}"
-
record_template: "$features"
Im folgenden Codebeispiel sind die Header und Features wie folgt definiert.
[ { "A": 0, "B": 1 }, { "A": 3, "B": 4 }, ]
Das Beispiel
content_template
undrecord_template
Parameterwerte für die Konstruktion der vorherigen Beispielmodelleingabe folgen.-
content_template: "$records"
-
record_template: "$features_kvp"
Es folgt ein alternatives Codebeispiel zum Konstruieren der vorherigen Beispielmodelleingabe.
-
content_template: "$records"
-
record_template: "{\"A\": \"${A}\", \"B\": \"${B}\"}"
Im folgenden Codebeispiel sind die Header und Features wie folgt definiert.
{ "A": 0, "B": 1 }
Die oben zu erstellenden Beispielwerte der Parameter content_template und record_template: Es folgt die Eingabe des vorherigen Beispielmodells.
-
content_template: "$record"
-
record_template: "$features_kvp"
-
-
label — Ein auf Null basierender Integer-Index oder eine JMESPath-Ausdruckszeichenfolge, die verwendet wird, um vorhergesagte Beschriftungen aus der Modellausgabe für die Bias-Analyse zu extrahieren. Wenn es sich bei dem Modell um ein Mehrklassenmodell handelt und der
label
Parameter alle vorhergesagten Beschriftungen aus der Modellausgabe extrahiert, gilt Folgendes.-
Der
probability
Parameter ist erforderlich, um die entsprechenden Wahrscheinlichkeiten (oder Werte) aus der Modellausgabe abzurufen. -
Die vorhergesagte Beschriftung mit der höchsten Punktzahl wird ausgewählt.
Der Wert für
label
hängt wie folgt vom Wert des Parameters accept_type ab.-
Wenn
accept_type
text/csv
ist, istlabel
der Index aller vorhergesagten Labels in der Modellausgabe. -
Wenn
accept_type
application/jsonlines
oderapplication/json
ist, dannlabel
ist es ein JMESPath-Ausdruck, der auf die Modellausgabe angewendet wird, um die vorhergesagten Beschriftungen zu erhalten.
-
-
label_headers — Ein Array von Werten, die die Beschriftung im Datensatz annehmen kann. Wenn eine Bias-Analyse angefordert wird, muss der
probability
Parameter auch die entsprechenden Wahrscheinlichkeitswerte (Werte) aus der Modellausgabe abrufen, und es wird die vorhergesagte Beschriftung mit der höchsten Punktzahl ausgewählt. Wenn eine Erklärbarkeitsanalyse angefordert wird, werden die Beschriftung-Header verwendet, um den Analysebericht zu verschönern. Für die Erklärbarkeit von Computer Visionlabel_headers
ist ein Wert für erforderlich. Wenn die Bezeichnung beispielsweise bei einem Klassifizierungsproblem mit mehreren Klassen drei mögliche Werte hat,bird
,cat
, unddog
,label_headers
soll auf["bird","cat","dog"]
gesetzt werden. -
Wahrscheinlichkeit — (Optional) Ein auf Null basierender Integer-Index oder eine JMESPath-Ausdruckszeichenfolge, die verwendet wird, um Wahrscheinlichkeiten (Punktzahlen) für die Erklärbarkeitsanalyse zu extrahieren oder um die vorhergesagte Bezeichnung für die Bias-Analyse auszuwählen. Der Wert von
probability
hängt wie folgt vom Wert desaccept_type
Parameters ab.-
Wenn
accept_type
text/csv
ist, istprobability
der Index der Wahrscheinlichkeiten (Werte) in der Modellausgabe. Fallsprobability
nicht angegeben, wird die gesamte Modellausgabe als Wahrscheinlichkeiten (Punktzahlen) verwendet. -
Falls
accept_type
es sich um JSON-Daten handelt (entwederapplication/jsonlines
oderapplication/json
),probability
sollte es sich um einen JMESPath-Ausdruck handeln, der verwendet wird, um die Wahrscheinlichkeiten (Werte) aus der Modellausgabe zu extrahieren.
-
-
Beispielkonfigurationsdateien
Die folgenden Abschnitte enthalten Beispieldateien für Analysekonfigurationen für Daten im CSV-Format, im Format JSON Lines und für die Erklärbarkeit von natürlicher Sprache (NLP) und Computer Vision.
Die folgenden Beispiele zeigen, wie Sie Verzerrungs- und Erklärbarkeitsanalysen für einen tabellarischen Datensatz im CSV-Format konfigurieren. In diesen Beispielen hat der eingehende Datensatz vier Feature-Spalten und eine binäre Beschriftungsspalte, Target
. Der Inhalt des Datensatzes ist wie folgt. Ein Labelwert von 1
weist auf ein positives Ergebnis hin. Der Datensatz wird dem SageMaker Clarify-Auftrag durch die dataset
Verarbeitungseingabe zur Verfügung gestellt.
"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 ...
In den folgenden Abschnitten wird gezeigt, wie Verzerrungsmetriken vor und nach dem Training, SHAP-Werte und partielle Abhängigkeitsdiagramme (PDPs) berechnet werden, die die Bedeutung von Merkmalen für einen Datensatz im CSV-Format zeigen.
Berechnet alle Messwerte für Verzerrungen vor der Schulung
Diese Beispielkonfiguration zeigt, wie gemessen wird, ob der Datensatz der vorherigen Stichprobe positiv auf Stichproben mit einem Gender
Wert von 0
ausgerichtet ist. Die folgende Analysekonfiguration weist den Verarbeitungsauftrag SageMaker Clarify an, alle Bias-Metriken vor dem Training für den Datensatz zu berechnen.
{ "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" } } }
Berechnet alle Messwerte für Verzerrungen nach der Schulung
Sie können vor der Schulung Messwerte für Verzerrungen vor der Schulung berechnen. Sie benötigen jedoch ein geschultes Modell, um die Messwerte für Verzerrungen nach der Schulung berechnen zu können. Die folgende Beispielausgabe stammt aus einem binären Klassifikationsmodell, das Daten im CSV-Format ausgibt. In dieser Beispielausgabe enthält jede Zeile zwei Spalten. Die erste Spalte enthält die vorhergesagte Beschriftung und die zweite Spalte enthält den Wahrscheinlichkeitswert für diese Beschriftung.
0,0.028986845165491 1,0.825382471084594 ...
Das folgende Konfigurationsbeispiel weist den Verarbeitungsauftrag SageMaker Clarify an, alle möglichen Bias-Metriken anhand des Datensatzes und der Vorhersagen aus der Modellausgabe zu berechnen. Im Beispiel wird das Modell auf einem SageMaker Endpunkt bereitgestelltyour_endpoint
.
Anmerkung
Im folgenden Beispielcode sind die Parameter content_type
und accept_type
nicht festgelegt. Daher verwenden sie automatisch den Wert des Parameters dataset_type, nämlich text/csv
ist.
{ "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
} }
Berechnet die SHAP-Werte
In der folgenden Beispielanalysekonfiguration wird der Job angewiesen, die SHAP-Werte zu berechnen, wobei die Target
Spalte als Beschriftungen und alle anderen Spalten als Features gekennzeichnet werden.
{ "dataset_type": "
text/csv
", "label": "Target
", "methods": { "shap": { "num_clusters":1
} }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
In diesem Beispiel wird der baseline
SHAP-Parameter weggelassen und der Wert des num_clusters
Parameters 1
ist. Dadurch wird der SageMaker Clarify-Prozessor angewiesen, ein SHAP-Baseline-Beispiel zu berechnen. In diesem Beispiel ist die Wahrscheinlichkeit auf 1
gesetzt. Dadurch wird der Verarbeitungsauftrag SageMaker Clarify angewiesen, den Wahrscheinlichkeitswert aus der zweiten Spalte der Modellausgabe zu extrahieren (mit nullbasierter Indizierung).
Berechnet partielle Abhängigkeitsdiagramme (PDPs)
Das folgende Beispiel zeigt, wie die Wichtigkeit des Income
Features im Analysebericht mithilfe von PDPs angezeigt wird. Der Berichtsparameter weist den Verarbeitungsauftrag SageMaker Clarify an, einen Bericht zu generieren. Nach Abschluss des Auftrages wird der generierte Bericht als report.pdf an diesem analysis_result
Speicherort gespeichert. Der grid_resolution
Parameter unterteilt den Bereich der Feature-Werte in 10
Bereiche. Zusammen weisen die im folgenden Beispiel angegebenen Parameter den Verarbeitungsauftrag SageMaker Clarify an, einen Bericht zu generieren, der ein PDP-Diagramm für Income
mit 10
Segmenten auf der x-Achse enthält. Auf der Y-Achse wird der geringfügige Einfluss von Income
auf die Prognosen dargestellt.
{ "dataset_type": "text/csv", "label": "Target", "methods": { "pdp": { "features": ["
Income
"], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
}, }
Berechnet sowohl Messwerte für Verzerrungen als auch die Bedeutung der Features
Sie können alle Methoden aus den vorherigen Konfigurationsbeispielen in einer einzigen Analysekonfigurationsdatei kombinieren und sie alle mit einem einzigen Auftrag berechnen. Das folgende Beispiel zeigt eine Analysekonfiguration, bei der alle Schritte kombiniert wurden.
In diesem Beispiel ist der probability
Parameter so eingestellt, dass 1
angibt, dass Wahrscheinlichkeiten in der zweiten Spalte enthalten sind (unter Verwendung einer nullbasierten Indizierung). Da für die Bias-Analyse jedoch ein vorhergesagtes Label erforderlich ist, ist der probability_threshold
Parameter auf 0.5
eingestellt, dass er den Wahrscheinlichkeitswert in eine binäre Beschriftung umwandelt. In diesem Beispiel ist der top_k_features
Parameter der pdp
Methode partielle Abhängigkeitsdiagramme auf 2
festgelegt. Dadurch wird der Verarbeitungsauftrag SageMaker Clarify angewiesen, partielle Abhängigkeitsdiagramme (PDPs) für die wichtigsten 2
Features mit den größten globalen SHAP-Werten zu berechnen.
{ "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
} }
Anstatt das Modell auf einem Endpunkt bereitzustellen, können Sie den Namen Ihres SageMaker Modells mithilfe des model_name
Parameters für den Verarbeitungsauftrag SageMaker Clarify angeben. Das folgende Beispiel zeigt, wie Sie ein Modell mit dem Namen your_model
angeben. Der Verarbeitungsauftrag SageMaker Clarify erstellt mithilfe der Konfiguration einen Schattenendpunkt.
{ ... "predictor": { "model_name": "
your_model
", "initial_instance_count":1
, "instance_type": "ml.m5.large
", "probability":1
} }
Die folgenden Beispiele zeigen, wie die Verzerrungsanalyse und die Erklärbarkeitsanalyse für einen tabellarischen Datensatz im JSON Lines-Format konfiguriert werden. In diesen Beispielen hat der eingehende Datensatz dieselben Daten wie der vorherige Abschnitt, sie haben jedoch das dichte Format SageMaker JSON Lines. Jede Zeile ist ein gültiges JSON-Objekt. Der Schlüssel „Features“ zeigt auf eine Reihe von Feature-Werten, und der Schlüssel „Beschriftung“ zeigt auf die Ground-Truth-Beschriftung. Der Datensatz wird dem SageMaker Clarify-Auftrag durch die Verarbeitungseingabe „Datensatz“ zur Verfügung gestellt. Weitere Informationen zu JSON-Zeilen finden Sie unter JSONLINES-Anforderungsformat.
{"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} ...
In den folgenden Abschnitten wird gezeigt, wie Verzerrungsmetriken, SHAP-Werte und partielle Abhängigkeitsdiagramme (PDPs) vor und nach der Schulung berechnet werden, die die Bedeutung von Features für einen Datensatz im Format JSON Lines zeigen.
Berechnen von Verzerrungsmetriken vor der Schulung
Geben Sie die Bezeichnung, die Merkmale, das Format und die Methoden zur Messung der Messwerte für Verzerrungen vor der Schulung für einen Gender
Wert von 0
an. Im folgenden Beispiel gibt der headers
Parameter zuerst die Feature-Namen an. Der Beschriftungsname wird zuletzt angegeben. Konventionell ist der letzte Header der Beschriftung-Header.
Der features
Parameter ist auf den JMESPath-Ausdruck „Features“ gesetzt, sodass der SageMaker Clarif-Verarbeitungsauftrag das Feature-Array aus jedem Datensatz extrahieren kann. Der label
Parameter ist auf den JMESPath-Ausdruck „Label“ gesetzt, sodass der SageMaker Clarif-Verarbeitungsauftrag die Ground-Truth-Beschriftung aus jedem Datensatz extrahieren kann. Verwenden Sie einen Facettennamen, um das sensible Attribut wie folgt anzugeben.
{ "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
" } } }
Berechnet alle Messwerte für die systematische Abweichung
Sie benötigen ein trainiertes Modell, um die Messwerte für Verzerrungen nach der Schulung berechnen zu können. Das folgende Beispiel stammt aus einem binären Klassifizierungsmodell, das JSON-Lines-Daten im Format des Beispiels ausgibt. Jede Zeile der Modellausgabe ist ein gültiges JSON-Objekt. Die predicted_label
Schlüsselpunkte weisen auf die vorhergesagte Beschriftung und die probability
Schlüsselpunkte auf den Wahrscheinlichkeitswert hin.
{"predicted_label":0,"probability":0.028986845165491} {"predicted_label":1,"probability":0.825382471084594} ...
Sie können das Modell auf einem SageMaker Endpunkt mit dem Namen bereitstellenyour_endpoint
. Die folgende Beispielanalysekonfiguration weist den Verarbeitungsauftrag SageMaker Clarify an, alle möglichen Bias-Metriken sowohl für den Datensatz als auch für das Modell zu berechnen. In diesem Beispiel sind die Parameter content_type
und accept_type
nicht enthalten. Daher werden sie automatisch so eingestellt, dass sie den Wert des Parameters dataset_type verwenden, nämlich application/jsonlines
ist. Der Verarbeitungsauftrag SageMaker Clarify verwendet den content_template
Parameter , um die Modelleingabe zu erstellen, indem der $features
Platzhalter durch ein Array von Features ersetzt wird.
{ "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
" } }
Berechnet die SHAP-Werte
Da für die SHAP-Analyse kein Ground-Truth-Etikett erforderlich ist, wird der label
Parameter weggelassen. In diesem Beispiel wird der headers
Parameter ebenfalls weggelassen. Daher muss der Verarbeitungsauftrag SageMaker Clarify Platzhalter mit generischen Namen wie column_0
oder column_1
für Feature-Header und label0
für einen Label-Header generieren. Sie können Werte für headers
und für label
angeben, um die Lesbarkeit des Analyseergebnisses zu verbessern. Da der Wahrscheinlichkeitsparameter auf JMESPath-Ausdruck probability
gesetzt ist, wird der Wahrscheinlichkeitswert aus der Modellausgabe extrahiert. Im Folgenden finden Sie ein Beispiel zur Berechnung von SHAP-Werten.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "shap": { "num_clusters
": 1 } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
Berechnet partielle Abhängigkeitsdiagramme (PDPs)
Das folgende Beispiel zeigt, wie Sie die Bedeutung von „Einkommen“ für PDP betrachten können. In diesem Beispiel werden die Feature-Header nicht bereitgestellt. Daher muss der features
Parameter der pdp
Methode einen auf Null basierenden Index verwenden, um auf die Position der Feature-Spalte zu verweisen. Der grid_resolution
Parameter unterteilt den Bereich der Feature-Werte in 10
Bereiche. Zusammen weisen die Parameter im Beispiel den Verarbeitungsauftrag SageMaker Clarify an, einen Bericht zu generieren, der ein PDP-Diagramm für Income
mit 10
Segmenten auf der x-Achse enthält. Auf der Y-Achse wird der geringfügige Einfluss von Income
auf die Prognosen dargestellt.
{ "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
" } }
Berechnet sowohl Messwerte für Verzerrungen als auch die Bedeutung der Features
Sie können alle vorherigen Methoden in einer einzigen Analysekonfigurationsdatei kombinieren und sie alle mit einem einzigen Auftrag berechnen. Das folgende Beispiel zeigt eine Analysekonfiguration, bei der alle Schritte kombiniert wurden. In diesem Beispiel ist der probability
Parameter festgelegt. Da für die Bias-Analyse jedoch ein vorhergesagtes Label erforderlich ist, ist der probability_threshold
Parameter auf 0.5
eingestellt, dass er den Wahrscheinlichkeitswert in eine binäre Beschriftung umwandelt. In diesem Beispiel ist der top_k_features
Parameter der pdp
Methode auf 2
gesetzt. Dadurch wird der Verarbeitungsauftrag SageMaker Clarify angewiesen, PDPs für die wichtigsten 2
Features mit den größten globalen SHAP-Werten zu berechnen.
{ "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
" } }
Die folgenden Beispiele zeigen, wie die Verzerrungs- und Erklärbarkeitsanalyse für einen tabellarischen Datensatz im JSON-Format konfiguriert wird. In diesen Beispielen hat der eingehende Datensatz die gleichen Daten wie im vorherigen Abschnitt, sie haben jedoch das dichte SageMaker JSON-Format. Weitere Informationen zu JSON-Zeilen finden Sie unter JSONLINES-Anforderungsformat.
Die gesamte Eingabeanforderung ist gültiges JSON, wobei die äußere Struktur eine Liste ist und jedes Element die Daten für einen Datensatz ist. In jedem Datensatz verweisen die Features
Schlüsselpunkte auf eine Reihe von Featureswerten und die Label
Schlüsselpunkte auf die Ground-Truth-Beschriftung. Der Datensatz wird dem SageMaker Clarify-Auftrag durch die dataset
Verarbeitungseingabe zur Verfügung gestellt.
[ {"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}, ... ]
In den folgenden Abschnitten wird gezeigt, wie Verzerrungsmetriken, SHAP-Werte und partielle Abhängigkeitsdiagramme (PDPs) vor und nach der Schulung berechnet werden, die die Bedeutung von Merkmalen für einen Datensatz im Format JSON Lines zeigen.
Berechnen von Verzerrungsmetriken vor der Schulung
Geben Sie die Bezeichnung, die Merkmale, das Format und die Methoden zur Messung der Messwerte für Verzerrungen vor der Schulung für einen Gender
Wert von 0
an. Im folgenden Beispiel gibt der headers
Parameter zuerst die Feature-Namen an. Der Beschriftungsname wird zuletzt angegeben. Bei JSON-Datensätzen ist der letzte Header der Beschriftung-Header.
Der features
Parameter ist auf den JMESPath-Ausdruck gesetzt, der ein 2D-Array oder eine 2D-Matrix extrahiert. Jede Zeile in dieser Matrix muss die Liste von Features
für jeden Datensatz enthalten. Der label
Parameter ist auf den JMESPath-Ausdruck gesetzt, der eine Liste von Ground-Truth-Bezeichnungen extrahiert. Jedes Element in dieser Liste muss die Bezeichnung für einen Datensatz enthalten.
Verwenden Sie einen Facettennamen, um das sensible Attribut wie folgt anzugeben.
{ "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" } } }
Berechnet alle Messwerte für die systematische Abweichung
Sie benötigen ein geschultes Modell, um die Messwerte für Verzerrungen nach der Schulung berechnen zu können. Das folgende Codebeispiel stammt aus einem binären Klassifikationsmodell, das JSON-Daten im Format des Beispiels ausgibt. Im Beispiel predictions
ist jedes Element unter die Prognoseausgabe für einen Datensatz. Der Beispielcode enthält den Schlüssel predicted_label
, der auf die vorhergesagte Beschriftung verweist, und den Schlüssel, der auf den Wahrscheinlichkeitswert probability
verweist.
{ "predictions": [ {"predicted_label":0,"probability":0.028986845165491}, {"predicted_label":1,"probability":0.825382471084594}, ... ] }
Sie können das Modell auf einem SageMaker Endpunkt mit dem Namen bereitstellenyour_endpoint
.
Im folgenden Beispiel sind die Parameter content_type
und accept_type
nicht gesetzt. Daher werden content_type
und accept_type
automatisch so eingestellt, dass sie den Wert des Parameters dataset_type
verwenden, nämlich application/json
ist. Der Verarbeitungsauftrag SageMaker Clarify verwendet dann den content_template
Parameter , um die Modelleingabe zu erstellen.
Im folgenden Beispiel wird die Modelleingabe erstellt, indem der $records
Platzhalter durch ein Array von Datensätzen ersetzt wird. Anschließend erstellt der record_template
Parameter die JSON-Struktur jedes Datensatzes und ersetzt den $features
Platzhalter durch das Feature-Array jedes Datensatzes.
Die folgende Beispielanalysekonfiguration weist den Verarbeitungsauftrag SageMaker Clarify an, alle möglichen Bias-Metriken sowohl für den Datensatz als auch für das Modell zu berechnen.
{ "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" } }
Berechnet die SHAP-Werte
Sie müssen keine Beschriftung für die SHAP-Analyse angeben. Im folgenden Beispiel ist der headers
Parameter nicht angegeben. Daher generiert der SageMaker Clarify-Verarbeitungsauftrag Platzhalter mit generischen Namen wie column_0
oder column_1
für Feature-Header und label0
für einen Label-Header. Sie können Werte für headers
und für label
angeben, um die Lesbarkeit des Analyseergebnisses zu verbessern.
Im folgenden Konfigurationsbeispiel ist der Wahrscheinlichkeitsparameter auf einen JMESPath-Ausdruck festgelegt, der die Wahrscheinlichkeiten aus jeder Vorhersage für jeden Datensatz extrahiert. Im Folgenden finden Sie ein Beispiel zur Berechnung von SHAP-Werten.
{ "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" } }
Berechnet partielle Abhängigkeitsdiagramme (PDPs)
Das folgende Beispiel zeigt, wie Sie die Wichtigkeit eines Features in PDPs anzeigen können. In dem Beispiel werden die Feature-Header nicht bereitgestellt. Daher muss der features
Parameter der pdp
Methode einen auf Null basierenden Index verwenden, um auf die Position der Feature-Spalte zu verweisen. Der grid_resolution
Parameter unterteilt den Bereich der Feature-Werte in 10
Bereiche.
Zusammen weisen die Parameter im folgenden Beispiel den Verarbeitungsauftrag SageMaker Clarify an, einen Bericht zu generieren, der ein PDP-Diagramm für Income
mit 10
Segmenten auf der x-Achse enthält. Die Y-Achse zeigt die marginalen Auswirkungen von Income
auf die Prognosen.
Das folgende Konfigurationsbeispiel zeigt, wie die Bedeutung von Income
auf PDPs angezeigt wird.
{ "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" } }
Berechnet sowohl Messwerte für Verzerrungen als auch die Bedeutung von Features
Sie können alle vorherigen Konfigurationsmethoden in einer einzigen Analysekonfigurationsdatei kombinieren und sie alle mit einem einzigen Auftrag berechnen. Das folgende Beispiel zeigt eine Analysekonfiguration, bei der alle Schritte kombiniert wurden.
In diesem Beispiel ist der probability
Parameter festgelegt. Da für die Bias-Analyse eine vorhergesagte Beschriftung erforderlich ist, ist der probability_threshold
Parameter auf festgelegt. Dieser Wert wird 0.5
verwendet, um den Wahrscheinlichkeitswert in eine binäre Beschriftung umzuwandeln. In diesem Beispiel ist der top_k_features
Parameter der pdp
Methode auf 2
festgelegt. Dadurch wird der Verarbeitungsauftrag SageMaker Clarify angewiesen, PDPs für die wichtigsten 2
Features mit den größten globalen SHAP-Werten zu berechnen.
{ "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" } }
Das folgende Beispiel zeigt eine Analysekonfigurationsdatei zur Berechnung der Bedeutung von Features für die Verarbeitung natürlicher Sprache (NLP). In diesem Beispiel ist der eingehende Datensatz ein tabellarischer Datensatz im CSV-Format mit einer binären Beschriftungsspalte und zwei Feature-Spalten, wie im Folgenden dargestellt. Der Datensatz wird dem SageMaker Clarify-Auftrag durch den dataset
Verarbeitungseingabeparameter bereitgestellt.
0,2,"They taste gross" 1,3,"Flavor needs work" 1,5,"Taste is awful" 0,1,"The worst" ...
In diesem Beispiel wurde ein binäres Klassifikationsmodell anhand des vorherigen Datensatzes geschult. Das Modell akzeptiert CSV-Daten und gibt wie folgt eine einzelne Punktzahl zwischen 0
und 1
aus.
0.491656005382537 0.569582343101501 ...
Das Modell wird verwendet, um ein SageMaker Modell mit dem Namen „your_model“ zu erstellen. Die folgende Analysekonfiguration zeigt, wie Sie mithilfe des Modells und des Datensatzes eine Token-basierte Erklärbarkeitsanalyse durchführen. Der text_config
Parameter aktiviert die NLP-Erklärbarkeitsanalyse. Der granularity
Parameter gibt an, dass bei der Analyse Tokens analysiert werden sollen.
Im Englischen ist jedes Token ein Wort. Das folgende Beispiel zeigt auch, wie eine direkte SHAP-Instance mit einer durchschnittlichen „Bewertung“ von 4 bereitgestellt wird. Ein spezielles Maskentoken „[MASK]“ wird verwendet, um ein Token (Wort) in „Kommentaren“ zu ersetzen. In diesem Beispiel wird auch ein GPU-Endpunkt-Instance-Typ verwendet, um die Inferenz zu beschleunigen.
{ "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
" } }
Das folgende Beispiel zeigt eine Analysekonfigurationsdatei, die die Bedeutung von Rechenfunktionen für Computer Vision zeigt. In diesem Beispiel besteht der Eingabedatensatz aus JPEG-Bildern. Der Datensatz wird dem SageMaker Clarify-Auftrag durch den dataset
Verarbeitungseingabeparameter zur Verfügung gestellt. Das Beispiel zeigt, wie Sie eine Erklärbarkeitsanalyse mit einem SageMaker Bildklassifizierungsmodell konfigurieren. In diesem Beispiel wurde ein Modell mit dem Namen your_cv_ic_model
, darauf geschult, die Tiere auf den JPEG-Eingabebildern zu klassifizieren.
{ "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"
] } }
Weitere Informationen zur Bildklassifizierung finden Sie unter Bildklassifikation - MXNet.
In diesem Beispiel your_cv_od_model
wird ein SageMaker Objekterkennungsmodell auf denselben JPEG-Bildern trainiert, um die auf ihnen befindlichen Arzt zu identifizieren. Das folgende Beispiel zeigt, wie eine Erklärbarkeitsanalyse für das Objekterkennungsmodell konfiguriert wird.
{ "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"
] } }