スケーリングの前または後の機能エンジニアリング?
Aug 20 2020
データセットのサイズを縮小するために、一連の機能に対して機能エンジニアリングを行っています。フィーチャーは異なるスケールを持つことができます。たとえば、1つの機能の値が1000から1500の間で変化し、他の機能が0から100の間で変化します。機能エンジニアリングで行うテストの1つは、相関の高い機能を削除することです。
機能エンジニアリングを行う前にデータをスケーリングしようとしましたが、その逆もありました。最初のユースケースでは60個の機能を取得し、後者のユースケースでは54個の機能を取得します。
それを行う正しい方法はどれですか?スケーリングの前または後に機能エンジニアリングを行う必要がありますか?
回答
gunes Aug 20 2020 at 14:18
標準化は事前に適用することもできますが、通常は特徴の生成後に行われます。例えば、
機能には特定の意味がある場合があります。たとえば、クリック率(CTR)=クリック数/表示された広告。クリック率と表示された広告を事前にスケーリングする場合は、CTRシグナルを使用します。
新しい機能はスケールがずれている可能性があります。 $x$ 0-1にしてから $x^8$ 新機能として、おそらく0-1よりも狭い範囲になります。
事前にスケーリングを適用することを選択した場合、特に新しい機能の範囲が標準化された機能と大きく異なる場合は、新しい機能を生成した後に再度スケーリングを適用するかどうかも決定する必要があります。