当我使用以下R代码时,
model_glm=glm(V1~. , data=xx,family="binomial");
save(file="modelfile",model_glm);
Run Code Online (Sandbox Code Playgroud)
modelfile的大小将与数据一样多,在我的情况下将是1gig.如何删除model_glm结果中的数据部分,因此我只能保存一个小文件.
设置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)
| 归档时间: |
|
| 查看次数: |
5244 次 |
| 最近记录: |