多数の機能を備えたロジスティック回帰を実行するにはどうすればよいですか?


10

330のサンプルと各サンプルに27の特徴を持つデータセットがあり、ロジスティック回帰のバイナリクラスの問題があります。

「10の場合のルール」によると、各機能を含めるには少なくとも10のイベントが必要です。しかし、私は20%の陽性クラスと80%の陰​​性クラスの不均衡なデータセットを持っています。

その結果、イベントは70件になり、ロジスティックモデルに含めることができる機能は約7/8だけになります。

すべての機能を予測変数として評価したいのですが、機能を手動で選択したくありません。

それであなたは何を提案しますか?7つの機能をすべて組み合わせる必要がありますか?アソシエーションモデルで各機能を単独で評価し、最終的なモデルに最適な機能のみを選択する必要がありますか?

カテゴリカルな機能と継続的な機能の扱いについても知りたいのですが、混在させることはできますか?カテゴリー[0-1]と連続[0-100]がある場合、正規化する必要がありますか?

私は現在Pythonを使用しています。

あなたの助けをありがとう!


「私はまた、カテゴリー的かつ継続的な機能の扱いに興味があります」私はそれが別の質問をするだろうと信じています。実際、すでにここで質問さています
E_net4は2017

2
十分なサンプルがないことと無関係な特徴があることには違いがあります。単純化されたルールがあるため、正確に7つの機能を選択することにあまり重点を置きません...
oW_

1
とにかく行うことを実行します。相互検証を使用して、正則化を最適化します。弾性ネット(L1 + L2)をお勧めします。
Emre 2017

回答:


6

モデルを7つの変数に減らすには、いくつかの方法があります。

  1. PCA(教師なし):これにより、データの「新しい」線形結合が作成され、各処理コンポーネントがデータの分散をできるだけ多く説明します。したがって、最初の7つのコンポーネント(27のうち)は、データの変動のかなりの割合を説明できるはずです。次に、これらの7つのコンポーネントをロジスティック回帰方程式に組み込むことができます。ここでの欠点は、コンポーネントが元の変数の組み合わせであるため、回帰モデルとの解釈性がいくらか失われることです。ただし、非常に優れた精度が得られます。次のような他の次元削減方法に適用されるこの同じ手法
  2. 回帰のもう1つの一般的な方法は、1つの変数から始めて各ステップを追加する前進ステップワイズです。これは、いくつかの基準(通常はBICまたはAICスコア)に基づいて保持または削除されます。後方ステップワイズ回帰は同じことですが、すべての変数から始めて、いくつかの基準に基づいて毎回1つずつ削除します。簡単な検索に基づいて、Pythonに段階的な回帰があるようには見えませんが、このデータサイエンスの投稿で説明されている同様の機能除去アルゴリズムを実行しています。
  3. L1L1

@ E_net4がコメントしたように、あなたの継続的な質問は別の投稿で扱われます。


5

あなたは「10のルール」を真剣に受け止めすぎています。それは非常に大まかな経験則です。それはあなたがそれを使用しているように使用することを意図していません。

「ポジティブなインスタンスは70個しかないため、10の法則により、7つの機能しか使用できません。使用する7つの機能をどのように選択すればよいですか?」

それは10のルールが意味するものではありません。使用が許可されている機能の数を指定するのは、いくつかのルールではありません。ルール10は説明的なものであり、規範的なものではなく、おおよそのガイドラインです。インスタンスの数が機能の数の10倍よりもはるかに少ない場合、特に過剰適合のリスクが高くなり、結果が悪くなる可能性があります。

それで、あなたは何をすべきですか?とにかく、正規化を使用し、交差検証を使用して正規化ハイパーパラメーターを選択します。また、過剰適合や偏った精度推定を回避するために、分類器に関するすべてを確定するまでは触れないホールドアウトテストセットを用意することが重要です。

さらに多くのデータを取得できれば、それは非常に役立ちます。

最後に、不均衡なクラスがあるので、クラスの不均衡とそれを処理する方法について読むことを検討してください。

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