IniziaInizia gratis

Visualizzare singoli alberi XGBoost

Ora che hai usato XGBoost per costruire e valutare modelli sia di regressione sia di classificazione, è il momento di imparare a esplorarli visivamente. Qui visualizzerai singoli alberi dal modello completamente potenziato che XGBoost crea utilizzando l'intero insieme di dati sulle case.

XGBoost dispone di una funzione plot_tree() che rende questo tipo di visualizzazione molto semplice. Dopo aver addestrato un modello usando la learning API di XGBoost, puoi passarlo a plot_tree() insieme al numero di alberi da tracciare tramite l'argomento num_trees.

Questo esercizio fa parte del corso

Extreme Gradient Boosting con XGBoost

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un dizionario dei parametri con "objective" impostato a "reg:squarederror" e "max_depth" impostato a 2.
  • Addestra il modello usando 10 round di boosting e il dizionario dei parametri che hai creato. Salva il risultato in xg_reg.
  • Traccia il primo albero usando xgb.plot_tree(). Accetta due argomenti: il modello (in questo caso, xg_reg) e num_trees, che è indicizzato a partire da 0. Quindi, per tracciare il primo albero, specifica num_trees=0.
  • Traccia il quinto albero.
  • Traccia l'ultimo (decimo) albero in orizzontale. Per farlo, specifica anche l'argomento rankdir="LR".

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice