機能選択と機能抽出。いつ使用しますか?


14

特徴抽出と特徴選択は、データの次元を本質的に減らしますが、私が正しいなら、特徴抽出はデータをより分離可能にします。

どの技術が他より優先されますか?

機能選択は元のデータとそのプロパティを変更しないため、トレーニング中の機能を変更しないことが重要である場合は、機能選択を使用すると想定しています。しかし、なぜこのようなものが欲しいのか想像できません。

回答:


15

Torosの答えに加えて、

これら(下記の箇条書きを参照)3つは非常に似ていますが、微妙な違いがあります-(簡潔で覚えやすい)

  • 特徴抽出と特徴エンジニアリング:生データのモデリングに適した特徴への変換。

  • 特徴変換:アルゴリズムの精度を向上させるためのデータの変換。

  • 機能の選択:不要な機能を削除します。

同じ例を追加するだけで、

特徴抽出とエンジニアリング(それらから何かを抽出できます)

  • テキスト(ngrams、word2vec、tf-idfなど)
  • 画像(CNN'S、テキスト、Q&A)
  • 地理空間データ(緯度、経度など)
  • 日付と時刻(日、月、週、年..)
  • 時系列、ウェブなど
  • 次元削減技術..
  • .....(その他多数)

特徴の変換(意味のあるものに変換する)

  • 正規化および分布の変更(スケーリング)
  • 相互作用
  • 欠損値の入力(中央値など)
  • .....(その他多数)

機能の選択(選択したこれらの機能に基づいてモデルを構築する)

  • 統計的アプローチ
  • モデリングによる選択
  • グリッド検索
  • 相互検証
  • .....(その他多数)

お役に立てれば...

他の人が共有しているリンクを見てください。彼らはかなりいいです...


そのために+1に答える良い方法です。
-Toros91

このコミュニティへの称賛..それから多くを学ぶ..
アディティア

1
確かに、2017年10月からメンバーになっています。多くのことを学びました。それがあなたにとっても同じであることを願っています。私はあなたの答えを読んでいます、彼らは良いです。ところであなたがSOで経験したことをすみません。全体を見ることができませんでしたが、ニール・スレーターが最後まで冷静さを保っていたといいました。がんばり続ける!まだまだ先は長い。:)
Toros91

これらを処理する順序は何ですか?データクリーニングとデータ分割に加えて。5つのうち、最初のステップはどれですか?
テクナジ

データの分割は、モデリングのためにデータを送信する準備ができていることを確認したときに最後に行われます...そして、上記のようなものはかなり重複しているため、そのような順序はありません(機能抽出、機能エンジニアリング、フィーチャ変換)。ただし、クロスバリデーションまたは同等の何かのためにモデルメトリックまたは検証データセットで同等のもの(パフォーマンスを測定するため)を使用している場合は、検証としてデータをトレインに分割した後、フィーチャ選択が確実に行われます。列をドロップしてimp colsorimpを見る
アディティア

4

Adityaが言ったように、時々互いに混同される3つの機能関連の用語があります。私はそれらのそれぞれに要約説明をしようとします:

  • 特徴抽出:直接分析するのが難しい/直接比較できない形式のデータからの特徴の生成(画像、時系列など)時系列の例では、いくつかの単純な特徴は例:時系列の長さ、期間、平均値、標準など
  • 機能変換:古い機能に基づいて新しい機能を作成するための既存の機能の変換。次元削減のために非常に一般的に使用される手法は、変数の初期セットに基づいて線形非相関変数のセットを生成するために直交変換を使用する主成分分析(pca)です。
  • 機能の選択:一連の既存の機能から、ターゲット変数に対する「重要度」/影響が最も大きい機能の選択。これは、線形回帰、決定木、「重要」重みの計算(フィッシャースコア、ReliefFなど)などのさまざまな手法で実行できます。

達成したい唯一のものが既存のデータセットの次元削減である場合、フィーチャ変換またはフィーチャ選択方法のいずれかを使用できます。しかし、「重要」と特定した機能の物理的解釈を知る必要がある場合、または分析のために収集する必要があるデータの量を制限しようとしている場合(機能変換にはすべての初期機能セットが必要です)、機能の選択のみが機能します。

機能の選択と次元削減の詳細については、次のリンクを参照してください。


3

それらは2つの異なるものだと思います

機能選択から始めましょう:

この手法は、ターゲット変数のほとんどを説明する機能を選択するために使用されます(ターゲット変数と相関関係があります)。このテストは、モデルがデータに適用される直前に実行されます。

それをよりよく説明するために、例を挙げてみましょう。10個の特徴と1個のターゲット変数があり、9個の特徴がターゲット変数の90%を説明し、10個の特徴が一緒にターゲット変数の91%を説明します。したがって、1変数は大きな違いを生まないので、モデリングする前にそれを削除する傾向があります(ビジネスにとっても主観的です)。予測因子の重要度とも呼ばれます。

次に、特徴抽出について説明します。

これは、教師なし学習、画像の輪郭の抽出、テキストからのバイグラムの抽出、音声テキストの録音からの音素の抽出で使用されます。データディクショナリがないなど、データについて何も知らない場合、機能が多すぎるため、データが理解できる形式ではありません。次に、この手法を適用して、ほとんどのデータを説明する機能を取得してみます。特徴抽出には、特徴の変換が含まれます。これは、次元削減の過程で一部の情報が失われるため、多くの場合、可逆的ではありません。

指定されたデータに特徴抽出を適用して特徴を抽出し、ターゲット変数に関して特徴選択を適用して、良いモデルを作成して良い結果を得るために役立つサブセットを選択できます。

これらのLink-1Link-2を通過できますを使用して、理解を深めることができます。

R、Python、SPSSで実装できます。

さらに説明が必要な場合はお知らせください。


3

この2つは非常に異なります。特徴選択は実際に次元を減らしますが、特徴抽出は他の特徴から計算される次元を追加します。

パネルまたは時系列データの場合、通常はdatetime変数があり、それらは将来発生しないため、日付自体に従属変数をトレーニングすることは望ましくありません。したがって、datetime:機能の削除を削除する必要があります。

一方、平日/週末は非常に関連性があるため、datetime:feature抽出から平日ステータスを計算する必要があります。


0

機械学習プロジェクトの成功の重要な部分は、訓練するための優れた機能セットを考え出すことです。機能エンジニアリングと呼ばれるこのプロセスには、以下が含まれます。

•機能の選択:既存の機能の中からトレーニングする最も有用な機能を選択します。
•特徴の抽出:既存の特徴を組み合わせて、より有用な特徴を生成します(前述のとおり、次元削減アルゴリズムが役立ちます)。
•新しいデータを収集して新しい機能を作成する

引用:「SciKit-Learn、Keras、Tensorflowを使った機械学習-Aurelien Geron」

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