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
Övningsinstruktioner
- Använd egenskapen
feature_importances_hos vår random forest-modell (rfr) för att extrahera särdragsvikterna till variabelnimportances. - Använd numpys
argsortför att hämta indexen för särdragsvikterna sorterade från störst till minst, och spara de sorterade indexen i variabelnsorted_index. - Sätt xtick-etiketterna till särdragsnamnen i variabeln
labelsmed hjälp av listansorted_index.feature_namesmåste konverteras till en numpy-array så att vi kan indexera den med listansorted_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()