- 알고리즘에 따라서 스케일에 영향을 받을 수도 않받을 수도 있음.(특성 간의 영향)
- 영향받는 알고리즘: 경사하강법(gradient descent), K-최근접 이웃
- 영향을 않받는 알고리즘: 결정트리와 랜덤 포레스트
- 대부분의 머신 러닝과 최적화 알고리즘은 특성의 스케일이 같을 때 훨씬 성능이 좋다.
- 최적화 알고리즘
- 1) 정규화(normalization)
- [0, 1]범위에 맞추어 사용
- min-max scaling
- 단점: 데이터셋에 비정상적으로 아주 큰 값이나 아주 작은 값이 들어 있을 때 다른 샘플들을 좁은 구간에 촘촘하게 모아 버림
- 2) 표준화(standardization)
- 경사 하강법같은 최적화 알고리즘에서 널리 사용.
- 특성의 평균 0에 맞추고 표준편차를 1로 만들어 정규분포와 같은 특징을 가지도록 설계
- 이상치 정보가 유지되기에 아주 큰 값이나 / 아주 작은 값에 영향을 덜 받는다.
- 3) RobustScaler
- 이상치가 많이 포함된 작은 데이터셋을 다룰 때 특히 도움.
- 극단적인 값과 이상치에 영향을 덜 받는다.
- 과대적합(overfitting)이 되기 쉽다면, RobustScaler가 도움.
- 중간값(q2: 50%) 값을 빼고 1사분위(q1: 25%)와 3사분위(q3: 75%)의 차이로 나누어 데이터 스케일을 조정
- 1) 정규화(normalization)
'Machine Learning with Python' 카테고리의 다른 글
05_Data preprocessing: 누락된 데이터 다루기(범주형) (0) | 2023.01.01 |
---|---|
04_Data preprocessing: 누락된 데이터 다루기(숫자) (0) | 2023.01.01 |
02_머신러닝 with 분류모델(k-neighbor) (0) | 2022.12.02 |
01_머신 러닝 개념 (0) | 2022.12.02 |
3-3-B_규제(regularization) (0) | 2022.08.23 |