我正在尝试使用之前保存的模型在R中使用预测函数。使用以下代码创建并保存模型:
lrModel1 <- glm(response ~ .,data = modelData,family = binomial,model = TRUE)
save(lrModel1,file = "lrModel100.rda")
当我加载模型以供以后使用时,如下所示并尝试使用预测函数,如下所示:
bar <- load("lrModel100.rda")
predicted <- predict(bar,validationData,type = "response")
我收到以下错误:
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "character"
有没有办法从保存的RDA文件中获取模型对象名称并将其用于预测?
谢谢。
拉维
答案 0 :(得分:9)
正如@droopy告诉你的那样,如果保存并加载,模型的名称不会改变。您可以使用get
来使用该模型:
predicted <- predict(get(bar),validationData,type = "response")
答案 1 :(得分:1)
如果您之前保存了模型,则可能会抛出此错误。 重新加载库(glmnet)并确保X&amp;中的变量数量。 Y是一样的。
答案 2 :(得分:0)
我之前遇到过同样的问题。
我使用插入符构建模型,并将模型另存为rds文件。(saveRDS)
当我读取我的文件并使用此模型进行预测时,我遇到了这个问题。
在我使用&#34; library(插入符号)&#34;后,我的问题就解决了。
所以我认为如果您保存模型并重新打开模型进行预测,则必须重新加载用于构建模型的包。