Knoten "XGBoost Tree" - Erstellungsoptionen

Auf der Registerkarte Erstellungsoptionen können Sie Erstellungsoptionen für den Knoten "XGBoost Tree" angeben, einschließlich Basisoptionen für die Modellerstellung und den Baumaufbau, Aufgabenoptionen für Lernziele und erweiterte Optionen zum Steuern der Überanpassung und zum Verarbeiten von unausgewogenen Datasets. Zusätzliche Informationen zu diesen Optionen finden Sie in den folgenden Onlineressourcen:

Grundlegend

Hyperparameteroptimierung (auf Basis von Rbfopt). Wählen Sie diese Option aus, um die Hyperparameteroptimierung auf der Basis von Rbfopt zu aktivieren. Diese erkennt automatisch die optimale Parameterkombination, sodass das Modell die erwartete oder eine niedrigere Fehlerrate für die Stichproben erzielt. Weitere Informationen zu Rbfopt finden Sie unter http://rbfopt.readthedocs.io/en/latest/rbfopt_settings.html.

Baummethode. Wählen Sie den zu verwendenden XGBoost-Baumerstellungsalgorithmus aus.

Anzahl Boostrunden. Geben Sie die Anzahl der Boosting-Iterationen an.

Maximale Tiefe. Geben Sie die maximale Baumtiefe an. Wenn Sie diesen Wert erhöhen, führt dies zu einem komplexeren Modell und wahrscheinlich zu einer Überanpassung.

Min. Gewichtung untergeordneter Elemente. Geben Sie die Mindestsumme für die Instanzgewichtung (Hesse) für ein untergeordnetes Element an. Wenn der Baumpartitionierungsschritt zu einem Blattknoten führt, dessen Instanzgewichtungssumme niedriger als Min. Gewichtung untergeordneter Elemente ist, stoppt der Erstellungsprozess die weitere Partitionierung. Im linearen Regressionsmodus entspricht dies einfach der minimal erforderlichen Anzahl von Instanzen in jedem Knoten. Je höher die Gewichtung, desto konservativer ist der Algorithmus.

Max. Delta-Schritt. Geben Sie den maximalen Deltaschritt an, der für die Gewichtungsschätzung jedes Baums zulässig ist. Wenn der Wert auf 0 gesetzt ist, gibt es keine Einschränkung. Wenn ein positiver Wert festgelegt wurde, fällt der Aktualisierungsschritt konservativer aus. Der Parameter ist gewöhnlich nicht erforderlich, aber er kann bei der logistischen Regression helfen, wenn eine Klasse besonders unausgewogen ist.

Aufgabe

Lernziel. Sie können die folgenden Lernzieltypen für Aufgaben auswählen: reg:linear, reg:logistic, reg:gamma, reg:tweedie, count:poisson, rank:pairwise, binary:logistic oder multi.

Early stopping. Wählen Sie diese Option aus, wenn Sie die Early-Stopping-Funktion verwenden wollen. Für die Stopping-Runden muss die Anzahl der Validierungsfehler nach jeweils einer festgelegten Anzahl Early-Stopping-Runden zurückgehen, damit das Training fortgesetzt werden kann. Der Gültigkeitsfehlerfaktor gibt den Faktor der für Validierungsfehler verwendeten Eingabedaten an.

Startwert für Zufallszahlen. Sie können auf Generieren klicken, um den Startwert zu generieren, der vom Zufallszahlengenerator verwendet wird.

Erweitert

Teilstichprobe. Die Teilstichprobe ist das Verhältnis der Trainingsinstanz. Beispiel: Wenn Sie den Wert auf 0,5 setzen, erfasst XGBoost zufällig die Hälfte der Dateninstanzen, um Bäume aufzubauen. Das verhindert eine Überanpassung.

Eta. Der Schwund der Schrittgröße während des Aktualisierungsschritts, um eine Überanpassung zu verhindern. Nach jedem Boosting-Schritt können die Gewichtungen von neuen Funktionen direkt abgerufen werden. Eta verkleinert auch die Funktionsgewichtungen, um den Boosting-Prozess konservativer zu machen.

Gamma. Die mindestens erforderliche Verlustverkleinerung, um eine weitere Partition für einen Blattknoten des Baums zu erstellen. Je höher die Gammaeinstellung, desto konservativer ist der Algorithmus.

Spaltenstichprobe nach Baum. Teilstichprobenverhältnis der Spalten beim Erstellen jedes Baums.

Spaltenstichprobe nach Ebene. Teilstichprobenverhältnis der Spalten für jede Aufteilung auf jeder Ebene.

Lambda. L2-Regularisierungsterm bei Gewichtungen. Wenn Sie diesen Wert erhöhen, führt dies zu einem konservativeren Modell.

Alpha. L1-Regularisierungsterm bei Gewichtungen. Wenn Sie diesen Wert erhöhen, führt dies zu einem konservativeren Modell.

Skalenpositionsgewichtung. Steuert den Ausgleich zwischen positiven und negativen Gewichtungen. Dies ist bei unausgewogenen Klassen hilfreich.

Die folgende Tabelle zeigt die Beziehung zwischen den Einstellungen im Dialogfeld des Knotens "XGBoost Tree" in SPSS Modeler und den Parametern der Python-Bibliothek "XGBoost".
Tabelle 1. Zuordnung von Knoteneigenschaften zu Python-Bibliotheksparametern
SPSS Modeler-Einstellung Scriptname (Eigenschaftsname) XGBoost-Parameter
Ziel TargetField
Prädiktoren InputFields
Baummethode treeMethod tree_method
Anzahl Boostrunden numBoostRound num_boost_round
Maximale Tiefe maxDepth max_depth
Min. Gewichtung untergeordneter Elemente minChildWeight min_child_weight
Max. Delta-Schritt maxDeltaStep max_delta_step
Lernziel objectiveType objective
Early Stopping earlyStopping early_stopping_rounds
Stopping-Runden stoppingRounds  
Gültigkeitsfehlerfaktor evaluationDataRatio  
Startwert für Zufallszahlen random_seed seed
Teilstichprobe sampleSize subsample
Eta eta eta
Gamma gamma gamma
Spaltenstichprobe nach Baum colsSampleRatio colsample_bytree
Spaltenstichprobe nach Ebene colsSampleLevel colsample_bylevel
Lambda lambda lambda
Alpha alpha alpha
Skalenpositionsgewichtung scalePosWeight scale_pos_weight

1 "XGBoost Parameters" Scalable and Flexible Gradient Boosting. Web. © 2015-2016 DMLC.

2 "Plotting API" Scalable and Flexible Gradient Boosting. Web. © 2015-2016 DMLC.

3 "Scalable and Flexible Gradient Boosting." Web. © 2015-2016 DMLC.