ランダムフォレストの前に機能選択を使用することは理にかなっていますか?


回答:


6

はい、それはあり、それは非常に一般的です。50%を超える機能を期待している場合でも、冗長性はありませんが、まったく役に立ちません。たとえば、randomForestパッケージにはラッパー関数rfcv()があり、これはrandomForestを事前トレーニングし、最も重要度の低い変数を省略します。rfcv関数はこの章を参照してください。楽観的な結果を超えないように、特徴選択+モデリングを外側の交差検証ループに埋め込むことを忘れないでください。

[以下を編集]

私は「まったく役に立たない」を和らげることができました。単一のランダムフォレストでは、ほとんどの場合、たとえば、ラッソ正則化を使用した回帰では、これらが(シミュレートされた後知恵で)ランダムな特徴であったとしても、完全に無視されます。機能によるディシジョンツリーの分割は、数千または数百万のノードのいずれかでローカル基準によって選択され、後で元に戻すことはできません。機能を1つの優れた選択に切り下げることはお勧めしませんが、一部のデータセットでは、この変数選択を使用して予測パフォーマンスを大幅に向上させることができます(繰り返しの外部相互検証によって推定)。典型的な発見は、機能の100%を維持するか、数パーセントしか機能しないことであり、同様の推定予測パフォーマンスを持つ広い中間範囲が存在する可能性があります。

おそらく妥当な経験則:なげなわのような正則化は、特定の問題に対してリッジのような正則化よりも優れていると予想される場合、ランダムフォレストを事前トレーニングして、内部の out-of-bagで機能をランク付けすることができます変数の重要性を相互検証し、最も重要でない機能のいくつかを削除してみてください。変数の重要度は、トレーニング後に予測の前に特定の機能が置換される(値がシャッフルされる)ときに、交差検証されたモデルの予測がどの程度減少するかを定量化します。特定の機能を含める必要があるかどうかは確実ではありませんが、上位5%の機能を予測する方が、下位5%を予測するよりはるかに簡単です。

実用的な観点からは、機能ごとの固定取得コストがあれば、計算の実行時間を短縮でき、リソースを節約できる可能性があります。


5
機能が役に立たないことを通知するデータの機能は大幅に制限されています。参照するオプションがランダムフォレストアルゴリズムに統合されることを願っています。候補の機能をランダムフォレストアルゴリズムに送信する前に、機能を事前に削除することは適切ではありません。
フランクハレル2016年

@FrankHarrell、私は私の答えを詳しく説明しようとしました
Soren Havelund Welling

2
異なる目的のために異なるスコアリングルールを選択することには同意しません。不適切な精度のスコアリングルールは、間違った特徴の選択とそれらに間違った重みを与えます。より明白なのは、特定のスコアリングルールの恣意性です。最適な予測モデルを選択してから、そのモデルを使用して最適な意思決定を行うために、固体決定理論を使用する方がはるかに優れています。これは、連続予測に効用関数を適用することによって行われます。
フランクハレル2016年

1
@FrankHarrell-この質問に対する詳細な回答を教えてください。機能の選択を行うことに反対する強い議論があるようです...
ihadanny

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