3

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

谢谢你。

拉维

4

3 回答 3

11

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

predicted <- predict(get(bar),validationData,type = "response")
于 2013-12-03T09:27:31.337 回答
1

如果您之前保存了模型,则可能会引发此错误。重新加载库(glmnet)并确保 X 和 Y 中的变量数量相同。

于 2014-07-07T09:38:23.077 回答
1

我以前也有同样的问题。

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

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

在我使用“library(caret)”之后,我的问题就解决了。

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

于 2016-09-21T06:05:28.883 回答