본문 바로가기
AI_basic/ML

[ML] 데이터 전처리 - SMOTE 오버 샘플링

by hits_gold 2021. 7. 24.
반응형

언더 샘플링과 오버 샘플링

언더샘플링

   - 많은 레이블을 가진 데이터 세트를 적은 레이블을 가진 데이터 세트 수준으로 감소시킴

오버샘플링

   - 적은 레이블을 가진 데이터 세트를 많은 레이블을 가진 데이터 세트 수준으로 증식시킴

 

* 오버 샘플링 방식이 예측 성능상 더 유리한 경우가 많아 주로 사용됨

 

SMOTE(Synthetic Minority Over-sampling Technique)

   SMOTE은 적은 데이터 세트에 있는 개별 데이터들의 K 최근접 이웃을 찾아서 이 데이터와 K개의 이웃들의 차이를 일정 값으로 만들어서 기존 데이터와 약간 차이가 나는 새로운 데이터들을 생성하는 방식입니다.

k 최근접 이웃을 찾아 오버샘플링하는 SMOTE

SMOTE을 구현한 대표적인 파이썬 패키지인 imbalanced-learn은 아나콘다 프롬프트를 관리자 권한으로 실행하고 위와 같은 명령어를 입력하면 자동으로 설치를 진행합니다.

 

 

캐글 신용카드 사기 검출 데이터로 오버 샘플링 해보기

학습 데이터와 테스트 데이터를 나누었을 때

결정 레이블 비율이 위와 같이 불균형하게 나왔습니다.

SMOTE 패키지 적용 결과, 더 많은 수를 가진 결정 레이블의 수에 적은 레이블 수가 증식되어 1:1비율로 오버 샘플링되었습니다.

반응형