機能の選択は必要ですか?


10

データセットでランダムフォレスト、勾配ブースティング、SVMなどの機械学習モデルを実行したいと思います。データセットには200を超える予測変数があり、ターゲットクラスはバイナリ変数です。

モデルフィッティングの前に特徴選択を実行する必要がありますか?すべての予測子変数を使用してモデルを直接当てはめると、モデルのパフォーマンスに大きな影響を与えますか、それとも大きな違いはありませんか?


データセットの大きさは?数千のサンプルと200の予測子変数がある場合、確率は非常に高く、ランダムフォレストのようなモデルを使用すると、非常に高いパフォーマンスを既に達成できます。さらに機能を選択すると、パフォーマンスがさらに向上します。
Archie

@Archieはい、私のデータセットのサイズはあなたが言ったものと同じです。「さらなる特徴選択」、モデルのフィッティングの前に特徴選択を行うことを意味し、モデルのパフォーマンスに有利に働くことができますか?
LUSAQX 2017年

私は最初にすべての機能を試してみるつもりですが、ランダムフォレストは最初に優れた分類子になります。次に、パフォーマンスを向上させたい場合は、たとえば、機能の重要度を調べて、最も重要な機能を選択します。
Archie

OK。これが私がこれまでに行ったことです。モデルフィッティングの前にいくつかの特徴選択方法を試して、それまでに改善があるかどうかを確認します。
LUSAQX 2017年

私の最近の実践からの短い回答ですが、モデルの比較には機能の選択が必要です。一部のアルゴリズムは一部の機能セットでより適切に機能し、他の一部のアルゴリズムは別のセットで機能します。
LUSAQX 2017

回答:


11

機能の選択は、回避すべき段階と考えることができます。問題はNP-Completeであるため、機能を削除して実際にデータを失うために計算時間を費やす必要があり、機能の選択に必要な方法は最適ではありません。それを使うことはあなたが拒否することができない申し出のように聞こえません。

それで、それを使用する利点は何ですか?

  1. 多くの機能と低いサンプル/機能比は、データセットにノイズを導入します。このような場合、分類アルゴリズムはオーバーフィットする可能性が高く、良好なパフォーマンスを誤って感じます。
  2. 機能の数を減らすと、後のステージでの実行時間が短縮されます。これにより、より複雑なアルゴリズムを使用したり、より多くのハイパーパラメータを検索したり、より多くの評価を行ったりすることができます。
  3. 機能の小さいセットは人間にとってより理解しやすいです。これにより、予測可能性の主なソースに集中して、より正確な機能エンジニアリングを行うことができます。モデルをクライアントに説明する必要がある場合は、200の機能を持つモデルよりも5つの機能を持つモデルを提示する方が適切です。

次に、特定のケースについて説明します。まず、機能とコンセプトの間の相関関係の計算から始めることをお勧めします。すべての機能間の相関関係の計算も参考になります。多くの種類の有用な相関関係(ピアソン相互情報など)とそれらに影響を与える可能性のある多くの属性(疎性、概念の不均衡など)があることに注意してください。機能選択アルゴリズムを盲目的に使用する代わりにそれらを調べることで、将来の時間を大幅に節約できる可能性があります。

データセットで実行時の問題が多く発生することはないと思います。ただし、サンプル/機能の比率はそれほど高くないため、機能を選択するとメリットが得られる可能性があります。

複雑度の低い分類子(たとえば、線形回帰、小さな決定木)を選択し、それをベンチマークとして使用します。完全なデータセットと、機能のサブセットを含むデータセットで試してください。このようなベンチマークは、機能選択の使用をガイドします。多くのオプション(たとえば、選択する機能の数、機能選択アルゴリズム)があり、目標は通常は予測であり、機能選択ではないため、フィードバックは少なくとも1ステップ離れているため、このようなガイダンスが必要になります。


どうもありがとう。しかし、ランダムフォレストのような非線形分類器では、互いに独立した予測子変数も必要ですか?私はそうは思いませんが、間違っている可能性があります。相関関係は機能選択をどのようにガイドしますか?
LUSAQX 2017年

ランダムフォレストは、従属変数にうまく対処できる木のコレクションです。これは、ツリーの各ノードで、データセットがその上のすべての変数によって条件付けられているためです。問題は、ツリーの成長がヒューリスティックであるため、上記の変数の選択が最適ではなかった可能性があることです。
DaL 2017年

相関は変数のペアのみを比較するため、全体像を把握することはできません。一方、結果はO(2 ^ n)ではなくO(n ^ 2)で得られます...ガイダンスは通常データセットに固有なので、このように説明するのは難しいと思います。いくつかの例は、冗長な変数の削除です(他の変数と非常に相関しています)。相関の強さを調べると、小さなモデルを使用できるか、または多くの弱学習器を使用する必要があるかがわかる場合があります。相互に相関しすぎないサブセットを特定することは、共同トレーニングが役立つことを示している可能性があります。
DaL 2017年


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