인공지능/데이터 전처리

[데이터 전처리] 데이터 정규화, 표준화 Feature Scaling, StandardScaler(), MinMaxScaler()

건휘맨 2024. 4. 12. 17:33

학습 시킬 때 값의 레인지를 맞춰줘야 더 정확한 트레이닝이 가능하다.

from sklearn.preprocessing import StandardScaler, MinMaxScaler

# 피처 스케일링을 위한 스케일러는, x 용과 y 용 따로 만든다.

 

StandardScaler() :  표준화

# 1. 표준화

>>> X_scaler = StandardScaler()
>>> X_scaler.fit_transform(X)
array([[ 1.        , -0.57735027, -0.57735027,  0.69985807,  0.58989097],
       [-1.        , -0.57735027,  1.73205081, -1.51364653, -1.50749915],
       [-1.        ,  1.73205081, -0.57735027, -1.12302807, -0.98315162],
       [-1.        , -0.57735027,  1.73205081, -0.08137885, -0.37141284],
       [ 1.        , -0.57735027, -0.57735027, -0.47199731, -0.6335866 ],
       [ 1.        , -0.57735027, -0.57735027,  1.22068269,  1.20162976],
       [-1.        ,  1.73205081, -0.57735027,  1.48109499,  1.55119478],
       [ 1.        , -0.57735027, -0.57735027, -0.211585  ,  0.1529347 ]])

 

MinMaxScaler() : 정규화

# 2. 정규화

>>> X_scaler = MinMaxScaler()
>>> X = X_scaler.fit_transform(X)
>>> X
array([[1.        , 0.        , 0.        , 0.73913043, 0.68571429],
       [0.        , 0.        , 1.        , 0.        , 0.        ],
       [0.        , 1.        , 0.        , 0.13043478, 0.17142857],
       [0.        , 0.        , 1.        , 0.47826087, 0.37142857],
       [1.        , 0.        , 0.        , 0.34782609, 0.28571429],
       [1.        , 0.        , 0.        , 0.91304348, 0.88571429],
       [0.        , 1.        , 0.        , 1.        , 1.        ],
       [1.        , 0.        , 0.        , 0.43478261, 0.54285714]])