BaşlayınÜcretsiz başlayın

Rastgele orman özellik önemleri

Ağaç tabanlı yöntemlerin faydalı bir yönü, özellik önemlerini çıkarabilmektir. Bu, her bir özelliğin tahminlerimize ne kadar katkıda bulunduğunu nicel olarak ölçmenin bir yoludur. En iyi özelliklerimize odaklanmamıza, onları geliştirmemize ya da ayarlamamıza yardımcı olabilir ve ayrıca modelimizi kalabalıklaştıran işe yaramaz özelliklerden kurtulmamıza da yardım eder.

sklearn içindeki ağaç modellerinde, modeli eğittikten sonra erişilebilen bir .feature_importances_ özelliği vardır. Bu, özellik önem skorlarını saklar. Özellik önemlerinin güzel görünümlü bir çubuk grafiğini (önem büyüğünden küçüğüne sıralı) yapabilmek için np.argsort() kullanarak sıralanmış özellik önemlerinin indislerini almamız gerekir.

Bu egzersiz, kursun bir parçasıdır

Python ile Finans için Machine Learning

Kursa Göz Atın

Egzersiz talimatları

  • Rastgele orman modelimizin (rfr) feature_importances_ özelliğini kullanarak özellik önemlerini importances değişkenine çıkar.
  • Numpy'nin argsort fonksiyonunu kullanarak özellik önemlerinin büyükten küçüğe indislerini al ve sıralı indisleri sorted_index değişkenine kaydet.
  • X-tick etiketlerini labels değişkeninde, sorted_index listesini kullanarak özellik adları olacak şekilde ayarla. feature_names, sorted_index listesiyle indeksleyebilmemiz için bir numpy dizisine dönüştürülmelidir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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()
Kodu Düzenle ve Çalıştır