LoslegenKostenlos loslegen

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_train und die Liste original_variables

Diese Übung ist Teil des Kurses

Hyperparameter-Tuning in Python

Kurs anzeigen

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, ____))
Code bearbeiten und ausführen