Aan de slagGa gratis aan de slag

Een parameter uit een Random Forest extraheren

Je vertaalt nu het werk dat je eerder voor het logistieke regressiemodel hebt gedaan naar een random forest-model. Een parameter van dit model is, voor een gegeven boom, hoe er op elk niveau wordt gesplitst.

Deze analyse is minder nuttig dan de coëfficiënten van logistische regressie, omdat je waarschijnlijk nooit elke splitsing en elke boom in een random forest gaat verkennen. Toch is het een heel nuttige oefening om onder de motorkap te kijken wat het model doet.

In deze oefening extraheren we één boom uit ons random forest-model, visualiseren we die en halen we programmatiche informatie op over een van de splitsingen.

Je hebt beschikbaar:

  • Een random forest-modelobject, rf_clf
  • Een afbeelding van de top van de gekozen beslisboom, tree_viz_image
  • De X_train DataFrame & de lijst original_variables

Deze oefening maakt deel uit van de cursus

Hyperparameter Tuning in Python

Cursus bekijken

Oefeninstructies

  • Haal de 7e boom (index 6) uit het random forest-model.
  • Visualiseer deze boom (tree_viz_image) om de splitsingsbeslissingen te zien.
  • Haal de feature en de drempel van de bovenste splitsing op.
  • Print de feature en de drempel samen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren