Предсказанные вероятности в пакете R ranger - PullRequest
1 голос
/ 12 апреля 2019

Я пытаюсь построить модель в R со случайной классификацией леса. (Отредактировав код Недом Хорнингом) я сначала использовал пакет randomForest , но затем нашел пакет ranger , который обещает более быстрые вычисления.

Сначала я использовал приведенный ниже код, чтобы получить прогнозируемые вероятности для каждого класса в конце модели как:

predProbs <- as.data.frame(predict(randfor, imageBlock, type='prob'))

Тип вероятности здесь следующий:

В нашей модели 500 деревьев, и 250 из них говорят, что наблюдение относится к классу 1, следовательно, вероятность составляет 250/500 = 50%

В Рейнджер я понял, что нет опции type = 'prob'.

Я искал и попробовал некоторые настройки, но не смог добиться прогресса. Мне нужен объект, содержащий вероятности, как указано выше, с пакетом ranger .

Может ли кто-нибудь дать совет по этому вопросу?

1 Ответ

3 голосов
/ 13 апреля 2019

Вам необходимо обучить «вероятностный классификатор» типа ranger объект:

library("ranger")
iris.ranger = ranger(Species ~ ., data = iris, probability = TRUE)

Этот объект вычисляет матрицу (n_samples, n_classes) при использовании в функции predict.ranger:

probabilities = predict(iris.ranger, data = iris)$predictions
...