accuracy 함정
1% user가 churn 하면, "아무도 churn 안 한다"고 예측하는 모델이 99% accurate에 0% 유용. class imbalance는 모델 문제가 아니야 — metric 문제야. PR-AUC나 cost-weighted score로 갈아타면 함정이 사라져.
정직한 세 응답
- metric 바꾸기 — PR-AUC, F-beta, recall at fixed precision, expected cost.
- threshold 바꾸기 — 모델은 그대로, cost matrix 존중하는 operating point 고르기.
- sampling 바꾸기 — class weight, majority downsampling, tabular 소수 합성용 SMOTE.
하지 마
fold마다 resample 하는 CV pipeline 없이 naïve oversample 하지 마. train/val split 전에 SMOTE 쓰지 마. 교과서가 그랬다는 이유로 50/50 balance를 추구하지 마. 옳은 balance는 너가 진짜 신경 쓰는 metric을 최소화하는 그거야.
"교과서가 그랬다는 이유로 50/50 balance를 추구하지 마. 옳은 balance는 너가 진짜 신경 쓰는 metric을 최소화하는 그거야." 클래스 불균형 공부하면서 배운 최고의 인사이트입니다. 무조건 소수 클래스를 샘플링 업하든가 ,smote, rose...사용하든가 아무 생각없이 자동으로 설정했어요.(자격증 공부때문에).