今回は、Pythonでデータを正規化する方法について説明します。
では、さっそく始めてみましょう。
正規化とは?
正規化に飛び込む前に、まずその必要性を理解しましょう!
特徴量のスケーリングは、データ分析およびモデリングのためのデータの準備に不可欠なステップです。
ここで、我々は簡単に分析するために、データのスケールフリーにします。
正規化は特徴スケーリング技術の一つです。
正規化は、データがガウス分布に従わない場合など、どちらかの軸に偏っている場合に特に適用される。
正規化では、異なる尺度のデータ特徴を共通の尺度に変換し、さらにデータのモデリング処理を容易にします。
これにより、すべてのデータの特徴(変数)は、モデリング部分において同様の影響を持つようになります。
以下の式により、データ変数からデータの最小値を引き、それを変数の範囲で割ることで各特徴を正規化します。
import pandas as pd
import os
from sklearn.preprocessing import MinMaxScaler
#Changing the working directory to the specified path-- os.chdir( "D:/Normalize - Loan_Defaulter" )
data = pd.read_csv( "bank-loan.csv" ) # dataset
scaler = MinMaxScaler()
loan = pd.DataFrame(scaler.fit_transform(data),
columns = data.columns, index = data.index)
print (loan)
|
このように、値を[0,1]の間の範囲に変換します。
では、この正規化の概念をPythonで実装してみましょう。
Pythonでデータを正規化する手順
Pythonでは、正規化を行うために様々なアプローチがあります。
今日は、最も一般的な方法の一つである MinMaxScaler を使ってみましょう。
まず、これからスケーリングするデータセットを見てみましょう。
データセット:
さらに、正規化を行うために、sklearnのminとmaxのスケーリングを使用する予定です。
例えば、以下の様になります。
ここでは、MinMaxScaler()
クラスのオブジェクトを作成した。
さらに、fit_transform() メソッド
を使って、データの正規化を行っています。
出力です。
このように、0 から 1 の範囲でデータ値を変換し、正規化しました。
この記事もチェック:Pythonでデータセットから別のデータセットへピボットテーブルを作成する
概要
以上の説明から、以下のことがわかります。
- 正規化は、データ値が歪んでいて、ガウス分布に従わない場合に使用される。
- データ値は 0 と 1 の間で変換される。
- 正規化によって、データはスケールフリーになります。
まとめ
以上で、本記事を終了します。
もし何か疑問があれば、お気軽にコメントください。
それまでは、Python with AskPythonと学習を続けてください。