Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Balik urutan variabel sorted_index dari yang terbesar ke yang terkecil menggunakan pengindeksan Python.
  • Buat daftar label fitur terurut sebagai labels dengan mengonversi feature_names menjadi array numpy dan mengindeksnya dengan sorted_index.
  • Buat plot batang dari xticks, dan feature_importances yang diindeks dengan variabel sorted_index, serta labels sebagai 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()
Edit dan Jalankan Kode