4

私はsklearnランダムフォレストリグレッサーを持っています。これは 1.6 GB と非常に重く、値を予測する際に非常に長時間動作します。

剪定して軽くしたい。私が知っているように、決定木とフォレストには剪定が実装されていません。ツリーコードはCで書かれていてわからないので自分では実装できません。

誰かが解決策を知っていますか?

4

2 に答える 2

3

ツリーのサイズが解決策になる可能性があります。フォレスト内のツリーのサイズを制限してみてください (最大リーフ ノード数、最大深度、最小サンプル分割...)。

于 2015-07-24T13:10:20.283 に答える
0

アンサンブル剪定を試すことができます。これは、ランダム フォレストを構成する多くの決定木をランダム フォレストから削除することになります。

木を無作為に削除すると、アンサンブルのパフォーマンスが削除された木の数に応じて徐々に低下することが予想されます。ただし、予測がアンサンブルの残りの予測と高度に相関しているツリーを削除するなど、より巧妙なことを行うことができます。これにより、アンサンブル全体の結果を大幅に変更できます。

または、個々のアンサンブルの出力を入力として使用する線形分類器をトレーニングし、トレーニングにある種の l1 ペナルティを含めて、分類器にスパース重みを適用することもできます。0 または非常に小さい値の重みは、精度へのわずかな影響でどの木をアンサンブルから削除できるかを示します。

于 2021-02-18T22:35:02.153 に答える