#58

正規化(min-max)と標準化(zスコア)

スケールの違うデータをそろえる2つの前処理を比較します。

解説

身長と体重のように単位が違うデータを比べるには、スケールをそろえる前処理が必要です。データサイエンスでよく使う2つの方法を学びます。 - min-max正規化:(x − 最小) ÷ (最大 − 最小)。すべて0〜1の範囲に収まる。 - z標準化(zスコア):(x − 平均) ÷ 標準偏差。平均0・標準偏差1にそろう。 同じデータに両方を適用し、値がどう変換されるか見比べてみましょう。

書き方

import statistics — 統計モジュールを読み込む。
・min(データ) / max(データ) — 最小値・最大値。statistics.mean / pstdev — 平均・母標準偏差。
・min-max正規化: (x - 最小) / (最大 - 最小) で 0〜1 に変換。
・z標準化: (x - 平均) / 標準偏差 で平均0・標準偏差1に変換。
・f"{mm:.3f}" / f"{z:+.3f}" — 小数桁を指定、+ は符号を常に表示。

書いて動かす

この回の課題

同じデータに min-max正規化と z標準化の両方を適用し、各値がどう変換されるか並べて見比べよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

自分のPCでも続けてみませんか

Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。