今回は、Pythonでデータを標準化するための2つの重要なテクニックに焦点を当てます。
なぜPythonでデータを標準化する必要があるのでしょうか?
標準化の概念に深く入り込む前に、その必要性を知ることがとても重要です。
ある問題に対してモデルを構築するために使用するデータセットは、通常、様々なソースから構築されます。
従って、データセットには様々なスケールの変数/特徴が含まれていることが想定されます。
機械学習や深層学習のモデルがうまく機能するためには、結果に偏りが生じないように、データのFeatureのスケールが同じであることが非常に重要です。
そのため、Feature Scalingはモデリングに先立つ重要なステップと考えられている。
Feature Scalingは大きく分けて以下のようなカテゴリに分類される。
- 正規化
- 標準化
標準化は、「正規分布」しているデータに対して行われる。
また、標準化を行うことで、データセットの平均を0、標準偏差を1とする傾向がある。
つまり、値を標準化することで、データ分布の統計は次のようになります。
- 平均値=0
- 標準偏差=1
| fromsklearn.datasets importload_iris | 
このように、平均が0になり、単位分散になることで、データセットが自己説明的になり、分析が容易になります。
Pythonでデータを標準化する方法
それでは、次のセクションでStandardizationを実装する様々な方法に焦点を当てましょう。
1. プリプロセッシング.scale()関数の使用法
平均が0、標準偏差が1になるようにデータを標準化するには、`preprocessing.scale(data)’ 関数を使用します。
ここでは、以下の行を使用してIRISデータセットを環境にロードしています。
| fromsklearn importpreprocessingdata =load_iris()# separate the independent and dependent variablesX_data =data.datatarget =data.target# standardization of dependent variablesstandard =preprocessing.scale(X_data)print(standard) | 
さらに、IRISデータセットを以下のようにデータオブジェクトに保存しています。
| fromsklearn.datasets importload_irisfromsklearn.preprocessing importStandardScalerdata =load_iris()scale=StandardScaler()# separate the independent and dependent variablesX_data =data.datatarget =data.target# standardization of dependent variablesscaled_data =scale.fit_transform(X_data) print(scaled_data) | 
従属変数と応答/目標変数を分離した後、データを標準化するために、従属変数に preprocessing.scale() 関数 を適用しました。
結果は以下の通りです。

2. StandardScaler() 関数の使用
Python の sklearn library は、データセットに対して標準化を行うための `StandardScaler()’ 関数を提供してくれます。
ここでは、Iris データセットを使用します。
さらに、StandardScaler() のオブジェクトを作成し、 fit_transform() 関数 を適用して、データセットに標準化を適用しています。

結果は以下の通りです。

この記事もチェック:Pythonでデータセットから別のデータセットへピボットテーブルを作成する
まとめ
ここまでで、このトピックは終了です。
何か疑問があれば、お気軽にコメントください。
それでは、今後ともよろしくお願いいたします。
