スケーリングとは
例えば、体重、身長、年齢などの複数の異なる単位をそのまま扱ってしまうと尺度が異なってしまいます!
それによりうまく学習できない場合があります。
そこでデータをある基準に沿って変換し尺度を統一する、それがスケーリングです。
スケーリングには、「正規化」や「標準化」という種類があります。
標準化と正規化とは?
早速ですが、用語の意味は以下の通りです。
正規化(Normalization):データを一定の規則に従って加工し、扱いやすくする事
ただし、外れ値の影響を受けやすいという欠点があります。
標準化(Standardization):正規化の方法の中で、特に「平均0、分散1になるように正規化」する事
正規化のイメージ
今回の正規化ではデータがちょうど0から1の間に入るように変換されています。
グラフはpythonのsklearn、matplotlibのライブラリを使ってます。
※raw_dataは元のデータでScaled dataはスケーリングしたデータ
正規化のイメージ
イメージとしては、元データの最大値と最小値でスケーリングします。
式として、以下のような感じ↓
正規化の値 = (正規化したい値 ー 最小値) / (最大値 ー 最小値)
上記の式からも外れ値(最大値、最小値に影響を与える因子)があれば、影響がある事がわかるかと思います。
標準化のイメージ
平均を0、分散を1にする変換です。
標準化のイメージ
イメージとしては、元データの平均と標準偏差を使ってスケーリングします。
式として、以下のような感じ↓
標準化の値 = (標準化したい値 ー 平均) / 標準偏差
※標準偏差は、データのちらばり=各データが平均からどれくらい離れているかという値で、分散の平方根の値です。
まとめ
今回は機械学習のデータの前処理にあたる標準化と正規化についてみました。
機械学習の前処理でもあり、とても機械学習においては大切なステップです!
前処理を詳しく知りたい方は以下もご参考にしてください(^^)
機械学習をする前に機械学習では色々なデータから、予測や分類ができるようになります。しかし、機会学習の前にデータに問題に問題があれば、どのような対応が必要なのでしょうか?それが今回お話するデ[…]
pythonのライブラリを使うと簡単に実装できますが、どのような事を行っているかを理解しておく事で何かのトラブルでも対応できるかと思います!
機械学習入門 便利な部品が入っている道具箱みたいなイメージです。Pythonには2つの種類のライブラリがあります。 標準ライブラリ:付属していてすぐに使え[…]
もっと勉強したいけど、独学では難しいという方はプログラミングスクール等も考えてみてもいいかもしれません。
それでは今日はここまで。