불균형 데이터 Imbalanced Data
불균형 데이터(Imbalaced Data)란?
레이블이 범주형인 분류 문제에서 도수 차이가 매우 커 불균형하게 나타나는 상태를 말합니다.
불균형 데이터의 문제점
불균형 데이터를 그대로 예측하게 된다면 과적합의 문제가 발생합니다.
예를들어 1000개의 데이터에서 1이 95개, 0이 5개 존재합니다. 이 데이터가 모두 1로 예측을 한다 하더라도 정확도는 95%의 높은 정확도가 나옵니다.
그러면 예측을 다 1로 해! 그래도 정확도가 95%잖아! -> 쓰레기 분석
만약에 이러한 데이터가 신용카드 사기 예측이나 암환자 발생률이라 하면 큰 문제가 발생할수도 있겠죠?
따라서 오분류율을 최대한 줄이기 위해 노력해야합니다.

불균형 데이터 해결책
1. 언더샘플링(Undersampling)
언더샘플링은 데이터의 분포가 높은 값을 낮은 값으로 맞춰주는 기법입니다.
언더샘플링은 가지고있는 정보의 데이터를 줄이기 때문에 정보 손실 多
1) Random Undersampling : 말 그래도 무작위로 샘플링 과정을 거치면서 분포가 높은 클래스의 값은 조건없이 삭제시킨다. 조건 없이 삭제시키기 때문에 작업 속도가 빠릅니다.
2) Tomek Links : 클래스가 다른 두 데이터가 붙어있으면 토멕 링크가 되며, 토멕 링크에서 클래스가 많은쪽에 속하는 데이터이면 삭제하는 방법이며 경계선을 다수의 클래스 쪽으로 밀어 붙이는 효과가 있다.
3) CNN(Condesed Nearest Neighbor) : 최근접 클래스 분포 데이터를 삭제하면서 샘플링하는 기법입니다.
4) OSS(one-sided selection) : 위 2번(Tomek Links)와 3번(CNN)을 섞은 방법이다.
이 외에도 ENN(Edited Nearest Neighbors), Neighbourhood Cleaning Rule가 있습니다.
2. 오버샘플링(Oversampling)
오버샘플링은 언더샘플링과 반대로 데이터의 분포가 낮은 값을 높은 값으로 맞춰주는 기법입니다.
1) Random Oversampling : Random Undersampling과 반대로 소수의 클래스의 데이터를 반복해서 넣는 것입니다.
2) SMOTE(Synthetic Minority Over-sampling Technique) : 대표적인 오버샘플링 기법 중 하나로, 낮은 비율로 존재하는 클래스의 데이터를 KNN기법을 활용하는 방법이다. 랜덤으로 늘리는 랜덤오버샘플링보다는 과적합 발생이 적고 쉽기 때문에 많이 쓰는 방법이다.
3) Borderline-SMOTE : 클래스와의 경계에 있는 샘플들을 늘리면서 분류하는 방법입니다.
4) ADASYN(adpative synthetic sampling approach) : ADASYN방법은 분포가 작은 클래스 데이터와 그 데이터와 가장 가까운 무작위의 K개의 데이터 사이에 가상의 직선을 그려서 직선상에 존재하는 가상의 분포가 작은 클래스 데이터를 생성하는 것을 말합니다.
'Data Analysis > ML' 카테고리의 다른 글
[ML] 지도학습과 비지도학습 (0) | 2022.11.08 |
---|
댓글