Statistics & AI/Classification
[ML/DL] SMOTE 기법
justdoit ok?
2024. 2. 28. 16:13
1. SMOTE(synthetic minority oversampling technique)란?
데이터 불균형을 해결하기 위해 소수 범주의 개체 수를 늘리는 오버샘플링(Oversamping)기법 중 하나이다.
기존 Oversampling기법과는 달리 데이터를 랜덤복원추출로 생성하지 않고, KNN기반으로 소수 범주의 데이터들을 적절하게 조합하여 새로운 데이터를 만들어 낸다.
2. SMOTE 절차
- 소수 범주(minority class)의 데이터 하나를 선택한다.
- 소수 범주 중에서 해당 데이터와 가까운 k개를 선택한다.
- 관측치들 간의 거리를 계산한다.
- 랜덤하게 선택된 0~1 사이의 값을 곱한다.
- 직선 위에 새로운 데이터를 생성한다.
3. SMOTE 한계점
- 실제 소수 범주의 특성을 온전하게 반영하지 않을 수 있다.
- 소수 범주(minority class)와 다수 범주(majority class)가 겹치는 문제가 발생할 수 있어 노이즈가 생긴다.
* R 예제는 아래 게시글 참고
2024.02.28 - [R] - [R] SMOTE 기법으로 데이터 불균형 처리