Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

XGBoost Version 0.72

Fokusmodus
XGBoost Version 0.72 - 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.

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.

Wichtig

Die XGBoost Version 0.72 ist von Amazon AI veraltet. SageMaker Sie können diese alte Version von XGBoost (als integrierten Algorithmus) weiterhin verwenden, indem Sie deren Bild-URI abrufen, wie im folgenden Codebeispiel gezeigt. Denn die Bild-URI XGBoost, die mit endet, :1 ist für die alte Version.

SageMaker Python SDK v1
import boto3 from sagemaker.amazon.amazon_estimator import get_image_uri xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")
SageMaker Python SDK v2
import boto3 from sagemaker import image_uris xgb_image_uri = image_uris.retrieve("xgboost", boto3.Session().region_name, "1")
import boto3 from sagemaker.amazon.amazon_estimator import get_image_uri xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")

Wenn Sie neuere Versionen verwenden möchten, müssen Sie die Image-URI-Tags explizit angeben (siehe Unterstützte Versionen).

Diese vorherige Version des Amazon SageMaker XGBoost AI-Algorithmus basiert auf der Version 0.72. XGBoost(eXtreme Gradient Boosting) ist eine beliebte und effiziente Open-Source-Implementierung des Gradient Boosted Trees-Algorithmus. Gradient Boosting ist ein Algorithmus für überwachtes Lernen, der versucht, eine Zielvariable genau vorherzusagen, indem er die Schätzungen einer Reihe einfacherer, schwächerer Modelle kombiniert. XGBoost hat sich bei Wettbewerben im Bereich maschinelles Lernen bemerkenswert gut geschlagen, weil er eine Vielzahl von Datentypen, Beziehungen und Verteilungen robust verarbeitet und weil es eine große Anzahl von Hyperparametern gibt, die für bessere Anpassungen optimiert und abgestimmt werden können. Diese Flexibilität ist XGBoost eine solide Wahl für Probleme in den Bereichen Regression, Klassifikation (binär und mehrklassig) und Ranking.

Kunden sollten die Verwendung der neuen Version von XGBoost Algorithmus mit Amazon SageMaker AI in Betracht ziehen. Sie können es als integrierten SageMaker KI-Algorithmus oder als Framework verwenden, um Skripts in ihren lokalen Umgebungen auszuführen, wie sie es normalerweise beispielsweise mit einem Tensorflow-Deep-Learning-Framework tun würden. Die neue Implementierung hat einen kleineren Speicherbedarf, eine bessere Protokollierung, eine verbesserte Hyperparameter-Validierung und einen erweiterten Satz von Metriken. Die frühere Implementierung von steht Kunden XGBoost weiterhin zur Verfügung, wenn sie die Migration auf die neue Version verschieben müssen. Diese vorherige Implementierung bleibt jedoch an die Version 0.72 von gebunden. XGBoost

Eingabe-/Ausgabeschnittstelle für die Version 0.72 XGBoost

Gradient Boosting arbeitet mit tabellarischen Daten, wobei die Zeilen die Beobachtungen repräsentieren, eine Spalte die Zielvariable oder die Kennzeichnung darstellt und die verbleibenden Spalten die Funktionen.

Die SageMaker KI-Implementierung von XGBoost unterstützt die Formate CSV und libsvm für Training und Inferenz:

  • Für Training ContentType sind die gültigen Eingaben text/libsvm (Standard) oder text/csv.

  • Für Inference ContentType sind gültige Eingaben text/libsvm oder (Standard) text/csv.

Anmerkung

Bei der CSV-Training geht der Algorithmus davon aus, dass die Zielvariable in der ersten Spalte zu finden ist und CSV keinen Header-Datensatz aufweist. Bei der CSV-Inferenz geht der Algorithmus davon aus, dass die CSV-Eingabe keine Kennzeichnungsspalte hat.

Für libsvm-Trainings geht der Algorithmus davon aus, dass sich die Bezeichnung in der ersten Spalte befindet. Nachfolgende Spalten enthalten die nullbasierten Index-Wert-Paare für Funktionen. Folglich hat jede Zeile das Format: <label> <index0>:<value0> <index1>:<value1> ... Inferenzanforderungen für libsvm können Bezeichnungen im libsvm-Format haben, müssen es aber nicht.

Dies unterscheidet sich von anderen SageMaker KI-Algorithmen, die das Protobuf-Trainingseingabeformat verwenden, um eine größere Konsistenz mit Standarddatenformaten zu gewährleisten. XGBoost

Beim CSV-Eingabemodus für Trainings muss der für den Algorithmus verfügbare Gesamtspeicher (Instance-Zählung *verfügbarer Speicher im InstanceType) in der Lage sein, den Trainingsdatensatz aufzunehmen. Für den libsvm-Trainingseingabemodus ist dies nicht erforderlich, aber empfehlenswert.

SageMaker AI XGBoost verwendet das Python-Pickle-Modul für serialize/deserialize the model, which can be used for saving/loading das Modell.

Um ein mit SageMaker KI trainiertes Modell XGBoost in Open Source zu verwenden XGBoost
  • Verwenden Sie den folgenden Python-Code:

    import pickle as pkl import tarfile import xgboost t = tarfile.open('model.tar.gz', 'r:gz') t.extractall() model = pkl.load(open(model_file_path, 'rb')) # prediction with test data pred = model.predict(dtest)
Zur Differenzierung der Bedeutung von markierten Datenpunkten verwenden Sie die Instance-Gewichtungsunterstützung.
  • SageMaker KI XGBoost ermöglicht es Kunden, die Bedeutung von markierten Datenpunkten zu unterscheiden, indem sie jeder Instanz einen Gewichtungswert zuweisen. Für text/libsvm-Eingaben können Kunden Daten-Instances Gewichtungswerte zuweisen, indem Sie sie nach den Bezeichnungen anfügen. Beispiel, label:weight idx_0:val_0 idx_1:val_1.... Für text/csv-Eingaben müssen Kunden das csv_weights-Flag in den Parametern aktivieren und Gewichtungswerte in der Spalte nach den Bezeichnungen anfügen. Zum Beispiel: label,weight,val_0,val_1,...).

EC2 Instanzempfehlung für das Release 0.72 XGBoost

SageMaker KI trainiert XGBoost derzeit nur mit CPUs. Es handelt sich um einen speichergebundenen Algorithmus (im Gegensatz zu einem rechnergebundenen). Daher ist eine Allzweck-Datenverarbeitungs-Instance (z. B. M4) die bessere Wahl gegenüber einer rechneroptimierten Instance (z. B. C4). Des Weiteren empfehlen wir, dass Sie in ausgewählten Instances genügend Gesamtspeicher zur Verfügung haben, um das Trainingsdaten aufzunehmen. Es unterstützt zwar die Verwendung von Festplattenspeicher zur Verarbeitung von Daten, die nicht in den Hauptspeicher passen (die im libsvm-Eingabemodus verfügbare out-of-core Funktion), aber das Schreiben von Cache-Dateien auf die Festplatte verlangsamt die Verarbeitungszeit des Algorithmus.

XGBoost Beispiel-Notizbücher für Version 0.72

Ein Beispielnotizbuch, das zeigt, wie die neueste Version von SageMaker KI XGBoost als integrierten Algorithmus zum Trainieren und Hosten eines Regressionsmodells verwendet wird, finden Sie unter Regression mit dem Amazon SageMaker XGBoost AI-Algorithmus. Um die Version 0.72 von zu verwenden XGBoost, müssen Sie die Version im Beispielcode auf 0.72 ändern. Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, mit denen Sie das Beispiel in KI ausführen können, finden Sie unter. SageMaker Amazon SageMaker Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie den Tab SageMaker KI-Beispiele aus, um eine Liste aller KI-Beispiele zu sehen. SageMaker Das Thema Beispiel-Notebooks zur Modellierung mithilfe der XGBoost Algorithmen finden Sie im Abschnitt Einführung in Amazon-Algorithmen. Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.

XGBoost Version 0.72 Hyperparameter

Die folgende Tabelle enthält die Hyperparameter für den Algorithmus. XGBoost Dies sind Parameter, die von Benutzern festgelegt werden, um die Schätzung der Modellparameter aus Daten zu erleichtern. Die obligatorischen Hyperparameter, die festgelegt werden müssen, sind zuerst aufgelistet (in alphabetischer Reihenfolge). Die optionalen Hyperparameter, die festgelegt werden können, sind als Nächstes aufgeführt (ebenfalls in alphabetischer Reihenfolge). Der SageMaker XGBoost KI-Algorithmus ist eine Implementierung des Open-Source-Pakets XGBoost . Derzeit unterstützt SageMaker AI Version 0.72. Weitere Informationen zur Hyperparameter-Konfiguration für diese Version von XGBoost finden Sie unter XGBoost Parameter.

Name des Parameters Beschreibung
num_class

Die Anzahl der Klassen.

Erforderlich, wenn objective auf multi:softmax oder multi:softprob festgelegt ist.

Gültige Werte: Ganzzahl

num_round

Die Anzahl der Runden, die für die Ausführung des Trainings notwendig ist.

Erforderlich

Gültige Werte: Ganzzahl

alpha

L1-Regularisierungsbedingung für Gewichtungen. Eine Erhöhung dieses Werts macht Modelle konservativer.

Optional

Gültige Werte: Gleitkommazahl

Standardwert: 0

base_score

Die erste Prognosebewertung aller Instances, globale Verzerrung.

Optional

Gültige Werte: Gleitkommazahl

Standardwert: 0.5

booster

Welcher Booster empfiehlt sich? Die Werte gbtree und dart verwenden baumbasierte Modelle, während gblinear eine lineare Funktion verwendet.

Optional

Gültige Werte: Zeichenfolge. Entweder gbtree, gblinear oder dart.

Standardwert: gbtree

colsample_bylevel

Teilstichprobenverhältnis von Spalten für jede Teilung auf jeder Ebene.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0,1].

Standardwert: 1

colsample_bytree

Teilstichprobenverhältnis von Spalten beim Erstellen jedes Baums.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0,1].

Standardwert: 1

csv_weights

Wenn dieses Flag aktiviert ist, XGBoost unterscheidet es die Wichtigkeit von Instanzen für die CSV-Eingabe, indem die zweite Spalte (die Spalte nach den Labels) in den Trainingsdaten als Gewichtung der Instanz verwendet wird.

Optional

Gültige Werte: 0 oder 1

Standardwert: 0

early_stopping_rounds

Das Modell wird so lange trainiert, bis die Validierungsbewertung keine Verbesserung mehr zeigt. Validierungsfehler müssen sich mindestens bei jeder early_stopping_rounds verringern, damit das Training fortgesetzt wird. SageMaker KI-Hosting verwendet das beste Inferenzmodell.

Optional

Gültige Werte: Ganzzahl

Standardwert: -

eta

Reduzierung der Schrittgröße in Updates, um Überanpassung zu verhindern. Nach jedem Boosting-Schritt können Sie direkt die Gewichtungen der neuen Merkmale erhalten. Der Parameter eta verkleinert die Merkmalsgewichtungen, sodass der Boosting-Prozess konservativer wird.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0,1].

Standardwert: 0.3

eval_metric

Evaluationsmetriken für die Datenvalidierung. Eine Standardmetrik wird je nach Ziel zugewiesen:

  • rmse: zur Regression

  • error: zur Klassifizierung

  • map: für die Rangfolge

Eine Liste der gültigen Eingaben finden Sie unter XGBoost Parameter.

Optional

Gültige Werte: Zeichenfolge

Standardwert: Standard gemäß Ziel.

gamma

Es ist eine minimale Verlustreduzierung erforderlich, um eine weitere Partition auf einem Blattknoten des Baums zu erstellen. Je größer, desto konservativer ist der Algorithmus.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0,∞).

Standardwert: 0

grow_policy

Steuert die Art und Weise, wie neue Knoten zur Struktur hinzugefügt werden. Wird derzeit nur unterstützt, wenn tree_method auf hist festgelegt ist.

Optional

Gültige Werte: Zeichenfolge. Entweder depthwise oder lossguide.

Standardwert: depthwise

lambda

L2-Regularisierungsbedingung für Gewichtungen. Eine Erhöhung dieses Werts macht Modelle konservativer.

Optional

Gültige Werte: Gleitkommazahl

Standardwert: 1

lambda_bias

L2-Regularisierungsbedingung für Verzerrungen.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0.0, 1.0].

Standardwert: 0

max_bin

Maximale Anzahl diskreter Pakete zum Gruppieren kontinuierlicher Merkmale. Wird nur verwendet, wenn tree_method auf hist festgelegt ist.

Optional

Gültige Werte: Ganzzahl

Standardwert: 256

max_delta_step

Maximaler Delta-Schritt für die Gewichtungsschätzung für jeden Baum. Wenn eine positive Ganzzahl verwendet wird, trägt dies zu einer konservativeren Aktualisierung bei. Die bevorzugte Option ist die Verwendung in logistischer Regression. Setzen Sie sie auf 1-10, um die Aktualisierung zu kontrollieren.

Optional

Gültige Werte: Ganzzahl. Bereich: [0,∞).

Standardwert: 0

max_depth

Maximale Tiefe eines Baums. Durch Erhöhen dieses Wertes wird das Modell komplexer und wahrscheinlich überangepasst. 0 gibt an, dass keine Begrenzung vorliegt. Ein Begrenzung ist erforderlich, wenn grow_policy=depth-wise.

Optional

Gültige Werte: Ganzzahl. Bereich: [0,∞)

Standardwert: 6

max_leaves

Maximale Anzahl der hinzuzufügenden Knoten. Ist nur relevant, wenn grow_policy auf lossguide festgelegt ist.

Optional

Gültige Werte: Ganzzahl

Standardwert: 0

min_child_weight

Minimale Summe der Instance-Gewichtung (Hesse), die für eine untergeordnete Struktur erforderlich ist. Wenn der Partitionsschritt des Baums einen Blattknoten zum Ergebnis hat, dessen Instance-Gewicht-Summe kleiner als min_child_weight ist, verzichtet der Aufbauprozess auf eine weitere Partitionierung. In linearen Regressionsmodellen entspricht dies einer Mindestanzahl von erforderlichen Instances in den einzelnen Knoten. Je größer der Algorithmus, desto konservativer.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0,∞).

Standardwert: 1

normalize_type

Typ eines Normalisierungsalgorithmus.

Optional

Gültige Werte: Entweder tree oder forest.

Standardwert: tree

nthread

Anzahl der parallelen Threads zum Ausführen von xgboost.

Optional

Gültige Werte: Ganzzahl

Standardwert: Maximale Anzahl an Threads.

objective

Legt die Lernaufgabe und das entsprechende Lernziel fest. Beispiele: reg:logistic, reg:softmax, multi:squarederror. Eine vollständige Liste der gültigen Eingaben finden Sie unter XGBoost Parameter.

Optional

Gültige Werte: Zeichenfolge

Standardwert: reg:squarederror

one_drop

Wenn diese Kennzeichen aktiviert ist, fällt während eines Abbruchs mindestens ein Baum aus.

Optional

Gültige Werte: 0 oder 1

Standardwert: 0

process_type

Typ des auszuführenden Boosting-Prozesses.

Optional

Gültige Werte: Zeichenfolge. Entweder default oder update.

Standardwert: default

rate_drop

Die Ausfallrate, die einen Bruchteil eines vorherigen Baums angibt, der während eines Abbruchs ausfällt.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0.0, 1.0].

Standardwert: 0.0

refresh_leaf

Dies ist ein Parameter des Aktualisierungs-Plugins 'refresh'. Wenn Sie ihn auf true (1) festlegen, werden die Statistiken der Blätter und Knoten eines Baumes aktualisiert. Wenn Sie ihn auf false (0) festlegen, werden nur die Statistiken der Knoten aktualisiert.

Optional

Gültige Werte: 0/1

Standardwert: 1

sample_type

Typ eines Stichprobenalgorithmus.

Optional

Gültige Werte: Entweder uniform oder weighted.

Standardwert: uniform

scale_pos_weight

Kontrolliert die Balance zwischen positiven und negativen Gewichtungen. Er ist nützlich bei Klassen, die nicht im Gleichgewicht sind. Ein typischer Wert dafür: sum(negative cases) / sum(positive cases).

Optional

Gültige Werte: Gleitkommazahl

Standardwert: 1

seed

Numerischer Startwert.

Optional

Gültige Werte: Ganzzahl

Standardwert: 0

silent

0 bedeutet, laufende Nachrichten zu drucken, 1 bedeutet Lautlosmodus.

Gültige Werte: 0 oder 1

Optional

Standardwert: 0

sketch_eps

Wird nur für einen approximativen Greedy-Algorithmus verwendet. Damit ergibt sich eine Paketanzahl von O(1/ sketch_eps). Im Vergleich zur direkten Auswahl der Paketanzahl besteht hier eine theoretische Garantie im Hinblick auf grafikbezogene Genauigkeit.

Optional

Gültige Werte: Float, Bereich: [0, 1].

Standardwert: 0.03

skip_drop

Wahrscheinlichkeit, mit der das Ausfallverfahren während einer Boosting-Iteration übersprungen wird.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0.0, 1.0].

Standardwert: 0.0

subsample

Teilstichprobenverhältnis der Trainings-Instance. Ein Wert von 0,5 bedeutet, dass XGBoost zufällig die Hälfte der Dateninstanzen gesammelt wird, um Bäume wachsen zu lassen. Dies verhindert eine Überanpassung.

Optional

Gültige Werte: Gleitkommazahl. Bereich: [0,1].

Standardwert: 1

tree_method

Der Algorithmus zur Baumkonstruktion, der in verwendet wurde XGBoost.

Optional

Gültige Werte: Entweder auto, exact, approx oder hist.

Standardwert: auto

tweedie_variance_power

Parameter, der die Varianz der Tweedie-Verteilung steuert.

Optional

Gültige Werte: Gleitkommazahl. Bereich: (1, 2)

Standardwert: 1.5

updater

Eine durch Komma getrennte Zeichenfolge, welche die Reihenfolge festlegt, in der die Baum-Updater ausgeführt werden. Dies ist eine modulare Methode, um Bäume zu erstellen und zu ändern.

Eine vollständige Liste der gültigen Eingaben finden Sie unter XGBoost Parameter.

Optional

Gültige Werte: durch Komma getrennte Zeichenfolge.

Standardwert: grow_colmaker, prune

Optimieren Sie ein Modell der XGBoost Version 0.72

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.

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

Mit dem Release-0.72-Algorithmus berechnete Metriken XGBoost

Der auf Version 0.72 basierende XGBoost Algorithmus berechnet die folgenden neun 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 der gültigen eval_metric Werte finden Sie unter Parameter für XGBoost Lernaufgaben

Metrikname Beschreibung Optimierungsrichtung
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: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:ndcg

Normalisierter reduzierter kumulativer Gewinn.

Maximieren

validation:rmse

Wurzel des mittleren quadratischen Prognosefehlers (Root Mean Square Error)

Minimieren

Tunable XGBoost Release 0.72 Hyperparameter

Optimieren Sie das XGBoost Modell mit den folgenden Hyperparametern. Die Hyperparameter, die den größten Einfluss auf die Optimierung der XGBoost Bewertungsmetriken haben, sind:alpha,min_child_weight, subsampleeta, und. num_round

Name des Parameters Parametertyp Empfohlene Bereiche
alpha

ContinuousParameterRanges

MinValue: 0, MaxValue: 100

colsample_bylevel

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

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.