Extrakce parametru náhodného lesa
Teď přeneseme postup, který jsme použili u logistické regrese, na model náhodného lesa. Jedním z parametrů tohoto modelu je způsob, jakým se daný strom rozhoduje, jak rozdělit data na každé úrovni.
Tato analýza není tak přímočará jako koeficienty logistické regrese – procházet každé rozdělení v každém stromě náhodného lesa by bylo prakticky nereálné. Přesto je to velmi užitečné cvičení, které ti umožní nahlédnout pod pokličku a zjistit, co model vlastně dělá.
V tomto cvičení extrahujeme jeden strom z modelu náhodného lesa, vizualizujeme ho a programově získáme informace o jednom z rozdělení.
Máš k dispozici:
- Objekt modelu náhodného lesa,
rf_clf - Obrázek vrchní části vybraného rozhodovacího stromu,
tree_viz_image - DataFrame
X_traina seznamoriginal_variables
Toto cvičení je součástí kurzu
Hyperparameter Tuning in Python
Pokyny k cvičení
- Extrahuj 7. strom (index 6) z modelu náhodného lesa.
- Vizualizuj tento strom (
tree_viz_image), abys viděl/a rozhodnutí o rozdělení. - Extrahuj příznak a úroveň vrchního rozdělení.
- Vypiš příznak a úroveň společně.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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, ____))