Einen Parameter eines Random-Forest extrahieren
Du überträgst nun die zuvor geleistete Arbeit am Logistikregressionsmodell auf ein Random-Forest-Modell. Ein Parameter dieses Modells ist – für einen gegebenen Baum –, wie er sich auf jeder Ebene für einen Split entschieden hat.
Diese Analyse ist nicht so nützlich wie die Koeffizienten der Logistikregression, da du vermutlich niemals jeden Split und jeden Baum in einem Random-Forest-Modell untersuchen wirst. Sie ist jedoch eine sehr hilfreiche Übung, um einen Blick unter die Haube zu werfen und zu verstehen, was das Modell tut.
In dieser Übung extrahieren wir einen einzelnen Baum aus unserem Random-Forest-Modell, visualisieren ihn und extrahieren programmatisch einen der Splits.
Dir stehen zur Verfügung:
- Ein Random-Forest-Modellobjekt,
rf_clf - Ein Bild des oberen Teils des ausgewählten Entscheidungsbaums,
tree_viz_image - Das DataFrame
X_trainund die Listeoriginal_variables
Diese Übung ist Teil des Kurses
Hyperparameter-Tuning in Python
Anleitung zur Übung
- Extrahiere den 7. Baum (Index 6) aus dem Random-Forest-Modell.
- Visualisiere diesen Baum (
tree_viz_image), um die Split-Entscheidungen zu sehen. - Extrahiere das Feature und die Schwelle des obersten Splits.
- Gib Feature und Schwelle zusammen aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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, ____))