CommencerCommencez gratuitement

Importances des variables avec Random Forest

Un atout des méthodes à base d'arbres est la possibilité d'extraire l'importance des variables. C'est une manière quantitative de mesurer la contribution de chaque variable à nos prédictions. Cela peut vous aider à vous concentrer sur vos meilleures variables, à les améliorer ou les ajuster, et aussi à supprimer celles qui ne servent à rien et qui encombrent le modèle.

Les modèles d'arbres dans sklearn disposent d'une propriété .feature_importances_ accessible après l'entraînement du modèle. Elle stocke les scores d'importance des variables. Nous devons récupérer les indices des importances triées avec np.argsort() afin de produire un diagramme en barres clair des importances (triées de la plus forte à la plus faible).

Cet exercice fait partie du cours

<cours>Machine Learning pour la finance en Python</cours>
Voir le cours

Instructions de l’exercice

  • Utilisez la propriété feature_importances_ de notre modèle de random forest (rfr) pour extraire les importances des variables dans la variable importances.
  • Utilisez argsort de numpy pour obtenir les indices des importances de la plus grande à la plus faible, et enregistrez-les dans la variable sorted_index.
  • Définissez les étiquettes des graduations en x avec les noms de variables dans la variable labels, en utilisant la liste sorted_index. feature_names doit être converti en tableau numpy pour pouvoir être indexé avec la liste sorted_index.

Exercice interactif pratique

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

# Get feature importances from our random forest model
importances = rfr.____

# Get the index of importances from greatest importance to least
sorted_index = ____(importances)[::-1]
x = range(len(importances))

# Create tick labels 
labels = np.array(____)[____]
plt.bar(x, importances[sorted_index], tick_label=labels)

# Rotate tick labels to vertical
plt.xticks(rotation=90)
plt.show()
Modifier et exécuter le code