我使用R中的插入符号包创建了袋装树模型-Wall
,在R-Studio中查看时生成的模型大小为12 Mb。但是当我保存到磁盘以便以后使用method = "treebag"
时,磁盘上的大小增加到151 Mb!使用不同的压缩方案会使尺寸缩小一点,但所有尺寸仍大于内存。有人成功处理过这个问题吗?
答案 0 :(得分:3)
可能的原因是在object.size()的结果中没有考虑与对象关联的封闭环境,但在保存时会写入磁盘。使用pryr :: object_size()函数查看包含环境的对象大小。有关更多说明,请访问:http://adv-r.had.co.nz/memory.html#object-size
> object.size(m1)
16200200 bytes
> pryr::object_size(m1)
215 MB
> save(m1, file="m1.rda")
> file.info("m1.rda")$size
[1] 219475772
在另一个问题中也讨论过这个问题:object.size() reports smaller size than .Rdata file
答案 1 :(得分:2)
您在谈论train
对象吗?
bagging
函数未经过优化,森林中保存了大量冗余对象(例如每个terms
模型的每个rpart
对象)。
请参阅trim
的{{1}}选项。如果您只想对该对象进行预测,这将消除模型对象所带来的大量额外内容。在某些情况下,trainControl
对象可以包含数据的完整副本。
call
并未针对每个模型实施,而是适用于此模型。