LoslegenKostenlos starten

Feature-Importanzen mit Gradient Boosting

Wie bei Random Forests können wir auch bei Gradient-Boosting-Modellen Feature-Importanzen extrahieren, um zu verstehen, welche Features die besten Prädiktoren sind. Oft lohnt es sich, verschiedene baumbasierte Modelle auszuprobieren und ihre Feature-Importanzen zu vergleichen. So lassen sich Besonderheiten einzelner Modelle besser ausmitteln.

Die Feature-Importanzen sind als numpy-Array in der Eigenschaft .feature_importances_ des Gradient-Boosting-Modells gespeichert. Um eine ansprechende Grafik zu erstellen, brauchen wir die sortierten Indizes der Feature-Importanzen über np.argsort(). Wir möchten die Features von groß nach klein anzeigen und verwenden dafür die Python-Indexierung, um die sortierten Importanzen umzukehren, z. B. feat_importances[::-1].

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Kehre die Variable sorted_index mithilfe der Python-Indexierung um, sodass sie von der größten zur kleinsten Reihenfolge verläuft.
  • Erstelle die sortierte Feature-Beschriftungsliste als labels, indem du feature_names in ein numpy-Array umwandelst und mit sorted_index indexierst.
  • Erstelle ein Balkendiagramm der xticks sowie von feature_importances, indexiert mit der Variable sorted_index, und verwende labels als xtick-Beschriftungen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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()
Code bearbeiten und ausführen