有没有一种方法可以从caret lm对象生成置信区间?

7

我希望能够从使用caret包创建的模型中生成置信区间。当使用lm()创建模型时,可以使用predict(model, data, interval = "confidence")来实现。然而,当我尝试在使用caret的train()函数创建的模型上运行相同命令时,出现以下错误:

Error in extractPrediction(list(object), unkX = newdata, unkOnly = TRUE,  : 
  unused argument (interval = "confidence")

即使我在 train 函数中设置了 method = "lm",这也是正确的。有人知道如何从这样的对象中获取置信区间吗?最好使用 predict 以保持格式相同。
谢谢!

请阅读错误信息和帮助页面。它告诉您extractPrediction函数中没有名为“interval”的参数。由于重新采样过程的推断模型与通常使用的lm不同,因此您可能需要调整您的期望值。 - IRTFM
1个回答

6

我找到了如何做到这一点!事实上,caret对象确实在大量元数据下存储原始模型。您可以使用my_model_name$finalModel访问此模型。因此,要查找置信区间,您需要调用predict(my_model_name$finalModel, my_data, interval = "confidence")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接