Vizualizarea arborilor individuali XGBoost
Acum că ai folosit XGBoost atât pentru a construi și evalua modele de regresie, cât și de clasificare, e momentul să explorezi modelele și vizual. În acest exercițiu, vei reprezenta grafic arbori individuali din modelul complet boostat pe care XGBoost îl creează folosind întregul set de date despre locuințe.
XGBoost oferă funcția plot_tree(), care simplifică acest tip de vizualizare. După ce antrenezi un model folosind API-ul de învățare XGBoost, îl poți transmite funcției plot_tree() împreună cu numărul de arbori pe care vrei să îi reprezinți, prin argumentul num_trees.
Acest exercițiu face parte din cursul
Gradient Boosting Extrem cu XGBoost
Instrucțiuni pentru exercițiu
- Creează un dicționar de parametri cu
"objective"setat la"reg:squarederror"și"max_depth"setat la2. - Antrenează modelul folosind
10runde de boosting și dicționarul de parametri creat. Salvează rezultatul înxg_reg. - Reprezintă grafic primul arbore folosind
xgb.plot_tree(). Funcția primește două argumente: modelul (în acest caz,xg_reg) șinum_trees, care folosește indexare de la 0. Deci, pentru a reprezenta primul arbore, specificănum_trees=0. - Reprezintă grafic al cincilea arbore.
- Reprezintă grafic ultimul arbore (al zecelea) orientat orizontal. Pentru aceasta, adaugă argumentul keyword suplimentar
rankdir="LR".
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()