본문 바로가기

MachineLeaning

Class Imbalanced Problem

Creditcard.ipynb
0.42MB
DataImbalanced.pdf
1.78MB

Class Imbalanced Problem - 모델이 소수의 데이터를 무시하는 현상

 

majority class 의 수가 minority class 의 수보다 월등히 많은 상황.

의료, 반도체, 보험, 텍스트 등 여러 분야의 문제

 

Class Imbalanced Problem 이 있는 Classificaion data 문제에서는 

Accuracy 와 같은 지표는 그 의미가 현저하게 줄어든다.

따라서 G-Mean 이나 F1-Score 같은 measure 를 사용한다.

 

G - Mean : 제 1종 오류와 제 2종 오류 중 나쁜쪽에 더욱 가중치를 준다.

 

F1 - Score : 불량에 관여하는 지표인 정밀도와 재현율만을 고려 

# 제 1종 오류 : 귀무가설이 참인데 기각하는 경우 alpha 로 그 확률값을 표현

# 제 2종 오류 : 귀무가설이 거짓인데 기각하지 않는 경우 beta ''

 

Resampling method

 

1. OverSampling : 소수의 데이터를 부풀리는 방법

 

Random OverSampling :  소수의 데이터를 random 하게 sampling 시켜 기존 데이터와 합치는 방법.

SMOTE ( Synthetic Minority Over - fitting Techniques ) : 소수의 데이터의 sample 에 KNN 을 적용하여 샘플과 이웃 사이에 random 하게 데이터를 생성

BLSMOTE ( Borderline SMOTE )

Borderline 에 있는 데이터는 class imbalanced problem 에 큰 영향을 미친다고 가정하여 해당 dataset에 만 SMOTE 적용.

DBSMOTE ( DBSCAN SMOTE )

DBSCAN cluster 생성 후, cluster 내에서 SMOTE 적용 ( DBSCAN : Outlier 를 식별하여 SMOTE 적용하지 않는다. )

 

2. UnderSampling : 다수의 데이터를 축소하는 방법

 

Random UnderSampling : Random 하게 데이터를 UnderSampling ( Majority data ) 

Tomek Links : Majority data 와 Minority data 의 거리가 근접한 경우 Majority data 제거

Easy Ensemble : Bootstraping (복원 추출)을 할 때 Majority, Minority 동일하게 추출

Balance Cascade : Easy Ensemble 과 같은 데이터를 N번 random sampling 후 학습. N-1 번째에 시행 결과에서 올바르게 분류된 Majority Data 를 Undersampling. Undersampling 된 수만큼 Negative data (Majority data) random sampling 으로 추가하여 N번째 학습 진행

 

--단점 : UnderSampling : Decision Boundary 에 있는 데이터 삭제시 악영향 --

 

3. Hybrid resampling

 

SMOTE + Tomek Link : Minority data Oversampling, Majority data Undersampling

 

SMOTE - IPF : SMOTE 의 단점을 지적 (noise, borderline data 가 성능을 저하 시킨다)

 

Iterative Partitioning Filter (IPF) 라는 Ensemble 기반 Noise Filter 를 SMOTE 와 결함

IPF : Cross Validation 으로 여러 모델을 학습하고 평가하여 여러 모델이 오 분류하는 데이터를 Noise 처리.

 

DBSM : DBSCAN 으로 cluster 생성, cluster 중 Majority data cluster, Majority + Minority data cluster 에서 Majority data 를 Undersampling 하는 것. 또한 Minority data 는 SMOTE

 

 

Kaggle 에서 제공하는 신용카드 사기 데이터를 이용하여 class Imbalanced 상태를 보완할 방법을 적용한 후 다시 테스팅 해보았다. 모델은 ( RF, LR, LightGBM 등 여러 모델을 사용)