SageMaker Interaktiver Debugger-Bericht für XGBoost - 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.

SageMaker Interaktiver Debugger-Bericht für XGBoost

Erhalten Sie vom Debugger automatisch generierte Trainingsberichte. Die Debugger-Berichte bieten Einblicke in Ihre Trainingsaufträge und geben Empfehlungen zur Verbesserung der Leistung Ihres Modells.

Anmerkung

Sie können Debugger-Berichte herunterladen, während Ihr Trainingsauftrag läuft oder nachdem der Auftrag abgeschlossen ist. während des Trainings aktualisiert der Debugger gleichzeitig den Bericht, der den Auswertungsstatus der aktuellen Regeln wiedergibt. Sie können einen vollständigen Debugger-Bericht erst herunterladen, wenn der Trainingsauftrag abgeschlossen ist.

Wichtig

Der Bericht enthält Diagramme und Empfehlungen zu Informationszwecken und sind nicht endgültig. Es liegt in Ihrer Verantwortung, die Informationen eigenständig zu bewerten.

SageMaker Debugger XGBoost-Schulungsbericht

Verwenden Sie für SageMaker XGBoost-Schulungsjobs die CreateXgboostReport Debugger-Regel, um einen umfassenden Trainingsbericht über den Trainingsfortschritt und die Ergebnisse zu erhalten. Geben Sie anhand dieser Anleitung die CreateXgboostReport Regel bei der Erstellung eines XGBoost-Schätzers an, laden Sie den Bericht mithilfe des Amazon SageMaker Python SDK oder der Amazon S3 S3-Konsole herunter und gewinnen Sie Einblicke in die Trainingsergebnisse.

Wichtig

Der Bericht enthält Diagramme und Empfehlungen zu Informationszwecken und sind nicht endgültig. Es liegt in Ihrer Verantwortung, die Informationen eigenständig zu bewerten.

Konstruieren Sie einen SageMaker XGBoost-Schätzer mit der Debugger-XGBoost-Berichtsregel

Die CreateXgboostReport Regel erfasst die folgenden Ausgangstensoren aus Ihrem Trainingsauftrag:

  • hyperparameters – Speichert im ersten Schritt.

  • metrics – Speichert alle 5 Schritte Verlust und Genauigkeit.

  • feature_importance – Speichert alle 5 Schritte.

  • predictions – Speichert alle 5 Schritte.

  • labels – Speichert alle 5 Schritte.

Die Ausgabetensoren werden in einem Standard-S3-Bucket gespeichert. z. B. s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/debug-output/.

Wenn Sie einen SageMaker Schätzer für einen XGBoost-Trainingsjob erstellen, geben Sie die Regel wie im folgenden Beispielcode dargestellt an.

Using the SageMaker generic estimator
import boto3 import sagemaker from sagemaker.estimator import Estimator from sagemaker import image_uris from sagemaker.debugger import Rule, rule_configs rules=[ Rule.sagemaker(rule_configs.create_xgboost_report()) ] region = boto3.Session().region_name xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.2-1") estimator=Estimator( role=sagemaker.get_execution_role() image_uri=xgboost_container, base_job_name="debugger-xgboost-report-demo", instance_count=1, instance_type="ml.m5.2xlarge", # Add the Debugger XGBoost report rule rules=rules ) estimator.fit(wait=False)

Laden Sie den Debugger XGBoost-Trainingsbericht herunter

Laden Sie den Debugger-XGBoost-Trainingsbericht herunter, während Ihr Trainingsjob läuft oder nachdem der Job mit dem Amazon SageMaker Python SDK und AWS Command Line Interface (CLI) abgeschlossen wurde.

Download using the SageMaker Python SDK and AWS CLI
  1. Überprüfen Sie den standardmäßigen S3-Ausgabe-Basis-URI des aktuellen Auftrags.

    estimator.output_path
  2. Überprüfen Sie den aktuellen Auftragsnamen.

    estimator.latest_training_job.job_name
  3. Der Debugger-XGBoost-Bericht ist gespeichert unter <default-s3-output-base-uri>/<training-job-name>/rule-output. Konfigurieren Sie den Regelausgabepfad wie folgt:

    rule_output_path = estimator.output_path + "/" + estimator.latest_training_job.job_name + "/rule-output"
  4. Um zu überprüfen, ob der Bericht generiert wurde, listen Sie Verzeichnisse und Dateien rekursiv unter der Option rule_output_path indem Sie aws s3 ls mit der --recursive Option verwenden.

    ! aws s3 ls {rule_output_path} --recursive

    Dadurch sollte eine vollständige Liste der Dateien in automatisch generierten Ordnern mit dem Namen CreateXgboostReport und ProfilerReport-1234567890 zurückgegeben werden. Der XGBoost-Trainingsbericht wird im CreateXgboostReport gespeichert, und der Profilerstellungsbericht wird im ProfilerReport-1234567890 Ordner gespeichert. Weitere Informationen über den standardmäßig mit dem XGBoost-Trainingsauftrag generierten Profilerstellungsbericht finden Sie unter SageMaker Bericht zur Debugger-Profilerstellung.

    Ein Beispiel für die Ausgabe von Regeln.

    Das xgboost_report.html ist ein automatisch generierter XGBoost-Trainingsbericht von Debugger. Das xgboost_report.ipynb ist ein Jupyter Notebook, das verwendet wird, um Trainingsergebnisse im Bericht zusammenzufassen. Sie können alle Dateien herunterladen, die HTML-Berichtsdatei durchsuchen und den Bericht mithilfe des Notebooks ändern.

  5. Laden Sie die Dateien rekursiv herunter mit aws s3 cp. Mit dem folgenden Befehl werden alle Regelausgabedateien in dem ProfilerReport-1234567890 Ordner unter dem aktuellen Arbeitsverzeichnis gespeichert.

    ! aws s3 cp {rule_output_path} ./ --recursive
    Tipp

    Wenn Sie einen Jupyter-Notebook-Server verwenden, führen Sie !pwd aus, um das aktuelle Arbeitsverzeichnis zu überprüfen.

  6. Öffnen Sie /CreateXgboostReport unter dem xgboost_report.html Verzeichnis. Wenn Sie verwenden JupyterLab, wählen Sie Trust HTML, um den automatisch generierten Debugger-Schulungsbericht zu sehen.

    Ein Beispiel für die Ausgabe von Regeln.
  7. Öffnen Sie die xgboost_report.ipynb Datei, um zu erfahren, wie der Bericht generiert wird. Sie können den Trainingsbericht mithilfe der Jupyter-Notebook-Datei anpassen und erweitern.

Download using the Amazon S3 console
  1. Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/.

  2. Suchen Sie nach dem S3-Bucket. Wenn Sie beispielsweise keinen Basisauftragsnamen angegeben haben, sollte der Basis-S3-Bucket-Name das folgende Format haben: sagemaker-<region>-111122223333. Finden Sie den Basis-S3-Bucket über das Feld Bucket nach Name finden.

    Das Feld Bucket nach Namen finden in der Amazon-S3-Konsole.
  3. Suchen Sie im Basis-S3-Bucket nach dem Namen des Trainingsauftrags, indem Sie Ihr Auftragsnamen-Präfix in das Feld Objekte nach Präfix finden eingeben und dann den Namen des Trainingsauftrags auswählen.

    Das Feld Objekte nach Präfix finden in der Amazon-S3-Konsole.
  4. Wählen Sie im S3-Bucket des Trainingsauftrags den Unterordner rule-output/ aus. Es muss drei Unterordner für die vom Debugger gesammelten Trainingsdaten geben: debug-output/, profiler-output/ und rule-output/.

    Ein Beispiel für die Ausgabe des S3-Bucket-URI für die Ausgabe der Regel.
  5. Wählen Sie im Ordner rule-output/ den Ordner Report/ aus. CreateXgboost Der Ordner enthält xbgoost_report.html (den automatisch generierten Bericht in HTML) und xbgoost_report.ipynb (ein Jupyter Notebook mit Skripten, die zum Generieren des Berichts verwendet werden).

  6. Wählen Sie die Datei xbgoost_report.html aus, wählen Sie Herunterladen-Aktionen und dann Herunterladen aus.

    Ein Beispiel für die Ausgabe des S3-Bucket-URI für die Ausgabe der Regel.
  7. Öffnen Sie die heruntergeladene Datei xbgoost_report.html in einem Webbrowser.

Exemplarische Vorgehensweise zum Debugger XGBoost-Trainingsbericht

In diesem Abschnitt wird das XGBoost-Trainingsbericht zum Debugger beschrieben. Der Bericht wird je nach Ausgabetensor-Regex automatisch aggregiert, wobei erkannt wird, um welche Art von Trainingsauftrag es sich bei der binären Klassifikation, der Mehrklassen-Klassifizierung und der Regression handelt.

Wichtig

Der Bericht enthält Diagramme und Empfehlungen zu Informationszwecken und sind nicht endgültig. Es liegt in Ihrer Verantwortung, die Informationen eigenständig zu bewerten.

Verteilung der wahren Beschriftungen des Datensatzes

Dieses Histogramm zeigt die Verteilung der beschrifteten Klassen (zur Klassifizierung) oder Werte (für die Regression) in Ihrem ursprünglichen Datensatz. Schiefe Werte in Ihrem Datensatz können zu Ungenauigkeiten führen. Diese Visualisierung ist für die folgenden Modelltypen verfügbar: binäre Klassifikation, Multiklassifikation und Regression.

Ein Beispiel für eine Verteilung der wahren Bezeichnungen des Datensatzdiagramms.

Diagramm zwischen Verlust und Schritt

Dies ist ein Liniendiagramm, das den Verlauf des Verlusts von Trainingsdaten und Validierungsdaten während der Trainingsschritte zeigt. Der Verlust entspricht dem, was Sie in Ihrer Zielfunktion definiert haben, z. B. den quadratischen Mittelwert des Fehlers. Anhand dieses Diagramms können Sie abschätzen, ob das Modell über- oder unterangepasst ist. In diesem Abschnitt wird auch das Problem der Überanpassung und Unterausstattung beschrieben. Diese Visualisierung ist für die folgenden Modelltypen verfügbar: binäre Klassifikation, Multiklassifizierung und Regression.

Ein Beispiel für ein Diagramm zwischen Verlust und Stufe.

Wichtigkeit der Feature

Es stehen drei verschiedene Arten von Visualisierungen der Feature-Wichtigkeit zur Verfügung: Gewicht, Zuwachs und Reichweite. Wir stellen detaillierte Definitionen für jede der drei im Bericht bereit. Visualisierungen der Wichtigkeit von Features helfen Ihnen zu erfahren, welche Features in Ihrem Trainingsdatensatz zu den Vorhersagen beitragen. Visualisierungen der Wichtigkeit von Features sind für die folgenden Modelltypen verfügbar: Binäre Klassifikation, Multiklassifikation und Regression.

Ein Beispiel für ein Diagramm der Feature-Wichtigkeit.

Konfusionsmatrix

Diese Visualisierung ist nur für binäre und Mehrklassen-Klassifikationsmodelle anwendbar. Genauigkeit allein reicht möglicherweise nicht aus, um die Leistung des Modells zu bewerten. Für einige Anwendungsfälle, z. B. im Gesundheitswesen und bei der Betrugserkennung, ist es auch wichtig, die Falsch-Positiv-Rate und die Falsch-Negativ-Rate zu kennen. Eine Konfusionsmatrix bietet Ihnen zusätzliche Dimensionen für die Bewertung der Leistung Ihres Modells.

Ein Beispiel für eine Konfusionsmatrix.

Bewertung der Konfusionsmatrix

In diesem Abschnitt erhalten Sie weitere Einblicke in die Mikro-, Makro- und gewichteten Messwerte für Präzision, Erinnerungsvermögen und F1-Score für Ihr Modell.

Bewertung der Konfusionsmatrix.

Genauigkeitsrate jedes diagonalen Elements im Laufe der Iteration

Diese Visualisierung ist nur für binäre Klassifikations- und Mehrklassen-Klassifizierungsmodelle anwendbar. Dies ist ein Liniendiagramm, in dem die diagonalen Werte in der Konfusionsmatrix während der Trainingsschritte für jede Klasse dargestellt werden. Dieses Diagramm zeigt dir, wie sich die Genauigkeit der einzelnen Klassen im Laufe der Trainingsschritte entwickelt. Anhand dieses Diagramms können Sie die Klassen identifizieren, die schlechter abschneiden.

Ein Beispiel für die Genauigkeitsrate jedes diagonalen Elements im Vergleich zum Iterationsdiagramm.

Betriebskennlinie des Empfängers

Diese Visualisierung ist nur auf binäre Klassifikationsmodelle anwendbar. Die Betriebskennlinie des Empfängers wird häufig zur Bewertung der Leistung von binären Klassifikationsmodellen verwendet. Die Y-Achse der Kurve entspricht der True Positive Rate (TPF) und die X-Achse der False-Positiv-Rate (FPR). Im Diagramm wird auch der Wert für die Fläche unter der Kurve (AUC) angezeigt. Je höher der AUC-Wert, desto prädiktiver ist Ihr Klassifikator. Sie können die ROC-Kurve auch verwenden, um den Kompromiss zwischen TPR und FPR zu verstehen und den optimalen Klassifizierungsschwellenwert für Ihren Anwendungsfall zu ermitteln. Der Klassifizierungsschwellenwert kann angepasst werden, um das Verhalten des Modells so zu optimieren, dass mehr Fehler der einen oder anderen Art (FP/FN) reduziert werden.

Ein Beispiel für ein Diagramm der Betriebskennlinie des Empfängers.

Verteilung der Residuen im letzten gespeicherten Schritt

Bei dieser Visualisierung handelt es sich um ein Säulendiagramm, das die Restverteilungen im letzten Schritt zeigt, den der Debugger erfasst. In dieser Visualisierung können Sie überprüfen, ob die Residuenverteilung der Normalverteilung nahe kommt, deren Mittelpunkt bei Null liegt. Wenn die Residuen schief sind, reichen Ihre Features möglicherweise nicht aus, um die Beschriftungen vorherzusagen.

Ein Beispiel für eine Verteilung der Residuen im Diagramm mit dem zuletzt gespeicherten Schritt.

Absoluter Validierungsfehler pro Beschriftungs-Bin während der Iteration

Diese Visualisierung gilt nur für Regressionsmodelle. Die tatsächlichen Zielwerte sind in 10 Intervalle aufgeteilt. Diese Visualisierung zeigt in Liniendiagrammen, wie sich die Validierungsfehler für jedes Intervall während der Trainingsschritte entwickeln. Der absolute Validierungsfehler ist der absolute Wert der Differenz zwischen Prognose und Istwert während der Validierung. Anhand dieser Visualisierung können Sie erkennen, welche Intervalle schlechter abschneiden.

Ein Beispiel für einen absoluten Validierungsfehler pro Beschriftungs-Bin im Iterationsdiagramm.