使用保存的模型对象预测

时间:2013-12-03 08:55:26

标签: r predict

我正在尝试使用之前保存的模型在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文件中获取模型对象名称并将其用于预测?

谢谢。

拉​​维

3 个答案:

答案 0 :(得分:9)

正如@droopy告诉你的那样,如果保存并加载,模型的名称不会改变。您可以使用get来使用该模型:

predicted <- predict(get(bar),validationData,type = "response")

答案 1 :(得分:1)

如果您之前保存了模型,则可能会抛出此错误。 重新加载库(glmnet)并确保X&amp;中的变量数量。 Y是一样的。

答案 2 :(得分:0)

我之前遇到过同样的问题。

我使用插入符构建模型,并将模型另存为rds文件。(saveRDS)

当我读取我的文件并使用此模型进行预测时,我遇到了这个问题。

在我使用&#34; library(插入符号)&#34;后,我的问题就解决了。

所以我认为如果您保存模型并重新打开模型进行预测,则必须重新加载用于构建模型的包。