解説
身長と体重のように単位が違うデータを比べるには、スケールをそろえる前処理が必要です。データサイエンスでよく使う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本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。