Parameter konfigurieren, um Attributionsdrift zu überwachen - 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 konfigurieren, um Attributionsdrift zu überwachen

Amazon SageMaker Clarify Explainability Monitor verwendet eine Teilmenge der Parameter wieder, die in der Analysekonfiguration vonAnalyse konfigurieren. Die folgenden Parameter müssen in einer JSON-Datei angegeben werden und der Pfad muss in derConfigUriParameter vonModelExplainabilityAppSpecification.

  • "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 Dataset. Die Erklärbarkeitsanalyse erfordert keine Beschriftungen.

  • "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-Objekt-URI. Wird als Basisdatensatz (auch als Hintergrunddatensatz bezeichnet) im Kernel-SHAP-Algorithmus verwendet. Das Format sollte das gleiche wie das Datensatzformat sein. Jede Zeile sollte nur die Feature-Spalten (oder Werte) enthalten. Bevor Sie jede Zeile an das Modell senden, lassen Sie alle Spalten weg, die ausgeschlossen werden müssen.

      • "num_samples"— Anzahl der Samples, die im Kernel-SHAP-Algorithmus verwendet werden sollen. Diese Zahl bestimmt die Größe des generierten synthetischen Datasets zur Berechnung der SHAP-Werte. Falls nicht angegeben, dann ist ein SageMaker Der Clarify-Job wählt den Wert basierend auf 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 SHAP-Werte im Quadrat für alle Instanzen.

      • "use_logit"— (Optional) Boolescher Wert, der angibt, ob die Logit-Funktion auf die Modellvorhersagen angewendet werden soll. Wenn"use_logit"isttrue, dann haben die SHAP-Werte Log-Odds-Einheiten. Der Standardwert ist false.

      • "save_local_shap_values"— (Optional) Boolescher Wert, der angibt, ob lokale SHAP-Werte im Ausgabeverzeichnis gespeichert werden sollen. Verwenden vontrueum sie zu retten. Verwenden vonfalseum sie nicht zu retten. Der Standardwert ist false.

  • "predictor"— (Optional) Abschnitt über Modellparameter, erforderlich wenn"shap"und"post_training_bias"-Abschnitte sind vorhanden.

    • "model_name"— Modellname erstellt vonCreateModelAPI, mit Containermodus alsSingleModel.

    • "instance_type"— Instanztyp für den Schattenendpunkt.

    • "initial_instance_count"— Anzahl der Exemplare für den Schattenendpunkt.

    • "content_type"— (Optional) Das Modelleingabeformat, das zum Abrufen von Rückschlüssen mit dem Schattenendpunkt verwendet werden soll. Gültige Werte sind"text/csv"für CSV"application/jsonlines"für JSON-Linien,application/x-parquetfür Apache Parquet undapplication/x-imageum Computer Vision Erklärbarkeit zu ermöglichen. Der Standardwert entsprichtdataset_type.

    • "accept_type"— (Optional) Das ModellAusgangFormat, das zum Abrufen von Rückschlüssen mit dem Schattenendpunkt verwendet werden soll. Gültige Werte sind"text/csv"für CSV"application/jsonlines"für JSON-Linien. Wenn weggelassen, SageMaker Clarify verwendet den Antwortdatentyp der erfassten Daten.

    • "content_template"— (Optional) Eine Vorlagenzeichenfolge, die zum Erstellen der Modelleingabe aus Dataset-Instanzen Es wird nur verwendet, wenn"content_type"ist"application/jsonlines". Die Vorlage sollte nur einen Platzhalter enthalten$features, die zur Laufzeit durch die Features-Liste ersetzt wird. Zum Beispiel gegeben"content_template":"{\"myfeatures\":$features}", wenn eine Instanz (kein Label)1,2,3, dann wird die Modelleingabe zu JSON'{"myfeatures":[1,2,3]}'.

    • "label_headers"— (Optional) Eine Liste von -Werten, die"label"nimmt den Datensatz auf. Ordnet die vom Modellendpunkt zurückgegebenen Punktzahlen den entsprechenden Beschriftungswerten zu. Wenn es bereitgestellt wird, verwendet der Analysebericht die Kopfzeilen anstelle von Platzhaltern wie“label0”.

Die anderen Parameter sollten in angegeben werdenEndpointInputderModelExplainabilityJobInputAPI.

  • FeaturesAttribute— Dieser Parameter ist erforderlich, wenn das Endpoint-Eingabedatenformat"application/jsonlines". Es ist der JSONPath, der verwendet wird, um die Feature-Spalten zu lokalisieren, wenn das Dataset-Format

  • ProbabilityAttribute— Index oder JsonPath-Position in der Modellausgabe für Wahrscheinlichkeiten. Wenn die Modellausgabe beispielsweise JSON-Linien mit einer Liste von Beschriftungen und Wahrscheinlichkeiten ist, wird die Bezeichnung, die der maximalen Wahrscheinlichkeit entspricht, für Bias-Berechnungen ausgewählt.

Beispiel für JSON-Konfigurationsdateien für CSV- und JSON-Leitungs

Im Folgenden finden Sie Beispiele für JSON-Dateien, die zum Konfigurieren von CSV- und JSON Lines-Datensätzen verwendet werden, um sie auf Abweichungen bei der Feature-

CSV-Datasets

Stellen Sie sich ein Dataset mit drei numerischen Feature-Spalten vor, wie im folgenden Beispiel dargestellt.

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

Angenommen, die Modellausgabe hat zwei Spalten, wobei die erste die vorhergesagte Beschriftung und die zweite die Wahrscheinlichkeit ist, wie im folgenden Beispiel dargestellt.

1, 0.5385257417814224

Die folgende Beispiel-JSON-Konfigurationsdatei 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 von der"ProbabilityAttribute"Parameter. Es wird eine auf Null basierende Nummerierung verwendet, sodass 1 die zweite Spalte der Modellausgabe angibt.

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

JSON Lines-Datensätze

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

{"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 ist identisch mit dem Dataset-Format, und die Modellausgabe ist JSON Lines, wie im folgenden Beispiel dargestellt.

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

Im folgenden Beispiel zeigt die JSON-Konfigurationsdatei, wie dieses JSON Lines-Dataset 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}" } }

Dann wird der"features"-Parameterwert inEndpointInputwird verwendet, um die Features im Dataset zu lokalisieren, und"probability"Parameterwert wählt den Wahrscheinlichkeitswert aus der Modellausgabe aus.

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