Thief of Wealth
Published 2019. 8. 21. 10:29
Scaler 의 종류 개발/ML+ Data Science

https://mkjjo.github.io/python/2019/01/10/scaler.html


스케일링의 종류


Scikit-Learn에서는 다양한 종류의 스케일러를 제공하고 있다. 그중 대표적인 기법들이다.

 종류설명
1StandardScaler기본 스케일. 평균과 표준편차 사용
2MinMaxScaler최대/최소값이 각각 1, 0이 되도록 스케일링
3MaxAbsScaler최대절대값과 0이 각각 1, 0이 되도록 스케일링
4RobustScaler중앙값(median)과 IQR(interquartile range) 사용. 아웃라이어의 영향을 최소화



1. StandardScaler

평균을 제거하고 데이터를 단위 분산으로 조정한다. 그러나 이상치가 있다면 평균과 표준편차에 영향을 미쳐 변환된 데이터의 확산은 매우 달라지게 된다.따라서 이상치가 있는 경우 균형 잡힌 척도를 보장할 수 없다.



2. MinMaxScaler

모든 feature 값이 0~1사이에 있도록 데이터를 재조정한다. 다만 이상치가 있는 경우 변환된 값이 매우 좁은 범위로 압축될 수 있다.즉, MinMaxScaler 역시 아웃라이어의 존재에 매우 민감하다.



3. MaxAbsScaler

절대값이 0~1사이에 매핑되도록 한다. 즉 -1~1 사이로 재조정한다. 양수 데이터로만 구성된 특징 데이터셋에서는 MinMaxScaler와 유사하게 동작하며, 큰 이상치에 민감할 수 있다.



4. RobustScaler

아웃라이어의 영향을 최소화한 기법이다. 중앙값(median)과 IQR(interquartile range)을 사용하기 때문에 StandardScaler와 비교해보면 표준화 후 동일한 값을 더 넓게 분포 시키고 있음을 확인 할 수 있다.

IQR = Q3 - Q1 : 즉, 25퍼센타일과 75퍼센타일의 값들을 다룬다.


결론적으로 모든 스케일러 처리 전에는 아웃라이어 제거가 선행되어야 한다.

또한 데이터의 분포 특징에 따라 적절한 스케일러를 적용해주는 것이 좋다.










profile on loading

Loading...