Extrahera en parameter från en slumpmässig skog
Nu ska du tillämpa det du gjort med den logistiska regressionsmodellen på en random forest-modell. En parameter i den här modellen är, för ett givet träd, hur det valde att dela upp data på varje nivå.
Den här analysen är inte lika informativ som koefficienterna i logistisk regression, eftersom du sannolikt aldrig kommer att gå igenom varje uppdelning i varje träd i en random forest-modell. Det är ändå ett värdefullt övning att titta under huven och se vad modellen faktiskt gör.
I den här övningen extraherar du ett enskilt träd från din random forest-modell, visualiserar det och hämtar programmatiskt en av uppdelningarna.
Du har tillgång till:
- Ett random forest-modellobjekt,
rf_clf - En bild av toppen av det valda beslutsträdet,
tree_viz_image - DataFramen
X_trainoch listanoriginal_variables
Den här övningen är en del av kursen
Hyperparameterjustering i Python
Övningsinstruktioner
- Extrahera det 7:e trädet (index 6) från random forest-modellen.
- Visualisera trädet (
tree_viz_image) för att se uppdelningsbesluten. - Extrahera särdrag och nivå för den översta uppdelningen.
- Skriv ut särdragen och nivån tillsammans.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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, ____))