我使用R中的caret包创建了基于袋装决策树模型method = "treebag"
,在R-Studio中查看结果模型大小为12 MB。但是,当我使用save()
保存到磁盘以供以后使用时,磁盘上的大小增加到了151 MB!使用不同的压缩方案可以稍微减小大小,但所有方案仍然比内存中的大得多。有人成功解决过这个问题吗?
> 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() 报告的大小比 .Rdata 文件小
train
对象吗?
bagging
函数没有进行优化,森林中保存了很多冗余的对象(例如每个rpart
模型的每个terms
对象)。trainControl
的trim
选项。 如果您只想对该对象进行预测,则这将摆脱模型对象带来的许多额外内容。 在某些情况下,call
对象可能包含数据的完整副本。trim
,但是对于此模型是实现了的。
trim
。但我不认为这是关键点。为什么保存到磁盘时会有如此大的增加?我不认为trainControl
参数应该影响这个。 - jtdoudreturnData = F
。 - jtdoud