如何计算R
我在R中使用了如何计算R,r,regression,random-forest,confidence-interval,uncertainty,R,Regression,Random Forest,Confidence Interval,Uncertainty,我在R中使用了randomfreestpackage,用于预测蛋白质之间的距离(RF中的回归模型)“用于同源性建模”,我获得了相当好的结果。然而,我需要有一个置信水平来对我的预测值进行排序,并过滤掉坏的模型,因此我想知道是否有可能计算出这样的置信水平,或者有任何其他方法来衡量预测的确定性? 高度赞赏任何建议或建议按照本文中强调的折刀法获得标准错误,您可以使用软件包ranger中的实现: library(ranger) library(mlbench) data(BostonHousing) m
randomfreest
package,用于预测蛋白质之间的距离(RF中的回归模型)“用于同源性建模”,我获得了相当好的结果。然而,我需要有一个置信水平来对我的预测值进行排序,并过滤掉坏的模型,因此我想知道是否有可能计算出这样的置信水平,或者有任何其他方法来衡量预测的确定性?
高度赞赏任何建议或建议按照本文中强调的折刀法获得标准错误,您可以使用软件包
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
对于实际使用的方法,您可以参考这一点。一种简单的方法是将森林中每棵树的预测作为预测样本,从中可以计算平均值和标准误差,就像计算平均值的CI一样。