ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un dicționar de parametri cu "objective" setat la "reg:squarederror" și "max_depth" setat la 2.
  • Antrenează modelul folosind 10 runde de boosting și dicționarul de parametri creat. Salvează rezultatul în xg_reg.
  • Reprezintă grafic primul arbore folosind xgb.plot_tree(). Funcția primește două argumente: modelul (în acest caz, xg_reg) și num_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()
Editează și rulează codul