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) |
반응형
'인공지능 > 머신러닝' 카테고리의 다른 글
나이브베이즈(Naive Bayes) 분류 (0) | 2020.05.12 |
---|---|
사건과 확률 (0) | 2020.05.12 |
혼동행렬 / 정확도 / 정밀도 / 재현율 / F1 점수 (0) | 2020.05.11 |
유방암 데이터 분석하기 (1) | 2020.05.11 |
머신러닝 - 머신러닝 개요 / kNN (0) | 2020.05.08 |