web-dev-qa-db-ja.com

scikit LearnのRandomForestClassifierとExtraTreesClassifier

Scikit learnでRandomForestClassifierとExtraTreesClassifierの違いを誰でも説明できますか。私は論文を読むのにかなりの時間を費やしました:

P. Geurts、D。Ernst。、およびL. Wehenkel、「極端にランダム化されたツリー」、機械学習、63(1)、3-42、2006

これらはETの違いのようです:

1)分割で変数を選択するとき、トレーニングセットのbootstrapサンプルではなく、トレーニングセット全体からサンプルが取得されます。

2)分割は、各分割でのサンプルの値の範囲から完全にランダムに選択されます。

これら2つのことの結果は、より多くの「葉」です。

83
denson

はい、両方の結論は正しいですが、scikit-learnでのランダムフォレストの実装により、bootstrapリサンプリングを有効または無効にできます。

実際には、RFは多くの場合、ETよりもコンパクトです。 ETは一般的に、計算の観点から訓練する方が安価ですが、はるかに大きくなる可能性があります。 ETはRFよりも一般化できる場合がありますが、最初に両方を試さずに(とチューニングn_estimatorsmax_featuresおよびmin_samples_split交差検証グリッド検索による)。

54
ogrisel

ExtraTrees分類器は常に、機能の一部に対してランダムな分割をテストします(機能の一部に対して可能なすべての分割をテストするRandomForestとは対照的に)

14