Důležitost příznaků v náhodném lese
Jednou z užitečných vlastností stromových metod je možnost extrahovat důležitost příznaků. Jde o kvantitativní způsob, jak změřit, jak moc každý příznak přispívá k našim předpovědím. Pomůže ti soustředit se na nejdůležitější příznaky, případně je vylepšit nebo doladit, a zároveň se zbavit těch zbytečných, které model zbytečně zatěžují.
Stromové modely v sklearn mají po natrénování přístupnou vlastnost .feature_importances_, která uchovává skóre důležitosti příznaků. Abychom mohli vytvořit přehledný sloupcový graf (seřazený od nejdůležitějšího po nejméně důležitý příznak), potřebujeme získat indexy seřazených hodnot pomocí np.argsort().
Toto cvičení je součástí kurzu
Machine Learning for Finance in Python
Pokyny k cvičení
- Pomocí vlastnosti
feature_importances_našeho modelu náhodného lesa (rfr) extrahuj důležitost příznaků do proměnnéimportances. - Pomocí
argsortz NumPy získej indexy příznaků seřazené od největší po nejmenší důležitost a ulož je do proměnnésorted_index. - Nastav popisky na ose x jako názvy příznaků v proměnné
labelss využitím seznamusorted_index.feature_namesje třeba nejdřív převést na pole NumPy, abychom ho mohli indexovat pomocísorted_index.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()