R:如何从 gbm 获得预测区间?
Posted
技术标签:
【中文标题】R:如何从 gbm 获得预测区间?【英文标题】:R: how to get prediction interval from gbm? 【发布时间】:2019-04-28 21:08:51 【问题描述】:我正在使用 R 中的 gbm
包运行增强回归树,但无法弄清楚如何获得预测区间。我有 10 个特征,我想改变一个特征 X1
的值(它有 4 个离散值:A, B, C, D
),看看预测值 Y
(因变量)在4 个离散值(同时保持其他 9
特征不变)。例如,A
在 5%
级别上与比 B
更高的预测值相关联,同时保持所有其他特征不变
有没有人可以分享任何代码来计算 R 中的预测区间?
【问题讨论】:
【参考方案1】:您可以通过使用插入符号包函数“train()”来做到这一点。但首先需要有一个训练数据集,所以我们可以通过使用“createDataPartition()”函数来做到这一点,然后创建训练和测试数据集,然后使用训练数据集训练模型并预测测试数据集,然后验证“confusionmatrix()”函数
data<-data #contains the data of 10 variables
intrain<- createDataPartition(y = data$X1, p = 0.8, list = F)
training<- data[intrain,]
testing<- data[-intrain,]
relation<- train(form = X1~., data = training, method = "gbm")
result<- predict(relation, testing)
confusionMatrix(testing$X1, result)
希望这能解决您的问题
【讨论】:
我查看了 train() 的文档,没有看到预测区间的选项(例如,95% 的预测区间)。您能否更具体地了解如何使用此函数来获取预测区间? 它将为您提供 80% 至 95% 置信区间内的预测值以上是关于R:如何从 gbm 获得预测区间?的主要内容,如果未能解决你的问题,请参考以下文章
如果我从 randomforest、gbm、svm、nnet 生成预测以获得更准确的预测,如何组合结果(预测)?