我有一个随机森林回归器。它非常重,1.6 GBytes,并且在预测值时需要很长时间。
我想修剪它,让它变得更轻。据我所知,剪枝不适用于决策树和森林。我不能自己实现它,因为树代码是用C写的,我不知道它。
有人知道解决方案吗?
发布于 2015-07-24 21:10:20
树的大小可以为您提供解决方案。尝试限制森林中树的大小(最大叶节点数、最大深度、最小样本拆分...)。
发布于 2021-02-19 06:35:02
您可以尝试使用集成修剪。归根结底,这就是从您的随机林中删除一些组成它的决策树。
如果随机移除树木,预期的结果是随着移除的树木数量的增加,集成的性能将逐渐恶化。然而,你可以做一些更聪明的事情,比如删除那些预测与集成其余部分的预测高度相关的树,从而显著修改整个集成的结果。
或者,您可以训练一个线性分类器,该分类器使用单个集成的输出作为输入,并在训练中包括某种l1惩罚,以对分类器施加稀疏权重。权值为0或非常小的权重将提示哪些树可以从集成中删除,而对准确性的影响很小。
https://stackoverflow.com/questions/31611075
复制相似问题