データ分析項目K-Meansアルゴリズムに基づく広告クラスタリング分析(3)----データ標準化:正規化Min-Max,0-1区間


一、なぜデータの標準化を行うのか
これは標準化されていない前のデータです.ここでは元のデータの2列目から7列目のデータを取ります.
  UV                                        
0        3.69  0.0071  0.0214   2.3071  0.0258     20
1      178.70  0.0040  0.0324   2.0489  0.0030     19
2       91.77  0.0022  0.0530   1.8771  0.0026      4
3        1.09  0.0074  0.3382   4.2426  0.0153     10
4        3.37  0.0028  0.1740   2.1934  0.0007     30
5        0.95  0.0141  0.4155   4.2113  0.0276      2

これらのデータはいずれも1桁ではないことが分かるので、K-Meansクラスタリングアルゴリズムを用いて解析することは困難である.そのため、sklearnにおけるデータ処理に関するアルゴリズムMinMaxScale()を用いてデータを標準化し、K-Meansを用いてクラスタリング分析を行うために0~1の間にデータを縮小する必要がある.
二、MinMaxScale()を使用してデータを標準化する
#       
from sklearn.preprocessing import MinMaxScaler
#   2   7   
matrix = data.iloc[:, 1:7]
#    MinMaxScaler()
min_max_model = MinMaxScaler()
#            
data_rescaled = min_max_model.fit_transform(matrix)

結果
[[0.   0.18 0.02 0.01 0.12 0.66]
 [0.01 0.1  0.03 0.01 0.01 0.62]
 [0.   0.06 0.05 0.01 0.01 0.1 ]
 ...
 [0.01 0.01 0.   0.   0.   0.72]
 [0.05 0.   0.   0.   0.   0.31]
 [0.   0.   0.   0.53 0.   0.62]]

このように,異なる桁数のデータはすべて0~1という区間にスケーリングされ,データの標準化が完了する.
データファイル