ПочатиПочніть безкоштовно

Важливості ознак у 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()
Редагувати та запускати код