2016-09-09 14 views
-1

単純な線形回帰のために、特徴の「組み合わせ」または「特徴間の」相互作用が考慮される特徴選択方法を使用したい。回帰のためのSKlearn(scikit-learn)多変量の特徴選択

SelectKBestはターゲットに対して1つずつフィーチャを1つずつ探し、ピアソンのR値でランク付けします。これは簡単ですが、機能間の重要なやりとりを無視しています。

再帰的なフィーチャリングの削除は、最初にすべてのフィーチャを使用し、線形回帰モデルに適合し、最小の絶対値係数でフィーチャをキックアウトします。私はこれが「機能間」の相互作用を説明しているかどうかはわかりません...あなたが指定した数のフィーチャに達するまで、一度に最小の係数を1つずつ取り出しているので、私はそうは思わない。

私が探しているのは、味付けされた機能選択科学者のために、最良のサブセットまたは機能の組み合わせを見つける方法です。私はすべての機能選択ドキュメントを読み、私が何を念頭に置いているのかを説明する方法を見つけることができません。

どのようなヒントも非常に高く評価されます!!!!!!

+0

まず、分散共分散プロットを観察する必要があります。これにより、フィーチャ間のペアワイズ相関の感覚が得られます。 – ketan

答えて

0

単純な線形回帰のために、フィーチャの「組み合わせ」または「フィーチャ間」のやりとりが考慮されるフィーチャ選択方法を使用したいと思います。この場合の

、あなたはLasso(または、実際には、elastic net refinement)を使用して検討するかもしれません。ラッソは線形最小二乗を最小限にしようとしますが、係数には絶対値のペナルティがあります。凸最適化理論(主に二重性に関する)からのいくつかの結果は、この制約が「フィーチャ間」の相互作用を考慮に入れ、相関フィーチャのより劣ったものを除去することを示している。ラッソにはいくつかの欠点があることが知られている(例えば、それが選ぶことができるフィーチャの数に制約がある)ので、より新しい変形は、絶対値項と係数の2乗項の両方をペナルティする弾性ネットである。 sklearnで

sklearn.linear_model.ElasticNetはこれを実装しています。このアルゴリズムでは、クロスバリデーションを使用してペナルティを調整する必要があることに注意してください。幸運なことに、sklearnにはsklearn.linear_model.ElasticNetCVも含まれているため、これらのペナルティ項の値を非常に効率的かつ便利に検索することができます。

関連する問題