Прогнозируемые вероятности в пакете R ranger

#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