학습 시킬 때 값의 레인지를 맞춰줘야 더 정확한 트레이닝이 가능하다.
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]])
'인공지능 > 데이터 전처리' 카테고리의 다른 글
[데이터 전처리] 데이터 균형 맞추기 SMOTE() (0) | 2024.04.15 |
---|---|
[데이터 전처리] Training/Test용 데이터 분리 train_test_split() (0) | 2024.04.12 |
[데이터 전처리] 레이블 인코딩, 원 핫 인코딩 LabelEncoder(), OneHotEncoder() (0) | 2024.04.12 |
[데이터 전처리] 인공지능 만들기 전 데이터 전처리 (0) | 2024.04.12 |