sklearn VarianceThreshold利用時の注意点

参考サイト:


注意点:

  • 変数毎の分布に注意!:
     分散で判別するので、変数毎に分布を見て決める必要あり。例えば、2値変数(0/1)なら、ベルヌーイ分布なので、分散はp*(1 - p)で、値の99%以上が1の変数を削除したいなら、0.99*(1- 0.99)=0.0099なので、Threshold=0.0099と設定する。
  • 各変数のスケールの違いに注意!:
     分散値をしきい値として指定するので、各変数のスケールを揃える必要がある。なので、VarianceThresholdを使う前に、正規化(最小0、最大1)の必要がある。


使いどころ:

  • 実質的に定数と変わらない変数の削除
     特にthreshold=0にすれば、分散が0、すなわちすべて同じ数値の変数を削除できる
  • 2値変数へのフィルタリング
     0,1の2値変数で、ほとんどの値が0か1のどちらかに偏っている変数の削除。
    thresholdに指定する値は、p*(1-p)で計算


※ 特徴量選択に関するメモは、『特徴量選択で利用する各種手法』のページ。


機械学習Tips保管庫

データ解析、機械学習のための学習内容の保管庫。復習用。

0コメント

  • 1000 / 1000