r - 如何计算 R 中随机森林回归模型的置信度

标签 r regression random-forest confidence-interval uncertainty

我正在使用 randomForest R中的包,用于预测蛋白质之间的距离(RF中的回归模型)“用于同源建模”,我获得了相当好的结果。但是,我需要有一个置信水平来对我的预测值进行排序并过滤掉不良模型,所以我想知道是否有可能计算出这样的置信水平,或任何其他衡量预测确定性的方法?
非常感谢任何建议或建议

最佳答案

遵循此 paper 中突出显示的折刀方法要获得标准错误,您可以使用包 ranger 中的实现。 :

library(ranger)
library(mlbench)
data(BostonHousing)

mdl = ranger(medv ~ .,data=BostonHousing[1:400,],keep.inbag = TRUE)

pred = predict(mdl,BostonHousing[401:nrow(BostonHousing),],type="se")

 head(cbind(pred$predictions,pred$se ))
          [,1]     [,2]
[1,] 10.673356 1.107839
[2,] 11.390374 1.102217
[3,] 12.760511 1.126945
[4,] 10.458128 1.100246
[5,] 10.720076 1.084376
[6,]  9.914648 1.102000
置信区间可以估计为 1.96*se。还有一个新的包 ForestError 可以用于 randomForest 对象:
library(randomForest)
library(forestError)
mdl = randomForest(medv ~ .,data=BostonHousing[1:400,],keep.inbag=TRUE)

err = quantForestError(mdl,BostonHousing[1:400,],BostonHousing[401:nrow(BostonHousing),])

head(err$estimates)
       pred     mspe       bias lower_0.05 upper_0.05
1 10.649734 15.70943 -1.5336411   2.935949   12.59486
2 11.611078 15.16339 -1.4436056   3.897293   13.55621
3 12.603938 20.92701 -0.9590869   4.890153   22.32699
4 10.650549 12.42555 -1.4188440   3.941648   12.49029
5 10.414707 29.08155 -1.1438267   2.700922   31.42272
6  9.720305 19.63286 -1.3469671   2.006520   16.43220
你可以引用这个paper对于实际使用的方法,

关于r - 如何计算 R 中随机森林回归模型的置信度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17812754/

相关文章:

r - 按因子基数对数据框进行子集化?

r - 如果使用 dplyr 参数不为空,则使用函数参数有条件地添加管道

r - 根据列的值是否在列的顶部 X 中选择行

r - 如何获得预测类别而不是类别概率?

python - 在数据集上拟合决策树分类器时出现 ValueError

r - 使用 R,通过从事件中减去年龄(以年为单位到 2SD)来计算出生日期

python - 将逻辑回归和连续回归与 scikit-learn 相结合

python - 寻找逻辑回归的系数

r - 为我的逻辑回归模型生成逻辑曲线

r - 大数据竞争风险生存随机森林