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>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 variableimportances. - Utilisez
argsortde numpy pour obtenir les indices des importances de la plus grande à la plus faible, et enregistrez-les dans la variablesorted_index. - Définissez les étiquettes des graduations en x avec les noms de variables dans la variable
labels, en utilisant la listesorted_index.feature_namesdoit être converti en tableau numpy pour pouvoir être indexé 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()