CommencerCommencez gratuitement

Importances des variables avec le gradient boosting

Comme pour les random forests, on peut extraire les importances des variables à partir des modèles de gradient boosting pour comprendre quelles caractéristiques prédisent le mieux. Il est parfois utile d'essayer différents modèles à arbres et de comparer leurs importances de variables. Cela permet d'atténuer d'éventuelles particularités propres à un modèle donné.

Les importances des variables sont stockées dans un tableau numpy via la propriété .feature_importances_ du modèle de gradient boosting. Nous devons obtenir les indices triés des importances avec np.argsort() afin de produire un graphique lisible. Nous voulons les caractéristiques de la plus grande à la plus petite importance, donc nous utiliserons l'indexation Python pour inverser l'ordre trié, par exemple feat_importances[::-1].

Cet exercice fait partie du cours

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

Instructions de l’exercice

  • Inversez la variable sorted_index pour aller du plus grand au plus petit à l'aide de l'indexation Python.
  • Créez la liste triée des libellés de caractéristiques labels en convertissant feature_names en tableau numpy puis en l'indexant avec sorted_index.
  • Créez un diagramme en barres des xticks, avec feature_importances indexé par la variable sorted_index, et labels comme étiquettes des xticks.

Exercice interactif pratique

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

# Extract feature importances from the fitted gradient boosting model
feature_importances = gbr.feature_importances_

# Get the indices of the largest to smallest feature importances
sorted_index = np.argsort(feature_importances)[::____]
x = range(features.shape[1])

# Create tick labels 
labels = np.array(feature_names)[____]

plt.bar(____, feature_importances[____], tick_label=____)

# Set the tick lables to be the feature names, according to the sorted feature_idx
plt.xticks(rotation=90)
plt.show()
Modifier et exécuter le code