Začněte nyníZačněte zdarma

Vizualizace jednotlivých stromů XGBoost

Teď, když jsi pomocí XGBoost sestavil/a a vyhodnotil/a jak regresní, tak klasifikační modely, je čas naučit se, jak modely vizuálně prozkoumávat. V tomto cvičení vizualizuješ jednotlivé stromy z plně naboostovaného modelu, který XGBoost vytvoří na základě celé datové sady o cenách nemovitostí.

XGBoost nabízí funkci plot_tree(), která tento typ vizualizace usnadňuje. Po natrénování modelu pomocí učicího API XGBoost ho můžeš předat funkci plot_tree() spolu s počtem stromů, které chceš vykreslit, prostřednictvím argumentu num_trees.

Toto cvičení je součástí kurzu

Extreme Gradient Boosting with XGBoost

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř slovník parametrů s hodnotou "objective" nastavenou na "reg:squarederror" a "max_depth" nastavenou na 2.
  • Natrénuj model s použitím 10 boostovacích kol a slovníku parametrů, který jsi právě vytvořil/a. Výsledek ulož do proměnné xg_reg.
  • Vykresli první strom pomocí xgb.plot_tree(). Funkce přijímá dva argumenty – model (v tomto případě xg_reg) a num_trees, přičemž indexování začíná od nuly. Pro vykreslení prvního stromu tedy zadej num_trees=0.
  • Vykresli pátý strom.
  • Vykresli poslední (desátý) strom otočený na bok. K tomu přidej klíčový argument rankdir="LR".

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód