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
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 variableimportances. - Utilisez
argsortde NumPy pour obtenir les indices des importances, de la plus grande à la plus faible, et enregistrez les indices triés dans la variablesorted_index. - Définissez les étiquettes de l'axe des x dans la variable
labelsà partir des noms de caractéristiques, en utilisant la listesorted_index.feature_namesdoit être converti en tableau NumPy afin que nous puissions l'indexer avec la listesorted_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()