Feature importances pada gradient boosting
Seperti pada random forests, kita dapat mengekstrak feature importances dari model gradient boosting untuk memahami fitur mana yang merupakan prediktor terbaik. Kadang baik untuk mencoba berbagai model berbasis pohon dan melihat feature importances dari semuanya. Ini dapat membantu merata-ratakan keanehan yang mungkin muncul dari satu model tertentu.
Feature importances disimpan sebagai array numpy dalam properti .feature_importances_ pada model gradient boosting. Kita perlu memperoleh indeks terurut dari feature importances menggunakan np.argsort() agar dapat membuat plot yang baik. Kita menginginkan fitur dari yang terbesar ke yang terkecil, sehingga kita akan menggunakan pengindeksan Python untuk membalik urutan importances yang sudah diurutkan seperti feat_importances[::-1].
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Keuangan dengan Python
Instruksi latihan
- Balik urutan variabel
sorted_indexdari yang terbesar ke yang terkecil menggunakan pengindeksan Python. - Buat daftar label fitur terurut sebagai
labelsdengan mengonversifeature_namesmenjadi array numpy dan mengindeksnya dengansorted_index. - Buat plot batang dari xticks, dan
feature_importancesyang diindeks dengan variabelsorted_index, sertalabelssebagai label xtick.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Extract feature importances from the fitted gradient boosting model
feature_importances = gbr.feature_importances_
# Get the indices of the largest to smallest feature importances
sorted_index = np.argsort(feature_importances)[::____]
x = range(features.shape[1])
# Create tick labels
labels = np.array(feature_names)[____]
plt.bar(____, feature_importances[____], tick_label=____)
# Set the tick lables to be the feature names, according to the sorted feature_idx
plt.xticks(rotation=90)
plt.show()