Kom igångKom igång gratis

Särdragsvikt i random forest

En av fördelarna med trädbaserade metoder är möjligheten att extrahera särdragsvikter (feature importances). Det är ett kvantitativt sätt att mäta hur mycket varje särdrag bidrar till våra förutsägelser. Det hjälper oss att fokusera på de viktigaste särdragen – kanske finslipa eller förbättra dem – och att rensa bort onödiga särdrag som skräpar ned modellen.

Trädmodeller i sklearn har en .feature_importances_-egenskap som blir tillgänglig efter att modellen har tränats. Den lagrar särdragsvikterna. Vi behöver hämta indexen för de sorterade särdragsvikterna med np.argsort() för att skapa ett snyggt stapeldiagram över särdragsvikterna – sorterat från störst till minst.

Den här övningen är en del av kursen

Maskininlärning för finans i Python

Visa kurs

Övningsinstruktioner

  • Använd egenskapen feature_importances_ hos vår random forest-modell (rfr) för att extrahera särdragsvikterna till variabeln importances.
  • Använd numpys argsort för att hämta indexen för särdragsvikterna sorterade från störst till minst, och spara de sorterade indexen i variabeln sorted_index.
  • Sätt xtick-etiketterna till särdragsnamnen i variabeln labels med hjälp av listan sorted_index. feature_names måste konverteras till en numpy-array så att vi kan indexera den med listan sorted_index.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod