Random Forest bir parametreyi çıkarmak
Şimdi daha önce lojistik regresyon modeli üzerinde yaptığın çalışmayı bir random forest modeline uyarlayacaksın. Bu modelin bir parametresi, belirli bir ağaç için, her seviyede nasıl bölünmeye karar verdiğidir.
Bu analiz, bir random forest modelinde her bölünmeyi ve her ağacı tek tek incelemenin pek olası olmaması nedeniyle, lojistik regresyonun katsayıları kadar kullanışlı değildir. Yine de modelin kaputunun altına bakıp ne yaptığını görmek için çok faydalı bir egzersizdir.
Bu egzersizde random forest modelimizden tek bir ağacı çıkaracak, görselleştirecek ve programatik olarak bölünmelerden birini elde edeceğiz.
Elinde şunlar var:
- Bir random forest model nesnesi,
rf_clf - Seçilen karar ağacının tepe kısmının görüntüsü,
tree_viz_image X_trainDataFrame'i veoriginal_variableslistesi
Bu egzersiz
Python'da Hiperparametre Ayarlama
kursunun bir parçasıdırEgzersiz talimatları
- Random forest modelinden 7. ağacı (6. indeks) çıkar.
- Bölünme kararlarını görmek için bu ağacı görselleştir (
tree_viz_image). - Üstteki bölünmenin özelliğini ve seviyesini çıkar.
- Özellik ve seviyeyi birlikte yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Extract the 7th (index 6) tree from the random forest
chosen_tree = rf_clf.estimators_[____]
# Visualize the graph using the provided image
imgplot = plt.imshow(____)
plt.show()
# Extract the parameters and level of the top (index 0) node
split_column = chosen_tree.tree_.feature[____]
split_column_name = X_train.columns[split_column]
split_value = chosen_tree.tree_.threshold[____]
# Print out the feature and level
print("This node split on feature {}, at a value of {}".format(split_column_name, ____))