#r #random-forest #r-ranger
#r #случайный лес #r-ranger
Вопрос:
Я пытаюсь построить модель в R с классификацией случайного леса. (Путем редактирования кода Недом Хорнингом) Сначала я использовал randomForest
пакет, но затем нашел ranger
, который обещает более быстрые вычисления.
Сначала я использовал приведенный ниже код, чтобы получить прогнозируемые вероятности для каждого класса после подгонки модели к randomForest
as:
predProbs <- as.data.frame(predict(randfor, imageBlock, type='prob'))
Тип вероятности здесь следующий:
У нас есть 500 деревьев в модели, и 250 из них говорят, что наблюдение относится к классу 1, следовательно, вероятность равна 250/500 = 50%
В ranger
, я понял, что type = 'prob'
выбора нет.
Я искал и пробовал некоторые настройки, но не смог добиться никакого прогресса. Мне нужен объект или около того, содержащий вероятности, как указано выше, с ranger
пакетом.
Может ли кто-нибудь дать несколько советов по этой проблеме?
Ответ №1:
Вам необходимо обучить объект типа «вероятностный классификатор» ranger
:
library("ranger")
iris.ranger = ranger(Species ~ ., data = iris, probability = TRUE)
Этот объект вычисляет матрицу (n_samples, n_classes) при использовании в predict.ranger
функции:
probabilities = predict(iris.ranger, data = iris)$predictions