CommencezCommencez gratuitement

Importance des caractéristiques avec la forêt aléatoire

Un avantage des méthodes à base d'arbres est la possibilité d'extraire l'importance des caractéristiques. C'est une façon quantitative de mesurer la contribution de chaque caractéristique à nos prédictions. Cela peut nous aider à nous concentrer sur nos meilleures caractéristiques, à les améliorer ou à les ajuster, et aussi à éliminer celles qui sont inutiles et qui encombrent peut-être notre modèle.

Les modèles d'arbres dans sklearn possèdent une propriété .feature_importances_ accessible après l'ajustement du modèle. Elle contient les scores d'importance des caractéristiques. Nous devons obtenir les indices des importances triées avec np.argsort() afin de produire un diagramme à barres clair des importances (triées de la plus grande à la plus faible).

Cette activité fait partie du cours

Machine Learning pour la finance en Python

Voir le cours

Instructions de l’exercice

  • Utilisez la propriété feature_importances_ de notre modèle de forêt aléatoire (rfr) pour extraire les importances des caractéristiques dans la variable importances.
  • Utilisez argsort de NumPy pour obtenir les indices des importances, de la plus grande à la plus faible, et enregistrez les indices triés dans la variable sorted_index.
  • Définissez les étiquettes de l'axe des x dans la variable labels à partir des noms de caractéristiques, en utilisant la liste sorted_index. feature_names doit être converti en tableau NumPy afin que nous puissions l'indexer 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