Recent Posts
Stats & AI tech blog - '일단 시도함'
[ML/DL] Imbalanced Data (불균형 데이터 처리) 본문
1. 불균형 데이터란?
우리가 관심있어하는 종속변수가 범주형 데이터일 때, 범주 항목의 비율이 불균형한 데이터를 말한다.
관심있는 비정상 관측치가 정상 관측치보다 적은 경우가 실무에서는 굉장히 많다.
- 임상 데이터에서 특정 질병의 정상 / 비정상 환자
- 제조업에서 제품의 양품 / 불량품
- 통신업에서 유지 / 이탈 고객
- 금융업에서 정상 / 비정상 거래
많은 비율을 차지하는 범주를 '다수 범주 (majority class)',
적은 비율을 차지하는 범주를 '소수 범주 (minority class)' 라고 한다.
2. 불균형 데이터 문제점
불균형 데이터로 훈련한 모델은 소수 범주를 제대로 분류하지 못할 가능성이 크다.
이런 경우 애초에 정상 데이터가 많으니까 모두 정상으로 분류하더라도 높은 정확도를 가지게 된다. (비정상은 하나도 분류하지 못하였는데도 불구하고!)
또, 훈련데이터에서 소수집단을 분류한다고 하더라도 소수집단 관측치 개수가 적을 경우 모집단의 특성을 대표하지 못하기 때문에 모델의 과적합(overfitting) 문제가 발생할 수 있다.
3. 불균형 데이터 처리 방법
- 샘플링 기법
- 과소표집(Undersampling): 다수 클래스의 샘플을 제거하여 클래스 간 균형을 맞추는 방법
- 과대표집(Oversampling): 소수 클래스의 샘플을 복제하거나 합성하여 데이터를 증가시키는 방법
ex) SMOTE(Synthetic Minority Over-sampling Technique) - 복합 샘플링(Combined Sampling): 과대표집과 과소표집을 조합하여 불균형을 처리
- 가중치 조정(Weighting)
모델 학습 시 소수 클래스의 가중치를 높여서 불균형 보완할 수 있다. - 알고리즘 변경
일부 알고리즘은 불균형 데이터에 민감하기 때문에 불균형에 덜 민감한 알고리즘을 사용하거나 파라미터를 조정하여 불균형을 보완한다. - 재샘플링(Resampling)
불균형 데이터셋에서 효과적인 교차 검증을 위해 재샘플링 기법을 사용한다.
ex) 계층적 샘플링(stratified sampling) : 클래스 간 분포를 유지하면서 train&test data set 생성 - 이상치 처리(Outlier Handling)
이상치는 불균형 문제를 악화시킬 수 있으므로 이를 처리하거나 제거하여 모델의 성능을 개선 - 특성 선택 및 추출(Feature Selection and Extraction)
중요한 특성에 더 집중하고 불필요한 특성을 제거하여 모델의 복잡성을 감소시킬 수 있다. - 앙상블 기법(Ensemble Techniques)
여러 모델을 결합하여 불균형을 처리하고 예측 성능을 향상시키는 기법이다. - Cost-sensitive Learning
손실 함수에 클래스당 비용을 도입하여 모델이 소수 클래스를 더 잘 고려하도록 한다.
* 참고 자료
https://machinelearningmastery.com/framework-for-imbalanced-classification-projects/
'Statistics & AI > Classification' 카테고리의 다른 글
[ML/DL] SVM, Support Vector Machine (서포트 벡터 머신) (0) | 2024.05.24 |
---|---|
[ML/DL] SMOTE 기법 (0) | 2024.02.28 |
[통계] ROC Analysis (ROC curve, AUC, Optimal cut-off value) (0) | 2024.01.15 |
[ML/DL] Decision Tree Algorithm (의사결정나무 알고리즘) (0) | 2024.01.10 |
[ML/DL] Decision Tree (의사결정나무) (0) | 2024.01.10 |