Перейти к основному содержимому

Важность признаков в решающем дереве

Работу решающего дерева можно проинтерпретировать, если анализировать, какой вклад оказывает каждый из признаков на его прогнозы. На значимость признаков влияют:

  • как часто признак использовался в правилах во внутренних узлах дерева

  • какое число обучающих объектов прошло через узлы, использующие признак

  • насколько правилам в этих узлах удавалось снизить неопределённость прогнозов.

Пусть мы хотим рассчитать важность признака ff на прогнозы решающего дерева. Обозначим

  • T(f)T(f) - множество всех узлов дерева, использовавших признак ff в своих правилах ветвления;

  • N(t)N(t) - число объектов выборки , проходящих через узел tt;

  • Δϕ(t)\Delta\phi(t) - изменение функции неопределённости после применения правила ветвления в узле tt;

  • NN - общее число объектов в обучающей выборке.

Тогда важность признака для решающего дерева (feature importance) можно рассчитать по правилу:

Importance(f)=1NtT(f)N(t)Δϕ(t)\text{Importance}(f) = \frac{1}{N}\sum_{t\in T(f)}N(t)\Delta\phi(t)

Эта мера важности признака называется средним изменением неопределённости (mean decrease in impurity, MDI).

Сравнение с важностью в линейных моделях

Для измерения важности признаков также можно настроить линейную модель с нормированными признаками и анализировать полученные веса при признаках - чем они больше по модулю, тем признак важнее. Однако эта мера важности покажет только линейную важность признака.

Признак же может оказаться важным, но оказывать нелинейное влияние на отклик. Поскольку решающее дерево строит нелинейную зависимость между признаками и откликом, то расчёт важность признака внутри него является более адекватной мерой связи признака и отклика и может впоследствии использоваться для отбора признаков и для других моделей, таких как нейронные сети.