View a markdown version of this page

Optimieren eines XGBoost-Modells - Amazon SageMaker KI

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.

Optimieren eines XGBoost-Modells

Die automatische Modelloptimierung, auch bekannt als Hyperparameteroptimierung, sucht die beste Version eines Modells, indem viele Aufträge ausgeführt werden, die einen Bereich von Hyperparametern in Ihrem Training und in den Validierungsdatensätzen testen. Sie wählen drei Arten von Hyperparametern:

  • eine objective Lernfunktion zur Optimierung beim Modelltraining

  • einen eval_metric, der während der Validierung zur Bewertung der Modellleistung verwendet werden kann

  • ein Satz von Hyperparametern und ein Wertebereich für jeden, der bei der automatischen Abstimmung des Modells verwendet werden kann

Sie wählen die Bewertungsmetrik aus einer Reihe von Bewertungsmetriken aus, die der Algorithmus berechnet. Die automatische Modelloptimierung durchsucht die ausgewählten Hyperparameter nach der Kombination von Werten, die das Modell ergeben, das die Bewertungsmetrik optimiert.

Anmerkung

Die automatische Modelloptimierung für XGBoost 0.90 ist nur über die Amazon SageMaker SDKs verfügbar, nicht über die AI-Konsole. SageMaker

Mehr Informationen über die Modelloptimierung finden Sie unter Automatische Modelloptimierung mit KI SageMaker.

Vom XGBoost-Algorithmus berechnete Bewertungsmetriken

Der XGBoost-Algorithmus berechnet die folgenden Metriken, die für die Modellvalidierung verwendet werden sollen. Beim Optimieren des Modells wählen Sie eine dieser Metriken aus, um das Modell zu evaluieren. Eine vollständige Liste gültiger eval_metric-Werte finden Sie unter XGBoost-Parameter für die Lernaufgabe

Metrikname Description Optimierungsrichtung
validation:accuracy

Klassifizierungsrate, berechnet als #(richtig)/#(alle Fälle).

Maximieren

validation:auc

Area Under a Curve (Fläche unter der Kurve).

Maximieren

validation:error

Binäre Klassifikationsfehlerrate, als Anzahl (falscher Fälle)/Anzahl (aller Fälle) berechnet.

Minimieren

validation:f1

Indikator für die Klassifizierungsgenauigkeit, berechnet als harmonisches Mittel von Präzision und Wiedererkennung.

Maximieren

validation:logloss

Negative log-likelihood.

Minimieren

validation:mae

Mittlerer absoluter Fehler.

Minimieren

validation:map

Mittlere durchschnittliche Präzision.

Maximieren

validation:merror

Mehrklassen-Klassifizierungsfehlerrate, als Anzahl (falscher Fälle)/Anzahl (aller Fälle) berechnet.

Minimieren

validation:mlogloss

Negative log-likelihood für Mehrklassen-Klassifizierung.

Minimieren

validation:mse

Mittlerer quadratischer Fehler.

Minimieren

validation:ndcg

Normalisierter reduzierter kumulativer Gewinn.

Maximieren

validation:rmse

Wurzel des mittleren quadratischen Prognosefehlers (Root Mean Square Error)

Minimieren

Optimierbare XGBoost-Hyperparameter

Optimieren Sie das XGBoost-Modell mit den folgenden Hyperparametern. Die Hyperparameter mit den größten Auswirkungen auf die Optimierung von XGBoost-Bewertungsmetriken sind: alpha, min_child_weight, subsample, eta und num_round.

Name des Parameters Parametertyp Empfohlene Bereiche
alpha

ContinuousParameterRanges

MinValue: 0,: 100 MaxValue

colsample_bylevel

ContinuousParameterRanges

MinValue: 0,1, MaxValue: 1

colsample_bynode

ContinuousParameterRanges

MinValue: 0,1, MaxValue: 1

colsample_bytree

ContinuousParameterRanges

MinValue: 0,5, MaxValue: 1

eta

ContinuousParameterRanges

MinValue: 0,1, MaxValue: 0,5

gamma

ContinuousParameterRanges

MinValue: 0, MaxValue: 5

lambda

ContinuousParameterRanges

MinValue: 0, MaxValue: 100

max_delta_step

IntegerParameterRanges

[0, 10]

max_depth

IntegerParameterRanges

[0, 10]

min_child_weight

ContinuousParameterRanges

MinValue: 0, MaxValue: 120

num_round

IntegerParameterRanges

[1, 4000]

subsample

ContinuousParameterRanges

MinValue: 0,5, MaxValue: 1