Parameter zur Überwachung der Attributionsabweichung - Amazon SageMaker

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.

Parameter zur Überwachung der Attributionsabweichung

Amazon SageMaker Clarify Explainability Monitor verwendet eine Teilmenge der Parameter wieder, die in der Analysekonfiguration von verwendet wurden. Konfigurationsdateien für die Analyse Die folgenden Parameter müssen in einer JSON Datei angegeben werden, und der Pfad muss im Parameter von angegeben werden. ConfigUri ModelExplainabilityAppSpecification

  • "version" – (Optional) Schemaversion der Konfigurationsdatei. Ist dieser Parameter nicht angegeben, wird die neueste unterstützte Version verwendet.

  • "headers" – (Optional) Eine Liste von Feature-Namen im Datensatz. Für die Erklärbarkeitsanalyse sind keine Beschriftungen erforderlich.

  • "methods" – Eine Liste der Methoden und ihrer Parameter für die Analysen und Berichte. Wenn ein Abschnitt weggelassen wird, wird er nicht berechnet.

    • "shap"— (Optional) Abschnitt zur SHAP Wertberechnung.

      • "baseline"— (Optional) Eine Liste von Zeilen (mindestens eine) oder ein Amazon Simple Storage Service Amazon S3 S3-ObjektURI. Wird als Basisdatensatz (auch als Hintergrunddatensatz bezeichnet) im SHAP Kernel-Algorithmus verwendet. Das Format sollte dem Datensatzformat entsprechen. Jede Zeile sollte nur die Feature-Spalten (oder Werte) enthalten. Bevor Sie jede Zeile an das Modell senden, lassen Sie alle Spalten aus, die ausgeschlossen werden müssen.

      • "num_samples"— Anzahl der Samples, die im SHAP Kernel-Algorithmus verwendet werden sollen. Diese Zahl bestimmt die Größe des generierten synthetischen Datensatzes zur Berechnung der SHAP Werte. Falls nicht angegeben, wählt ein SageMaker Clarif-Job den Wert auf der Grundlage einer Anzahl von Features aus.

      • "agg_method"— Aggregationsmethode für globale SHAP Werte. Gültige Werte sind:

        • "mean_abs"— Mittelwert der absoluten SHAP Werte für alle Instanzen.

        • "median"— Median der SHAP Werte für alle Instanzen.

        • "mean_sq"— Mittelwert der quadrierten SHAP Werte für alle Instanzen.

      • "use_logit" – (Optional) Boolescher Wert, der angibt, ob die Logit-Funktion auf die Modellvorhersagen angewendet werden soll. Falls ja "use_logit"true, dann haben die SHAP Werte logarithmische Odds Einheiten. Der Standardwert ist false.

      • "save_local_shap_values"— (Optional) Boolescher Wert, der angibt, ob lokale SHAP Werte am Ausgabespeicherort gespeichert werden sollen. Verwenden Sie true, um sie zu speichern. Verwenden Sie false, um sie nicht zu speichern. Der Standardwert ist false.

  • "predictor" – (Optional für Echtzeit-Endpunkte, erforderlich für Batch-Transformation) Abschnitt über Modellparameter, erforderlich, wenn "shap" und "post_training_bias" Abschnitte vorhanden sind.

    • "model_name"— Modellname, erstellt von CreateModelAPI, mit dem Containermodus als. SingleModel

    • "instance_type" – Instance-Typ für den Schattenendpunkt.

    • "initial_instance_count" – Anzahl der Instances für den Schattenendpunkt.

    • "content_type" – (Optional) Das Modelleingabeformat, das verwendet werden soll, um Rückschlüsse auf den Schattenendpunkt zu ziehen. Gültige Werte sind "text/csv" fürCSV, "application/jsonlines" für JSON Lines, application/x-parquet für Apache Parquet und application/x-image um die Erklärbarkeit von Computer Vision zu ermöglichen. Der Standardwert ist der gleiche wie das dataset_type Format.

    • "accept_type" – (Optional) Das Modellausgabeformat, das verwendet werden soll, um Rückschlüsse auf den Schattenendpunkt zu ziehen. Gültige Werte sind "text/csv" fürCSV, "application/jsonlines" für JSON Lines. Wenn nicht angegeben, verwendet SageMaker Clarify den Antwortdatentyp der erfassten Daten.

    • "content_template" – (Optional) Eine Vorlagenzeichenfolge, die verwendet wird, um die Modelleingabe aus Datensatz-Instances zu konstruieren. Sie wird nur verwendet, wenn "content_type" "application/jsonlines" ist. Die Vorlage sollte nur einen Platzhalter haben, $features, der zur Laufzeit durch die Feature-Liste ersetzt wird. Wenn beispielsweise eine Instanz (kein Label) angegeben "content_template":"{\"myfeatures\":$features}" ist1,2,3, dann wird die Modelleingabe zu JSON Linien'{"myfeatures":[1,2,3]}'.

    • "label_headers" – (Optional) Eine Liste von Werten, die der Datensatz "label" aufnimmt. Ordnet die vom Modellendpunkt oder der Batch-Transformationsaufgabe zurückgegebenen Werte den entsprechenden Labelwerten zu. Wenn es angegeben ist, verwendet der Analysebericht die Überschriften anstelle von Platzhaltern wie “label0”.

Die anderen Parameter sollten in EndpointInput (für Echtzeit-Endpunkte) oder BatchTransformInput (für Batch-Transformationsaufträge) von bereitgestellt werden. ModelExplainabilityJobInputAPI

  • FeaturesAttribute – Dieser Parameter ist erforderlich, wenn das Eingabedatenformat für Endgeräte oder Batch-Aufträge "application/jsonlines" lautet. Es wird JMESPath verwendet, um die Feature-Spalten zu lokalisieren, wenn das Datensatzformat JSON Linien ist.

  • ProbabilityAttribute— Index oder JMESPath Position in der Modellausgabe für Wahrscheinlichkeiten. Handelt es sich bei der Modellausgabe beispielsweise um JSON Linien mit einer Liste von Bezeichnungen und Wahrscheinlichkeiten, dann wird für die Berechnung der Messabweichung die Bezeichnung ausgewählt, die der maximalen Wahrscheinlichkeit entspricht.

JSONBeispielkonfigurationsdateien für Datensätze CSV und Liniendatensätze JSON

Im Folgenden finden Sie Beispiele für die zur Konfiguration verwendeten JSON Dateien CSV und für JSON Lines-Datensätze, um sie auf Abweichungen bei der Feature-Zuordnung zu überwachen.

CSVDatensätze

Stellen Sie sich einen Datensatz mit drei numerischen Feature-Spalten vor, wie im folgenden Beispiel.

0.5814568701544718, 0.6651538910132964, 0.3138080342665499 0.6711642728531724, 0.7466687034026017, 0.1215477472819713 0.0453256543003371, 0.6377430803264152, 0.3558625219713576 0.4785191813363956, 0.0265841045263860, 0.0376935084990697

Gehen Sie davon aus, dass die Modellausgabe aus zwei Spalten besteht, wobei die erste Spalte das vorhergesagte Label und die zweite die Wahrscheinlichkeit darstellt, wie im folgenden Beispiel.

1, 0.5385257417814224

Die folgende JSON Beispielkonfigurationsdatei zeigt, wie dieser CSV Datensatz konfiguriert werden kann.

{ "headers": [ "feature_1", "feature_2", "feature_3" ], "methods": { "shap": { "baseline": [ [0.4441164946610942, 0.5190374448171748, 0.20722795300473712] ], "num_samples": 100, "agg_method": "mean_abs" } }, "predictor": { "model_name": "my_model", "instance_type": "ml.m5.xlarge", "initial_instance_count": 1 } }

Das vorhergesagte Label wird durch den "ProbabilityAttribute" Parameter ausgewählt. Die Nummerierung basiert auf Null, sodass 1 für die zweite Spalte der Modellausgabe steht.

"EndpointInput": { ... "ProbabilityAttribute": 1 ... }

JSONLinien-Datensätze

Stellen Sie sich einen Datensatz mit vier Feature-Spalten und einer Beschriftung-Spalte vor, wobei das erste Feature und die Beschriftung binär sind, wie im folgenden Beispiel.

{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0} {"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1} {"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1} {"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}

Die Modelleingabe entspricht dem Datensatzformat, und die Modellausgabe ist JSON Linien, wie im folgenden Beispiel.

{"predicted_label":1, "probability":0.5385257417814224}

Im folgenden Beispiel zeigt die JSON Konfigurationsdatei, wie dieser JSON Lines-Datensatz konfiguriert werden kann.

{ "headers": [ "feature_1", "feature_2", "feature_3" ], "methods": { "shap": { "baseline": [ {"features":[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]} ], "num_samples": 100, "agg_method": "mean_abs" } }, "predictor": { "model_name": "my_model", "instance_type": "ml.m5.xlarge", "initial_instance_count": 1, "content_template":"{\"features\":$features}" } }

Anschließend wird der "features" Parameterwert in EndpointInput (für Echtzeit-Endpunkte) oder BatchTransformInput (für Batch-Transformationsauftrages) verwendet, um die Features im Datensatz zu lokalisieren, und der "probability" Parameterwert wählt den Wahrscheinlichkeitswert aus der Modellausgabe aus.

"EndpointInput": { ... "FeaturesAttribute": "features", "ProbabilityAttribute": "probability", ... }