はい、違いがあります。 sklearnでは、デシジョンツリーをバッグに入れると、各デシジョンツリーですべての機能を使用することになります。ただし、ランダムフォレストでは、機能のサブセットを使用します。
アンサンブル手法に関する公式の sklearnドキュメントについては、もう少し明確になっている可能性があります。違いは次のとおりです。
- “サンプルを置換して抽出する場合、その方法はバギングと呼ばれます”
- ” ランダムフォレスト(RandomForestClassifierクラスとRandomForestRegressorクラスを参照)では、アンサンブル内の各ツリーは、トレーニングセットからの置換で抽出されたサンプル(つまり、ブートストラップサンプル)から構築されます。 “
それで、決定木を袋に入れても違いはないように見えますよね?また、ドキュメントには次のように記載されています。
“さらに、ツリーの構築中に各ノードを分割すると、すべての入力フィーチャまたはサイズのランダムなサブセットから最適な分割が見つかります max_features
。 “
つまり、これは、分割での特徴の数を制限することにより、ランダム性を導入するもう1つの方法です。実際には、max_features
を調整して適切に調整すると便利です。
コメント