我有一个sklearn随机森林回归器。它非常沉重,有1.6 GB大小,在预测值时需要很长时间。
我希望能够修剪它以减小大小。据我所知,修剪对于决策树和森林来说并没有实现。因为树的代码是用C语言编写的,我不懂。
有人知道解决方案吗?
我有一个sklearn随机森林回归器。它非常沉重,有1.6 GB大小,在预测值时需要很长时间。
我希望能够修剪它以减小大小。据我所知,修剪对于决策树和森林来说并没有实现。因为树的代码是用C语言编写的,我不懂。
有人知道解决方案吗?
树的大小可能是您的一个解决方案。尝试限制森林中树的大小(最大叶节点数,最大深度,最小样本分裂...)。
如果你随机删除决策树,预期结果是随着删除决策树的数量,集成性能会逐渐恶化。然而,你可以更聪明地做一些事情,比如删除那些预测与整个集成的其余部分高度相关的树,从而不会显著改变整个集成的结果。
或者,你可以训练一个线性分类器,该分类器使用单独集成的输出作为输入,并在训练中包括某种l1惩罚来强制分类器上的稀疏权重。具有0或非常小值的权重将提示哪些树可以从集成中删除,而对准确性影响较小。