CommencezCommencez gratuitement

Extraire un paramètre d'un Random Forest

Vous allez maintenant adapter le travail réalisé plus tôt sur le modèle de régression logistique à un modèle Random Forest. Un paramètre de ce modèle est, pour un arbre donné, la façon dont il choisit de se diviser à chaque niveau.

Cette analyse n'est pas aussi utile que l'examen des coefficients d'une régression logistique, car vous n'irez probablement jamais explorer chaque division et chaque arbre d'un modèle Random Forest. Par contre, c'est un excellent exercice pour jeter un coup d'œil sous le capot et voir ce que fait réellement le modèle.

Dans cet exercice, nous allons extraire un seul arbre de notre modèle Random Forest, le visualiser et extraire par programme l'une de ses divisions.

Vous avez à votre disposition :

  • Un objet de modèle Random Forest, rf_clf
  • Une image du sommet de l'arbre de décision choisi, tree_viz_image
  • Le DataFrame X_train et la liste original_variables

Cette activité fait partie du cours

Ajustement des hyperparamètres en Python

Voir le cours

Instructions de l’exercice

  • Extrayez le 7e arbre (indice 6) du modèle Random Forest.
  • Visualisez cet arbre (tree_viz_image) pour voir les décisions de division.
  • Extrayez la variable explicative et le seuil de la division au sommet.
  • Affichez ensemble la variable et le seuil.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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, ____))
Modifier et exécuter le code