Visualizzare l'importanza delle feature: quali sono le più rilevanti nel mio insieme di dati
Un altro modo per visualizzare i tuoi modelli XGBoost è esaminare l'importanza di ciascuna colonna di feature dell'insieme di dati originale all'interno del modello.
Un modo semplice per farlo consiste nel contare quante volte ciascuna feature viene usata per effettuare uno split in tutti i round di boosting (alberi) del modello e poi visualizzare il risultato come un grafico a barre, ordinando le feature in base al numero di volte in cui compaiono. XGBoost ha una funzione plot_importance() che ti permette di fare esattamente questo, e in questo esercizio potrai usarla!
Questo esercizio fa parte del corso
Extreme Gradient Boosting con XGBoost
Istruzioni dell'esercizio
- Crea il tuo
DMatrixa partire daXeycome prima. - Crea un dizionario di parametri con l'
"objective"appropriato ("reg:squarederror") e un"max_depth"pari a4. - Addestra il modello con
10round di boosting, esattamente come nell'esercizio precedente. - Usa
xgb.plot_importance()passando il modello addestrato per generare il grafico dell'importanza delle feature.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create the DMatrix: housing_dmatrix
housing_dmatrix = ____
# Create the parameter dictionary: params
params = ____
# Train the model: xg_reg
xg_reg = ____
# Plot the feature importances
____
plt.show()