scikit learnのRandomForestClassifierとExtraTreesClassifier


94

scikit学習におけるRandomForestClassifierとExtraTreesClassifierの違いを誰かが説明できますか?私は紙を読むのにかなりの時間を費やしました:

P. Geurts、D。Ernst。、およびL. Wehenkel、「Extremely randomized trees」、機械学習、63(1)、3-42、2006

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

1)分割で変数を選択する場合、サンプルはトレーニングセットのブートストラップサンプルではなく、トレーニングセット全体から抽出されます。

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

これら2つのことの結果は、はるかに多くの「葉」になります。


6
私がextratreeclassifierに非常に興味を持っている理由は、特定の問題についてETを使用した方がはるかに良い結果を得ているからです。私の特徴ベクトルは200を超える大きな変数であり、変数には非常にノイズが多いです。標準のRDF分類子は粗末な結果を取得しますが、ETは> 90%のF1スコアを取得しています。クラスは、比較的少数の陽性クラスサンプルと多数の陰性でバランスが取れていません。
デンソン、2014年

また、このより最近の答えを参照してください。stats.stackexchange.com/questions/175523/...
アーチー

回答:


56

はい、どちらの結論も正しいですが、scikit-learnのランダムフォレストの実装では、ブートストラップのリサンプリングを有効または無効にすることができます。

実際には、RFは多くの場合ETよりもコンパクトです。ETは一般に、計算の観点から見た場合のほうが安価ですが、はるかに大きくなる可能性があります。ETはRFよりも一般化する場合がありますがn_estimators、最初に両方を試さずに(および調整max_featuresmin_samples_split、相互検証されたグリッド検索によって)当てはまる場合を推測するのは困難です。


21

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


13
このコメントが、文字通りCourseraクイズの質問に対する単語ごとの回答であることを私は面白がっています
Bob

ええ、@ボブです。私はこの回答が非常に役立つと思うので、ここに投稿しました。エキストラツリーとランダムフォレストの違いを理解するのに役立ちます。
Muhammad Umar Amanat

3
同じコースから来ました。そしてこの答えは役に立ちました!
killezio

はい@ skeller88これは素晴らしいコースです。このコース
Muhammad Umar Amanat

0

ランダムフォレストと追加のツリー(通常、極端なランダムフォレストと呼ばれます)の主な違いは、検討中の各フィーチャについて、(ランダムフォレストの)ローカルに最適な機能/分割の組み合わせを計算する代わりに、ランダムな値が選択されるという事実にあります分割用(追加のツリー用)。ランダムフォレストと追加ツリーの違いの詳細について知るための優れたリソースを以下に示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.