Важливості ознак у Random Forest
Одна з корисних переваг деревоподібних методів — можливість отримувати важливості ознак. Це кількісний спосіб виміряти, наскільки кожна ознака впливає на наші передбачення. Це допомагає зосередитися на найкращих ознаках, можливо, поліпшити або підлаштувати їх, а також позбутися зайвих ознак, які захаращують модель.
Деревні моделі в sklearn мають властивість .feature_importances_, доступну після навчання моделі. Вона зберігає оцінки важливості ознак. Потрібно отримати індекси відсортованих важливостей ознак за допомогою np.argsort(), щоб побудувати наочну стовпчикову діаграму важливостей ознак (від найбільшої до найменшої важливості).
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Використайте властивість
feature_importances_нашої моделі Random Forest (rfr), щоб отримати важливості ознак у зміннуimportances. - Використайте
argsortз NumPy, щоб отримати індекси важливостей ознак від найбільшої до найменшої, і збережіть відсортовані індекси у зміннійsorted_index. - Задайте мітки xtick як назви ознак у змінній
labels, використовуючи списокsorted_index.feature_namesпотрібно перетворити на масив NumPy, щоб можна було індексувати його спискомsorted_index.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()