피드로 돌아가기
Dev.toAI/ML
원문 읽기
SMOTE 맹신 금지, 240회 실험으로 증명한 클래스 불균형 해결책
Everyone Says SMOTE. I Ran 240 Experiments to Find Out if That's True.
AI 요약
Context
ML 튜토리얼의 관습적인 SMOTE 적용 방식에 대한 의구심. 데이터 불균형 해결을 위해 별도 검증 없이 샘플링 전략을 사용하는 관행. 모델 성능에 미치는 실질적 영향력 측정 필요성.
Technical Solution
- Logistic Regression, Random Forest, XGBoost, KNN 4종 분류기와 SMOTE, ADASYN, Random Undersampling 등 4종 샘플링 전략 조합
- Credit Card Fraud, Mammography, Phoneme 3종 데이터셋 기반의 5-fold cross validation 수행
- 단순 AUC-ROC 지표의 한계를 극복하기 위해 F1-score와 MCC(Matthews Correlation Coefficient)를 평가지표로 도입
- Friedman test와 Wilcoxon signed-rank test를 통한 결과의 통계적 유의성 검증
- PostgreSQL 기반의 실험 결과 저장 및 Streamlit 대시보드를 통한 결과 시각화 구조
Impact
- Credit Card Fraud 데이터셋에서 Logistic Regression 적용 시 SMOTE 사용 후 F1-score 0.7263에서 0.1499로 급락
- Random Forest 사용 시 샘플링 없이 F1 0.8588을 기록했으나 Random Undersampling 적용 시 0.1157로 하락
- Random Undersampling 적용 시 AUC-ROC는 0.9777로 상승했으나 MCC는 0.2325로 낮게 측정
- Friedman test 결과 모든 데이터셋에서 p=0.0000으로 통계적 유의성 확인
Key Takeaway
샘플링 전략보다 분류기(Classifier) 선택이 모델 성능에 더 결정적인 영향을 미침. AUC-ROC는 소수 클래스 탐지 능력을 왜곡할 수 있으므로 F1-score나 MCC 같은 엄격한 지표로 검증하는 설계 원칙 필요.
실천 포인트
불균형 데이터 처리 시 SMOTE를 기본값으로 설정하지 말고, F1-score와 MCC 기반으로 샘플링 전략과 모델 조합을 직접 교차 검증할 것