从随机森林中检索结果的概率
Retrieving probabilities of outcomes from a random forest
我在包含 7 个变量的大约 1000 个观察值的数据集上建立了一个随机森林模型(使用包 'party' 的 cforest)。响应是二元的(比如结果 A 和结果 B)并且 6 个预测变量都是分类的。我的问题是我想像在逻辑回归模型中那样获得 1000 个结果中每一个的概率。在后一种情况下,我们可以使用 predict(yourmodel, type="response") 来获得每个结果的概率,在这种情况下,当 p<0.5 时,结果 A 是有利的,而当 p>=0.5 时,结果 B 是有利的。
似乎在对随机森林对象应用预测时,我只能得到每次观察的预测结果(即 A 或 B)。是否有解决方法来检索预测响应的概率?
非常感谢您的帮助!
C.B.
来自文档:
type one of response, prob. or votes, indicating the type of output: predicted values,matrix of class probabilities, or matrix of vote counts. class is allowed, but automatically converted to "response", for backward compatibility.
所以试试这个:
probs <- predict(FIT, newdata, type="probs")
我使用 h2o randomforest 包来训练我的模型。
进行预测时,每个观察值都会返回一个概率值(对于模型的置信度)
https://cran.r-project.org/web/packages/h2o/h2o.pdf
一定要看看
现在我知道如何生成和提取 p 值,就像查看逻辑回归的预测响应一样:
1) 生成两种结果的预测概率
probs <- predict(FIT, newdata, type="prob") # thanks to thc
2) 检索每行第二个结果的概率,即逻辑回归中第二个级别的概率:
> predict.prob<-unlist(lapply(probs, '[[', 2))
我希望这会帮助其他对我们如何从列表中提取概率感兴趣的读者。
非常感谢 thc 和 tylers 的建议和帮助!
C.B.
我在包含 7 个变量的大约 1000 个观察值的数据集上建立了一个随机森林模型(使用包 'party' 的 cforest)。响应是二元的(比如结果 A 和结果 B)并且 6 个预测变量都是分类的。我的问题是我想像在逻辑回归模型中那样获得 1000 个结果中每一个的概率。在后一种情况下,我们可以使用 predict(yourmodel, type="response") 来获得每个结果的概率,在这种情况下,当 p<0.5 时,结果 A 是有利的,而当 p>=0.5 时,结果 B 是有利的。
似乎在对随机森林对象应用预测时,我只能得到每次观察的预测结果(即 A 或 B)。是否有解决方法来检索预测响应的概率?
非常感谢您的帮助!
C.B.
来自文档:
type one of response, prob. or votes, indicating the type of output: predicted values,matrix of class probabilities, or matrix of vote counts. class is allowed, but automatically converted to "response", for backward compatibility.
所以试试这个:
probs <- predict(FIT, newdata, type="probs")
我使用 h2o randomforest 包来训练我的模型。 进行预测时,每个观察值都会返回一个概率值(对于模型的置信度)
https://cran.r-project.org/web/packages/h2o/h2o.pdf
一定要看看
现在我知道如何生成和提取 p 值,就像查看逻辑回归的预测响应一样:
1) 生成两种结果的预测概率
probs <- predict(FIT, newdata, type="prob") # thanks to thc
2) 检索每行第二个结果的概率,即逻辑回归中第二个级别的概率:
> predict.prob<-unlist(lapply(probs, '[[', 2))
我希望这会帮助其他对我们如何从列表中提取概率感兴趣的读者。
非常感谢 thc 和 tylers 的建议和帮助!
C.B.