ComeçarComece de graça

Visualizando árvores individuais do XGBoost

Agora que você usou o XGBoost para criar e avaliar modelos de regressão e também de classificação, é hora de aprender a explorar visualmente seus modelos. Aqui, você vai visualizar árvores individuais do modelo totalmente impulsionado (boosted) que o XGBoost cria usando todo o conjunto de dados de habitação.

O XGBoost tem a função plot_tree() que facilita esse tipo de visualização. Depois de treinar um modelo usando a API de aprendizado do XGBoost, você pode passá-lo para a função plot_tree() junto com o número de árvores que deseja plotar usando o argumento num_trees.

Este exercício faz parte do curso

Extreme Gradient Boosting com XGBoost

Ver curso

Instruções do exercício

  • Crie um dicionário de parâmetros com "objective" igual a "reg:squarederror" e "max_depth" igual a 2.
  • Treine o modelo usando 10 rodadas de boosting e o dicionário de parâmetros que você criou. Salve o resultado em xg_reg.
  • Plote a primeira árvore usando xgb.plot_tree(). Ela recebe dois argumentos: o modelo (neste caso, xg_reg) e num_trees, que é indexado a partir de 0. Então, para plotar a primeira árvore, informe num_trees=0.
  • Plote a quinta árvore.
  • Plote a última (décima) árvore na horizontal. Para isso, especifique o argumento adicional rankdir="LR".

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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()
Editar e executar o código