НачатьНачать бесплатно

Важность признаков в случайном лесу

Одно из полезных свойств древовидных методов — возможность извлекать важность признаков. Это количественный способ оценить, насколько каждый признак влияет на предсказания модели. Такой анализ помогает сосредоточиться на наиболее значимых признаках, улучшить или настроить их, а также избавиться от бесполезных признаков, которые лишь усложняют модель.

Древовидные модели в sklearn имеют свойство .feature_importances_, которое становится доступным после обучения модели и хранит оценки важности признаков. Чтобы построить аккуратный столбчатый график важности признаков (отсортированных от наибольшего к наименьшему), нам нужно получить индексы отсортированных значений с помощью np.argsort().

Это упражнение является частью курса

Машинное обучение для финансов на Python

Посмотреть курс

Инструкции к упражнению

  • Используйте свойство feature_importances_ нашей модели случайного леса (rfr), чтобы извлечь важность признаков в переменную importances.
  • Используйте функцию argsort из numpy, чтобы получить индексы важности признаков в порядке убывания, и сохраните отсортированные индексы в переменную sorted_index.
  • Задайте метки делений по оси X как названия признаков в переменной 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()
Редактировать и запускать код