【问题标题】:Save model without fitted values in R在 R 中保存没有拟合值的模型
【发布时间】:2017-08-18 12:04:15
【问题描述】:

假设我有一个像这样的线性回归模型

a <- rnorm(100)
b <- rnorm(100)
fit <- lm(a ~ b)

拟合对象是一个列表,其中包含系数、数据和拟合值等等。但是,如果我想预测看不见的数据,我只需要模型本身,所以基本上是系数。在示例中,这真的无关紧要,但我实际上有(不必要地)数百 MB 大的模型。

如何只保留真正需要的东西来预测看不见的数据?

...仍然可以使用predict()

【问题讨论】:

    标签: r model prediction


    【解决方案1】:

    你是对的,这个列表的某些元素可以被 NULL 替换。这不应该影响预测,因此可以正确使用。您只需确保预测中不需要这些元素。

    例如,您可以这样做:

    fit$data <- NULL
    fit$y <- NULL
    fit$linear.predictors <- NULL
    fit$weights <- NULL
    fit$fitted.values <- NULL
    fit$model <- NULL
    fit$prior.weights <- NULL
    fit$residuals <- NULL
    fit$effects <- NULL
    

    此链接提供了更多详细信息。 http://blog.yhat.com/posts/reducing-your-r-memory-footprint-by-7000x.html

    【讨论】:

    • 暂时没试过,但似乎是合理的。不过,这只是笨拙的。我真的认为会有一些内置函数可以为所有可能的模型执行此操作。
    猜你喜欢
    • 1970-01-01
    • 2013-11-05
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    相关资源
    最近更新 更多