Pentingnya fitur pada random forest
Salah satu keunggulan metode berbasis pohon adalah kemampuan mengekstrak tingkat kepentingan fitur. Ini adalah cara kuantitatif untuk mengukur seberapa besar setiap fitur berkontribusi pada prediksi kita. Hal ini dapat membantu Anda memfokuskan perhatian pada fitur terbaik—mungkin dengan meningkatkan atau menyetelnya—dan juga membantu menyingkirkan fitur yang tidak berguna yang dapat mengacaukan model.
Model pohon di sklearn memiliki properti .feature_importances_ yang dapat diakses setelah model dilatih (fitted). Properti ini menyimpan skor kepentingan fitur. Kita perlu memperoleh indeks kepentingan fitur yang sudah diurutkan menggunakan np.argsort() agar dapat membuat diagram batang kepentingan fitur yang rapi (diurutkan dari yang paling penting hingga yang paling tidak penting).
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Keuangan dengan Python
Instruksi latihan
- Gunakan properti
feature_importances_dari model random forest kita (rfr) untuk mengekstrak kepentingan fitur ke variabelimportances. - Gunakan
argsortdari numpy untuk mendapatkan indeks kepentingan fitur dari yang terbesar ke yang terkecil, dan simpan indeks yang sudah diurutkan dalam variabelsorted_index. - Atur label xtick menjadi nama-nama fitur pada variabel
labels, menggunakan listsorted_index.feature_namesharus dikonversi menjadi numpy array agar dapat diindeks dengan listsorted_index.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Get feature importances from our random forest model
importances = rfr.____
# Get the index of importances from greatest importance to least
sorted_index = ____(importances)[::-1]
x = range(len(importances))
# Create tick labels
labels = np.array(____)[____]
plt.bar(x, importances[sorted_index], tick_label=labels)
# Rotate tick labels to vertical
plt.xticks(rotation=90)
plt.show()