현실의 분류 문제는 대부분 **불균형(imbalanced)**하다. 사기 거래는 0.1%, 질병 양성은 2%, 이탈 고객은 5%처럼 소수 클래스가 정작 우리가 잡고 싶은 대상이다. 이런 데이터를 그대로 학습하면 모델은 "전부 다수 클래스"라고 찍기만 해도 높은 정확도를 얻어 버린다.
오늘은 불균형이 왜 함정인지, 그리고 리샘플링(오버/언더샘플링), SMOTE, 클래스 가중치로 대응하는 법과 평가 지표 선택까지 다룬다. MLS-C01에서 자주 출제되는 핵심 영역이다.
양성 2%인 데이터에서 "전부 음성"으로 예측하면 정확도는 98%다. 하지만 잡고 싶은 양성은 하나도 못 잡았다. 이것이 **정확도 역설(accuracy paradox)**이다.
| 지표 | 정의 | 불균형에서의 의미 |
|---|---|---|
| Accuracy | (TP+TN)/전체 | 다수 클래스에 편향, 오해 유발 |
| Precision | TP/(TP+FP) | 양성 예측 중 진짜 비율 |
| Recall | TP/(TP+FN) | 실제 양성 중 잡은 비율 |
| F1 | precision·recall 조화평균 | 둘의 균형 |
| AUC-PR | 정밀도-재현율 곡선 면적 | 불균형에서 ROC보다 민감 |
💡 관련 이론: 불균형 데이터에서는 **ROC-AUC보다 PR-AUC(정밀도-재현율 곡선)**가 더 유용하다