randomForest :: priority (): type = 2 работает, но не type = 1 - PullRequest
0 голосов
/ 18 февраля 2020

Я использую пакет randomForest. Чтобы получить значения переменных, я использую функцию priority (). Я хочу изменить тип показателя важности. Это определяется аргументом "type", который имеет 2 возможных значения: type = 1 или type = 2. Вот пример:

library(randomForest)

Y = runif(100, 0.0, 1.0)
X1 = runif(100, 0.0, 1.0)
X2 = runif(100, 0.0, 1.0)

rf.model = randomForest::randomForest(Y~X1+X2)

# type 2 : mean decrease in node impurity
imp2 = randomForest::importance(x=rf.model,type=2)

# type 1 : mean decrease in accuracy
imp1 = randomForest::importance(x=rf.model,type=1)

вывод imp2:

      IncNodePurity
X1      3.130248
X2      3.023091

вывод imp1:

X1
X2

Как видите, type = 2 (среднее уменьшение в узел примеси) работает, но не тип = 1 (среднее снижение точности). Вы знаете, как решить эту проблему?

1 Ответ

1 голос
/ 18 февраля 2020

Сначала необходимо включить его в вашей модели

rf.model = randomForest::randomForest(Y~X1+X2,importance=T)

, затем он будет работать.

...