본문 바로가기

머신러닝

Scaling 방법 선택하기

Scaling 종류

 

1. Standardization (표준화)

개념 : 데이터 평균을 0, 분산을 1로 만들는 scaling

코드 : 사이킷런의 StandardScaler 를 사용

특징 : 이상치에 영향을 받으며 기존 분포를 정규분포로 변환시킨다. 데이터 분포가 정규분포와 거리가 멀거나 이상치가 많은 경우 기존 데이터의 특징을 잃을 수 있다.

 

 

 

2. Normalization, Min-Max Scaling (정규화, 최소-최대)

개념 : 데이터 값을 0 ~ 1 사이로 변환하여 상대적 범위를 공통 척도로 통일 (ex. 키 1cm, 나이 1살 범위통일)

코드 : 사이킷런의 MinMaxScaler 를 사용

특징 : 기존 분포를 유지하여 분포를 그대로 유지하고 

 

 

 

 

3. Robust Scaling (로버스트) 

개념 : 중앙값 = 0, IQR = 1로 만들어 scaling

코드 : 사이킷런의 RobustScaler 를 사용

특징 : 평균, 표준편차, 최대/최소 값이 아닌 사분위를 사용하여 이상치 영향을 거의 받지 않고 범위가 다른 2개 scaling보다 넓게 나타난다. 

 

 

 

 

머신러닝 Scaling 적용시 주의사항

 

1. Scaling 대상에서 종속변수는 제외

2. Scaling 전에 train set, test set 을 사전에 분리