반응형
Python Scaling 방법 정리
/* 2017.8.27 by. 3months */
머신러닝에서 데이터를 모델에 트레이닝할 때, 일반적으로 데이터를 Scaling 해서 사용한다. Scaling을 통해 데이터의 Scale을 맞추면 Weight의 scale도 일관성 있도록 맞출 수 있을 것이다.
MinMax Scaling은 최댓값 = 1, 최솟값 = 0으로 하여, 그 사에 값들이 있도록 하는 방법이다.
즉 데이터 X의 scaling된 값 Xscale은 아래와 같다.
Xscale = (X-Xmin) / (Xmax-Xmin)
from sklearn.preprocessing import MinMaxScaler a = [[10], [9], [8], [6], [2]] scaler = MinMaxScaler(feature_range=(0,1)) a = scaler.fit_transform(a) print(a)
결과
[[ 1. ] [ 0.875] [ 0.75 ] [ 0.5 ] [ 0. ]]
StandardScaling은 평균=0과 표준편차=1이 되도록 Scaling 하는 방법이다. 이는 표준화라고도 부른다.
Xscale = (X-X_mean) / Xstd
from sklearn.preprocessing import StandardScaler a = [[10], [9], [8], [6], [2]] scaler = StandardScaler() a = scaler.fit_transform(a) print(a) print(a.mean()) print(a.std())
결과
[[ 1.06066017] [ 0.70710678] [ 0.35355339] [-0.35355339] [-1.76776695]] 0.0 1.0
반응형
'Tools > Python' 카테고리의 다른 글
Python - 강화학습 Q-learning on Non-deterministic World (1) | 2017.09.19 |
---|---|
Python - 강화학습 Q-Learning 기초 실습 (0) | 2017.09.18 |
Spyder IDE를 anaconda virtual environment에서 실행하는 법 (0) | 2017.08.03 |
Python - 선형회귀분석 (& 교호작용을 고려한 선형회귀분석) (0) | 2017.06.29 |
주피터 노트북 팁 1 - 단축키, 변수 출력, 도큐먼트 찾기 (0) | 2017.04.03 |