Wyodrębnianie parametru modelu Random Forest
Teraz przeniesiesz pracę wykonaną wcześniej na modelu regresji logistycznej na model Random Forest. Jednym z parametrów tego modelu jest sposób, w jaki drzewo decyduje o podziałach na każdym poziomie.
Ta analiza nie jest tak przydatna jak współczynniki regresji logistycznej – raczej nie zbadasz każdego podziału w każdym drzewie modelu Random Forest. Jednak to bardzo użyteczne ćwiczenie, które pozwala zajrzeć pod maskę i zobaczyć, jak działa model.
W tym ćwiczeniu wyodrębnisz pojedyncze drzewo z modelu Random Forest, zwizualizujesz je i programowo wyodrębnisz jedno z rozgałęzień.
Masz dostęp do:
- Obiektu modelu Random Forest,
rf_clf - Obrazu przedstawiającego górną część wybranego drzewa decyzyjnego,
tree_viz_image - Ramki danych
X_traini listyoriginal_variables
To ćwiczenie jest częścią kursu
Strojenie hiperparametrów w Pythonie
Instrukcje do ćwiczenia
- Wyodrębnij 7. drzewo (indeks 6) z modelu Random Forest.
- Zwizualizuj to drzewo (
tree_viz_image), aby zobaczyć decyzje dotyczące podziałów. - Wyodrębnij cechę i poziom pierwszego rozgałęzienia.
- Wyświetl cechę i poziom razem.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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, ____))