LoslegenKostenlos loslegen

Einzelne XGBoost-Bäume visualisieren

Jetzt, da du XGBoost sowohl zum Erstellen als auch zum Bewerten von Regressions- und Klassifikationsmodellen verwendet hast, solltest du lernen, deine Modelle visuell zu erkunden. Hier visualisierst du einzelne Bäume aus dem vollständig geboosteten Modell, das XGBoost mit dem gesamten Housing-Datensatz erstellt.

XGBoost hat eine Funktion plot_tree(), mit der diese Art der Visualisierung einfach wird. Sobald du ein Modell mit der XGBoost-Lern-API trainiert hast, kannst du es an die Funktion plot_tree() übergeben, zusammen mit der Anzahl der Bäume, die du mit dem Argument num_trees plotten möchtest.

Diese Übung ist Teil des Kurses

Extreme Gradient Boosting mit XGBoost

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Parameter-Wörterbuch mit einem "objective" von "reg:squarederror" und einer "max_depth" von 2.
  • Trainiere das Modell mit 10 Boosting-Runden und dem von dir erstellten Parameter-Wörterbuch. Speichere das Ergebnis in xg_reg.
  • Plotte den ersten Baum mit xgb.plot_tree(). Die Funktion nimmt zwei Argumente entgegen – das Modell (hier xg_reg) und num_trees, das 0-basiert ist. Um den ersten Baum zu plotten, gib num_trees=0 an.
  • Plotte den fünften Baum.
  • Plotte den letzten (zehnten) Baum horizontal. Gib dafür das zusätzliche Schlüsselwortargument rankdir="LR" an.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create the DMatrix: housing_dmatrix
housing_dmatrix = xgb.DMatrix(data=X, label=y)

# Create the parameter dictionary: params
params = {"objective":"reg:squarederror", "max_depth":2}

# Train the model: xg_reg
xg_reg = xgb.train(params=params, dtrain=housing_dmatrix, num_boost_round=10)

# Plot the first tree
____
plt.show()

# Plot the fifth tree
____
plt.show()

# Plot the last tree sideways
____
plt.show()
Code bearbeiten und ausführen