Меры переменной значимости в случайных лесах


40

Я играл со случайными лесами для регрессии, и мне трудно понять, что именно означают эти два показателя важности и как их следует интерпретировать.

importance()Функция дает два значения для каждой переменной: %IncMSEи IncNodePurity. Есть ли простые интерпретации для этих двух значений?

В IncNodePurityчастности, действительно ли это просто увеличение RSS после удаления этой переменной?


1
Вы смотрели ?importance? Там есть объяснение того, что означают обе меры ...
Ник Сабби,

2
@ Ник Сэбб, у меня есть, и я пытаюсь обернуть их вокруг них. Мне было интересно, есть ли хорошие интуитивные интерпретации для них.
DCL

Ответы:


42

Первый из них может быть «интерпретирован» следующим образом: если предиктор важен в вашей текущей модели, то присвоение других значений этому предиктору случайным образом, но «реалистично» (т. Е. Перестановка значений этого предиктора по вашему набору данных), должно оказать негативное влияние на прогнозирование, то есть: использование одной и той же модели для прогнозирования на основе данных, которые являются одинаковыми, за исключением одной переменной, должно давать худшие прогнозы.

Итак, вы берете прогнозирующую меру (MSE) с исходным набором данных, а затем с «перестановочным» набором данных и сравниваете их каким-то образом. Одним из способов, особенно потому, что мы ожидаем, что оригинальная MSE всегда будет меньше, можно принять разницу. Наконец, для того, чтобы сделать значения сравнимыми по переменным, они масштабируются.

Для второго: при каждом разделении вы можете рассчитать, насколько это разделение уменьшает загрязнение узла (для деревьев регрессии, действительно, разница между RSS до и после разделения). Это суммируется по всем расщеплениям для этой переменной, по всем деревьям.

Примечание: хорошее прочтение - « Элементы статистического обучения » Хасти, Тибширани и Фридмана ...


3
Приветствия, у меня фактически есть та книга, открытая теперь :)
dcl

Что означает RSS?
DavideChicco.it


10

Метрики важности случайных лесов, реализованные в пакете randomForest в R, имеют причуды в том, что коррелированные предикторы получают значения низкой важности.

http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/bioinformatics.btq134.full.pdf

У меня есть модифицированная реализация случайных лесов на CRAN, которая реализует их подход к оценке эмпирических значений p и ложных показателей обнаружения, здесь

http://cran.r-project.org/web/packages/pRF/index.html


1
это объясняет различные выходные данные переменной важности, если вы используете randomForest с пакетом Caret, как caret::train(method="rf", importance = TRUE, ...)??
Ловкий Боб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.