広告 機械学習

正規化(Normalization)とは?標準化との違いやPythonでのやり方までわかりやすく解説

正規化のアイキャッチ画像
サル
  • 正規化ってなに?
  • 標準化とは何が違うの?

とお悩みではないですか?

本記事では、データの前処理の手法である正規化について、標準化との違いやPythonでのやり方まで解説していきます。

正規化とは異なる変数間の尺度を整え、比較できるようにするデータの前処理の手法です。

変数同士の尺度が異なると正しい分析を行えないことから、正規化はデータ分析の前に利用されます。

本記事の信頼性

サルでもわかるデータサイエンスの運営者のプロフィール画像

こんな悩みがある方読んで欲しい

  • 正規化とは?
  • 標準化とはどう違う?
  • どうやってPythonで実装するの?
しょー

それでは本編です!

月額980円で学べる!

しょー

データサイエンスの復習は完ぺきにできていますか?

データサイエンスは勉強する範囲が膨大で、復習に手が回りませんよね。

そんなあなたにおすすめなのが、たった月額980円でサクッと学べるスタアカ

数分の動画でビジネスへの活用法も含めて、サクッとデータサイエンスを復習可能。

何冊も参考書を往復して復習する苦労』とはおさらばです!

サブスクなのでいつでも解約OK。手軽に始めてみませんか?

月額980円から/

スタアカはこちら

講座が毎月追加されるので今後値上がりする可能性大、今買わなきゃ損するかも!

正規化(Normalization)とは

正規化とは

正規化(Normalization)とは、データの尺度(単位)を整え、異なる特徴量(変数)同士を比較できるようにするデータの前処理手法の1つです。

もし正規化を行わずにデータ分析すると、異なる尺度(単位)どうしの変数を比較できなくなります

正規化は以下の式で行えます。

\[ X_{\text{normalized}} = \frac{X - X_{\text{min}}}{X_{\text{max}} - X_{\text{min}}} \]

分母ではデータの範囲、分子はそのデータ点と最小値との誤差を表しています。

正規化を行うことで、全てのデータ点を0から1の範囲に収まるのです。

0~1の範囲に収める正規化はMin-Max normalizationと言われています。

例えば、身長と体重という異なる尺度の特徴量を持つデータに対して正規化を行うと、どちらも0から1の範囲にデータを収められ、比較可能です。

正規化と標準化の違い

正規化と標準化の違い

正規化と似た手法として標準化があります。

標準化について詳しく知りたい方は『標準化(Standardization)とは?正規化との違いやPythonでのやり方をわかりやすく解説』の記事をご参照ください。

2つの手法は以下のように目的が異なります。

  • 正規化:データの尺度を統一し、0~1の範囲に収めること
  • 標準化:データの分布を調整すること

正規化は、異なる変数間の尺度を整えて、0~1に整えることを目的としています。

しかし、正規化はデータの範囲を0~1に整えているだけであるため、外れ値に影響されてしまうのです。

標準化はデータの分布を調整し、外れ値の影響を抑える点で異なります。

つまり、正規化はデータを0~1の範囲に収め、標準化はデータの分布を調整する点で異なります。

事前に外れ値があると分かっている場合には、正規化ではなく標準化も視野に入れましょう。

正規化はPythonで簡単に行える

正規化はPythonで簡単に行えます。

pythonは機械学習を行えるプログラミング言語であるため、前処理もPythonで行えると効率的にデータ分析に移れるのです。

以下では、Pythonで0~1の範囲に収める正規化(Min-Max normalization)を行うコードです。

from sklearn.preprocessing import MinMaxScaler

# データを用意
data = [[1.0], [2.0], [3.0], [4.0], [5.0]]

# MinMaxスケーラーを作成
scaler = MinMaxScaler()

# データを正規化
normalized_data = scaler.fit_transform(data)

print(normalized_data)

このように、MinMaxScalerを使用することで、簡単に正規化を行えます。

まとめ

正規化は異なる尺度を持つ特徴量を比較可能にするためのデータの前処理の手法です。

正規化は、データの範囲を0~1に収めるMin-Max normalizationが主流として用いられています。

正規化と標準化はどちらもデータの前処理の手法ですが、目的が異なるのです。

  • 正規化:データの尺度を統一し、0~1の範囲に収めること
  • 標準化:データの分布を調整すること

正規化は尺度を統一する目的がありますが、外れ値の影響を受けてしまいます。

ですが、標準化はデータの分布を調整する目的で、外れ値の影響を受けにくくする役割があります。

正規化はPythonを用いることで、簡単に行えます。

Pythonで正規化を行えることで、データ分析にもスムーズに移れるのです。

ぜひ、参考にしてみてください。

サル
  • 機械学習の勉強がなかなか上手く進まない...
  • 勉強していても全体像が見えてこない...
  • 本当にデータサイエンティストになれるのかな...

と不安に感じてはいませんか?

そんな悩みをまるっと解決してくれるサービスが『スタアカ』です。

僕も利用している『スタアカ』のライトプランは月額980円で動画見放題でコスパ最強です。

「勉強の道しるべが欲しい!」「学習を効率的に進めたい」という方にはこの上ないサブスクです。

データサイエンスを学びたい方に最強のサブスク『スタアカ』を気軽に始めてみませんか?

\月額たった980円!/

スタアカはこちら

講座が毎月追加されるので今後値上がりする可能性大、今が買いどき!

しょー

「ちょっとでも興味がある」という方は、受講した感想も載せている記事もあわせてどうぞ。

スタアカ紹介記事
ブログランキング・にほんブログ村へ
人気ブログランキングでフォロー
サルでもわかるデータサイエンスのブログアイキャッチ画像
運営者の画像

しょー

地方公立大学でデータサイエンスについて学んでいる大学3年生のしょーです。

これまで、大学で学んできたこと、個人的に調べてきた情報を、「大学の先輩」的なポジションから大学生をサポートしたいと考えております。

何か分からないことがあれば、X(Twitter)のDMやブログ内のお問い合わせにてご相談ください。

また、記事作成依頼やサービスの体験依頼も承っております。 お気軽にご相談ください。

-機械学習
-,