1. Class Imbalanced Problem
- 클래스 불균형은 다수 클래스가 소수 클래수의 수보다 월등히 ㅁ낳은 학습 상황을 의미하며
- 클래스 불균형 데이터를 이용해 분류 모델을 학습하면, 분류 성능이 저하되는 문제가 발생함
- IR(Class Imbalanced Ratio)= # of majority class/ # of minority class
2. 성능지표
- 분석의 도메인(목적)에 따라서, 지표를 다르게 해석해야 함.
- 중점적으로 봐야하는 성능지표가 있음
많이 사용하는 지표
- G-means: 실제 데이터의 특성상 정확도보다는 제1종 오류와 제2종 오류 중 성능이 나쁜 쪽에 더 가중치를 주는 지표
- F1 measure(정밀도, 재현율): 불량에 관여하는 지표인 정밀도와 재현율만 고려하는 지표
정밀도(precision)=TP/(FP+TP) : 분류 모형이 불량을 진단하기 위해 얼마나 잘 작동했는 지 보여주는 지표
재현율(Recall)=TP/(FN+TP) : 불량 데이터 중 실제로 불량이라고 진단한 제품의 비율(진단 확률)
- AUC
실제 데이터의 대표적인 특성
1) 불량(이상)데이터를 탐지하는 것이 중요함
2) 이러한 불량 데이터는 매우 소수의 데이터임
3. 해결방법
- Resampling method
- Over sampling
- Under sampling
- Hybrid resampling
- Cost-sensitive learning: Class의 오분류에 대한 cost의 가중치를 조절하여 학습하는 방법
그 외 기법들
1) Over Sampling
- Random Over Sampling
- SMOTE(Synthetic Minority Over-sampling technique): 소수의 데이터의 sample에 KNN을 적용 후, 샘플과 이웃간의 사이에 random 하게 데이터 생성
- BLSMOTE(Borderline SMOTE): Borderline에 있는 data는 class imbalance prob에 큰 영향을 미친다고 판단하여-> 해당 dataset에만 SMOTE 적용
- DBSMOTE(DBSCAN SMOTE): DBSCAN cluster 생성 후, cluster 내에서 SMOTE 적용
단점
- 데이터마다 성능 편차가 심하며, minority 데이터에 대하여 over-generalization되는 경향이 있음
2) Under Sampling
- Random Under Sampling
- Tomek Links: Majority data와 Minority data의 거리가 근접해 있을 때, majority data를 제거
- EasyEnsemble: Majority data와 Minority data를 동일 수 만큼 random sampling-> 추출된 데이터를 classifier를 통해 학습 -> k번 반복
- BalancedCascade: EasyEnsemble과 같이 데이터를 N번 random sampling후 학습
장점
- 학습에 필요하지 않은 데이터를 제거함으로써 학습 속도 향상을 가져올 수 있음
단점
- Decision boundary 부근에 있는 데이터 제거했을 때, 학습에 악영향 끼칠 수 있음
3) Hybrid resampling 기법
- SMOTE + Tomek Link
- SMOTE-IPF
- DBSM