回帰のための高カーディナリティのカテゴリカル機能を備えた機能の重要性(数値依存変数)


12

私はランダムフォレストの機能の重要度を使用して、すべての機能がカテゴリカルであり、それらの多くに多くのレベル(100〜1000のオーダー)がある回帰問題の経験的な機能選択を実行しようとしました。ワンホットエンコーディングでは、各レベルにダミー変数が作成されるため、機能の重要性は各機能(列)ではなく、各レベルにあります。これらの機能の重要性を集計する良い方法は何ですか?

機能のすべてのレベルの平均の重要度を合計または取得することを考えました(おそらく、前者はより多くのレベルの機能に偏っています)。この問題に関する参考資料はありますか?

機能の数を減らすために他に何ができますか?私はグループなげなわを知っています、scikit-learnに使いやすいものを見つけることができませんでした。


カテゴリー変数の各レベルの変数の重要性を合計することが理にかなっているかどうかの質問に誰かが答えることができますか?
2018

@ see24ありませんあなたはちょうどそれらを合計することはできません。stats.stackexchange.com/questions/314567/...
ダン

回答:


5

それは、それらをどのようにワンホットエンコーディングするかに依存します。そのための多くの自動化されたソリューションは、変換されたすべてのブール値にパターンで名前を付け、AZという値を持つ「letter」と呼ばれるカテゴリー変数が最終的に次のようになるようにします。

letter_A、letter_B、letter_C、letter_D、...

機能の重要度を把握した後、機能の配列とそれに関連する重み/重要度を取得したら、配列を分析し、「letter%」で始まるすべての機能の重要度の重みを合計します。


3
合計は、より多くのレベルを持つ機能に利点を与えていませんか?
-user90772

うーん、良い点。多分それを合計して、レベル/ワンホットエンコードされた変数の数で除算して、「平均」の重要度を取得します。
CalZ 2017

2
私はこれについてもう少し考えました、そしてそれは重要性がどのように採点されるかに依存します。場合によっては、各フィーチャの値は、セット全体の合計が1になる相対的な重みになります。その場合、ワンホットフィーチャを合計すると意味があると思います。フィーチャのスコアが回帰係数のようで、正味の効果に対して重み付けされていない場合は、平均化がおそらくより良いでしょう。
CalZ 2017

返信してくれてありがとう。私はこの分野にかなり慣れているので、これはデータサイエンスの人々にとって標準的なことだと思いましたが、列の機能の重要性を評価するために私がすべきことではないか、この投稿では十分なビューが得られませんでした。とにかくありがとう!
user90772 2017

1
多くの人々は、モデルの内部をブラックボックスとして見て、代わりにパフォーマンスを評価することを提唱しています。特定のケース(ニューラルネットワークなど)では、これを深く調べることができないためです。重要な機能(線形回帰など)のビューを簡単に取得できる場合、誤解を招く可能性があります(stats.stackexchange.com/questions/105114/…を参照)。だからこそ、個々の機能の重要性を見るのをためらう人もいます。
CalZ 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.