낭만적(?) 일상/파이썬, 데이터분석

데이터 표준화(standardization), 정규화(normalization) 차이점

Soo♥JJeong 2019. 6. 30. 00:30

데이터 표준화와 정규화. 하나씩 알아갈 때는 헷갈리지 않았는데, 막상 분석을 하려고 하니 헷갈린다. 그래서 표준화와 정규화의 공통점과 차이점에 대해 포스팅해보고자 한다.

 

 


표준화(standardization) 정규화(normalization)  
공통점 데이터 rescaling  
정의
&목적
데이터가 평균으로부터 얼마나 떨어져있는지 나타내는 값으로, 특정 범위를 벗어난 데이터는 outlier로 간주, 제거  데이터의 상대적 크기에 대한 영향을 줄이기 위해 데이터범위를 0~1로 변환
값의 범위 ±1.96(또는 ±2) 데이터만 선택 0~1
공식

(분모가 표준편차)

(분모가 max값)
파이썬
코드
from scipy import statsdf['new컬럼명'] = stats.zscore(df['Z할 컬럼명']
df = df[df['Z값 넣은 new 컬럼명']. between( -2,2)]
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
df[ : ] = scaler.fit_transform(df[ : ])
코딩 결과 1개 컬럼만 표준화 시킬 수 있음  여러 컬럼을 한꺼번에 정규화 시킬 수 있음 

 

 

지금까지 배운 내용에 의하면, 분석을 할 때는 데이터 표준화를 통해 outlier를 제거하고, 그 다음 데이터 정규화를 하여 상대적크기에 대한 영향력을 줄인 다음 분석을 시작한다. (단, 요구사항이 outlier 제거가 필요없다고 하면 표준화 단계를 안할 수도 있다.)

 

 

각각의 더 자세한 내용은 아래 포스팅을 참고하자~! (클릭시 이동)

 

데이터 표준화(standardization) : https://soo-jjeong.tistory.com/121

데이터 정규화(normalization)   : https://soo-jjeong.tistory.com/122