인공지능/머신러닝
머신러닝 - feature scaling
해피밀세트
2020. 5. 9. 17:40
feature scaling
- 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업
- 비교해야할 데이터의 기준이 서로 다른 경우에 같은 기준으로 만들어서 비교한다.
- 방법 : 표준화(standardization), 정규화(Normalization)
- 값이 잘 안나오면 두개를 각각 해본다.
표준화 (standardization)
- 데이터의 평균이 0이고 표준편차가 1인 정규분포를 가진 값으로 변환한다.
- (x - 평균) / 표준편차
- 파이썬 : sklearn.preprocessing.StandardScaler
정규화 (Normalization)
- 서로 다른 피처의 크기를 통일하기 위해 크기를 변환해주는 작업
- 최소 0 ~ 최대 1의 값으로 변환한다.
- (x - min(x)) / (max(x) - min(x))
- 파이썬 : sklearn.preprocessing.MinMaxScaler
파이썬으로 feature scaling 하는 방법
1. 공식으로 feature scaling
x = [10,2,50,1,4,3] | |
표준화 | 정규화 |
s = Series(x) |
s = Series(x) (s - s.min()) / (s.max() - s.min()) |
![]() |
![]() |
2. sklearn.preprocessing로 feature scaling
x = [10,2,50,1,4,3] | |
표준화 | 정규화 |
from sklearn.preprocessing import StandardScaler x = np.array(x) # 1차원 배열에서는 수행할 수 없다. std.fit_transform(x.reshape(6,1)) std.transform(x.reshape(6,1)) |
from sklearn.preprocessing import MinMaxScaler x = np.array(x)
normal.fit_transform(x.reshape(6,1)) normal.transform(x.reshape(6,1)) |
![]() |
![]() |
3. sclae로 feature scaling
- array의 모양을 맞추는 작업을 생략해도 된다.
x = [10,2,50,1,4,3] | |
표준화 | 정규화 |
from sklearn.preprocessing import scale x = np.array(x) scale(x) |
from sklearn.preprocessing import minmax_scale x = np.array(x) minmax_scale(x) |
![]() |
![]() |
반응형