Stats & AI tech blog - '일단 시도함'

[ML/DL] SMOTE 기법 본문

Statistics & AI/Classification

[ML/DL] SMOTE 기법

justdoit ok? 2024. 2. 28. 16:13

1. SMOTE(synthetic minority oversampling technique)란?

데이터 불균형을 해결하기 위해 소수 범주의 개체 수를 늘리는 오버샘플링(Oversamping)기법 중 하나이다.

기존 Oversampling기법과는 달리 데이터를 랜덤복원추출로 생성하지 않고, KNN기반으로 소수 범주의 데이터들을 적절하게 조합하여 새로운 데이터를 만들어 낸다.

https://www.kaggle.com/rafjaa/resampling-strategies-for-imbalanced-datasets

 

 

 

2. SMOTE 절차

  1. 소수 범주(minority class)의 데이터 하나를 선택한다.
  2. 소수 범주 중에서 해당 데이터와 가까운 k개를 선택한다.
  3. 관측치들 간의 거리를 계산한다.
  4. 랜덤하게 선택된 0~1 사이의 값을 곱한다.
  5. 직선 위에 새로운 데이터를 생성한다.

https://data-miner-gon.tistory.com/203

 

 

 

3. SMOTE 한계점

 - 실제 소수 범주의 특성을 온전하게 반영하지 않을 수 있다.

 - 소수 범주(minority class)와 다수 범주(majority class)가 겹치는 문제가 발생할 수 있어 노이즈가 생긴다.

 

 

 

* R 예제는 아래 게시글 참고

2024.02.28 - [R] - [R] SMOTE 기법으로 데이터 불균형 처리