首页 > 解决方案 > R ranger 包中的预测概率

问题描述

我正在尝试使用随机森林分类在 R 中构建模型。(通过 Ned Horning 编辑代码)我首先使用randomForestpackage 但后来 found ranger,它承诺更快的计算。

起初,我使用下面的代码在拟合模型后获得每个类的预测概率randomForest

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

这里的概率类型如下:

我们在模型中有 500 棵树,其中 250 棵表示观察结果为 1 类,因此概率为 250/500 = 50%

ranger,我意识到没有type = 'prob'选择。

我搜索并尝试了一些调整,但没有任何进展。我需要一个包含上面提到的概率的对象ranger

有人可以就这个问题提供一些建议吗?

标签: rrandom-forestr-ranger

解决方案


您需要训练“概率分类器”类型的ranger对象:

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

此对象在函数中使用时计算矩阵 (n_samples, n_classes) predict.ranger

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

推荐阅读