

クラスタリングを行う上で、特徴量を選択する際に「平均の差」を使おうと考えています。  
複数ある属性のうち、平均差が大きいものを特徴量として選択すれば、より適切に集団を分割できるのではないかと考えています。  
その際の「平均の差を比較する」方法がわかりません。

例えば、高校のクラスが2つ(A組、B組)あったとし、  
それぞれ身長の平均(cm)、体重の平均(kg)、アルバイト収入の平均(円)を算出済だと仮定します。

[code]

             | A組 | B組 |
             -------------
    平均身長 | 190 | 180 |
    平均体重 |  75 |  70 |
    平均収入 |10000| 500 |
    
[/code]

このとき、平均身長は10cm差、平均体重は5kg差、平均アルバイト収入は9500円ですが、  
どれか一つを特徴量として選択しなければならない場合、  
どれを選べばよいのか解りません。  
(単位が異なるので単純に比較できないと考えています)

調べていると、scikit-learnにMinMaxScalerやStandardScalerというものがありますが、  
単にこれらを使えば良いのでしょうか？  
それとも別の尺度を適用しないとだめでしょうか？


CC BY-SA 4.0
2018-09-13T13:51:57.683
48367
2018-09-15T13:46:00.950
30099
question
python pandas 機械学習 scikit-learn
特徴量として使えるデータを平均の差から見つけ出す方法


しばらく調べた結果、質問の主題である「特徴量として使えるデータを見つける方法」というのは次元数が少ない場合や各次元の特徴が分かっている場合は分類の目的に応じて人力で行い、次元数が非常に多い場合は
**特徴選択** という手法が処理が用いられるようです。

[特徴選択 -
Wikipedia](https://ja.wikipedia.org/wiki/%E7%89%B9%E5%BE%B4%E9%81%B8%E6%8A%9E)

>   * フィルター法：目的変数と各特徴量との情報ゲインなどの，特徴の良さの規準を使って選択する．
>   * ラッパー法：特徴量の部分集合を使って実際に学習アルゴリズムを適用し，交差確認法などで求めた汎化誤差を最小にする特徴量の部分集合を選択する．
>

>
> [特徴選択 -
> 機械学習の「朱鷺の杜Wiki」](http://ibisforest.org/index.php?%E7%89%B9%E5%BE%B4%E9%81%B8%E6%8A%9E)

また、「単位が異なるので単純に比較できない」という点については、同じ次元同士でクラスタリングを行う限り、問題が無いように思います。

* * *

以上、初学者なりに調べた結果であり間違いもあるかもしれませんが、参考になればと考えて回答とさせていただきます。間違っている部分、不正確な部分等あるかと存じますので、より詳しい方にコメント頂ければ幸いです。


CC BY-SA 4.0
2018-09-15T13:46:00.950
48432
2018-09-15T13:46:00.950
29826
48367
answer