機械学習:Feature Scaling(スケールを一致させる)

Feature Scaling

例えば今回のデータで年齢と給与のデータがある。機械学習をする上で、2つのデータを組み合わせて、他のデータとの距離を測るが(ユークリッド距離)、ここである一方だけのデータの数値が大きすぎるともう片方の数値の影響がほとんどなくなってしまう。今回だと年齢と給与だと年齢の方が「量的に」少な過ぎて影響力をほぼ持たないという結果になってしまう。なので、標準化などの手法を使って、これらの数値の範囲を一致させた上で、計算をしなければというもの。まずは、範囲を一致させる方法を学ぶ。

StandardScalerというクラスを導入してインスタンスを作ります。次に、データセットを入れて、fitとtansform。testのところはtansformだけで、これはX_trainの方に合わせてfitをしているからその基準でやらないとダメなんだとか。ちょっと難しい。

ここもまたRはかなりわかりやすい。pythonとの違いは、もともとダミー変数が数値として認識されていないこと。ファクター変数をダミー変数に変換するとそれはnumericとは認められないみたい。なので、今回はこの2つをのぞき、実際にスケーリングをしたい年齢と給与にだけやる。結果は、

こうなる。基本-1から1の間におさまっているので、これでかなり計算がしやすくなる。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする