如何在没有数据的情况下保存glm结果或仅使用系数进行预测?

Ind*_*tor 9 r prediction glm

当我使用以下R代码时,

model_glm=glm(V1~. , data=xx,family="binomial");
save(file="modelfile",model_glm);
Run Code Online (Sandbox Code Playgroud)

modelfile的大小将与数据一样多,在我的情况下将是1gig.如何删除model_glm结果中的数据部分,因此我只能保存一个小文件.

Ben*_*nes 9

设置model = FALSE在调用glm应防止model.frame被返回.此外,设置y = FALSE将阻止返回响应向量.x = FALSE是默认设置,可防止model.matrix返回.

这种组合应缩小glm对象的大小.

当然,你也可以用coef(model_glm)或用标准误差提取系数,

summary(model_glm)$coef
Run Code Online (Sandbox Code Playgroud)


小智 6

我遇到过这个问题,我将GLM作为生产中的R的一部分运行,GLM的大小大大减慢了我的速度.我发现我需要杀死的不仅仅是$data. 是我的帖子,下面有一个例子.

> object.size(sg)
96499472 bytes
> sg$residuals <- NULL
> sg$weights <- NULL
> sg$fitted.values <- NULL
> sg$prior.weights <- NULL
> sg$na.action<- NULL
> sg$linear.predictors <- NULL
> sg$fitted.values <- NULL
> sg$effects <-NULL
> sg$data <- NULL
> object.size(sg)
3483976 bytes
> sg$qr$qr <- NULL
> object.size(sg)
79736 bytes
Run Code Online (Sandbox Code Playgroud)