Začněte nyníZačněte zdarma

Důležitost příznaků v gradient boosting modelu

Stejně jako u random forests můžeme z gradient boosting modelů extrahovat důležitost příznaků a zjistit, které z nich jsou nejlepšími prediktory. Občas se vyplatí vyzkoušet různé modely založené na stromech a porovnat důležitost příznaků ve všech z nich – tím lze vyrovnat případné zvláštnosti, které by mohly vzniknout u jednoho konkrétního modelu.

Důležitost příznaků je uložena jako pole numpy ve vlastnosti .feature_importances_ gradient boosting modelu. Pro vytvoření přehledného grafu budeme potřebovat seřazené indexy důležitosti příznaků pomocí np.argsort(). Protože chceme příznaky seřazené od největšího po nejmenší, použijeme indexování Pythonu k obrácení seřazených hodnot: feat_importances[::-1].

Toto cvičení je součástí kurzu

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

  • Obrať proměnnou sorted_index tak, aby byla seřazena od největší hodnoty po nejmenší – použij indexování Pythonu.
  • Vytvoř seřazený seznam popisků příznaků jako labels: převeď feature_names na numpy pole a indexuj ho pomocí sorted_index.
  • Vytvoř sloupcový graf s hodnotami na ose x, hodnotami feature_importances indexovanými proměnnou sorted_index a popisky labels jako popisy na ose x.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód