본문 바로가기
Data-driven Methodology/DS (Data Science)

[Data Science] 데이터 불균형

by goatlab 2023. 9. 6.
728x90
반응형
SMALL

데이터 불균형

 

편향된 클래스 비율이 포함된 분류 데이터 세트를 불균형이라고 한다. 데이터 세트의 상당 부분을 차지하는 클래스를 메이저 클래스라고 한다. 더 작은 비율을 구성하는 항목은 다수 클래스이다.

 

불균형도 소수 집단 비율
약간 전체 데이터셋의 20~40%
보통 전체 데이터셋의 1~20%
높음 전체 데이터셋의 1%미만

 

대부분의 머신러닝 모델은 클래스 간의 데이터 비율이 비슷한 것이 바람직하다. 데이터 불균형이 크면 메이저 클래스로 치우치게 predict하는 문제가 발생한다.

 

데이터 불균형을 해결하는 방법으로는 크게 다음과 같다.

 

  • 리샘플링 (Resampling)
  • Weighting in Loss Function

 

리샘플링 (Resampling)

 

리샘플링 기법은 클래스별 불균형한 데이터의 수를 맞춰주기 위해 클래스간 sampling을 달리해 학습하는 방법이다. 효과적으로 문제를 해결하는데 어려움이 있으며 다른 문제점을 만들수도 있다.

 

Undersampling for majority class
  • 메이저 클래스의 데이터 일부를 버리는 방식으로 클래스간 데이터 수의 균형을 맞추는 방법이다.
  • 버려진 데이터에서 학습할 수 있는 유용한 정보들을 학습할 수 없는 문제점이 있다.
Oversampling for minority class
  • 마이너 클래스의 데이터를 복원 추출해 클래스간 데이터 수의 균형을 맞추는 방법이다.
  • 모델이 학습해야하는 데이터의 수가 증가하기 때문에 학습 시간이 많이 소요된다.
  • 복원 추출된 데이터가 새로운 데이터가 아니기 때문에 해당 데이터 셋에 오버피팅 될 수 있다.

 

Weighting in Loss Function

 

 

클래스 별로 loss function에 weight를 주는 방식과 sample별로 weight를 주는 방식이다. 마이너 클래스의 데이터 샘플에 더 학습할 수 있도록 loss 값에 weight를 부여하는 방법이다.

 

https://developers.google.com/machine-learning/data-prep/construct/sampling-splitting/imbalanced-data?hl=ko 

 

불균형 데이터  |  Machine Learning  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 불균형 데이터 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 편향된 클래

developers.google.com

 

728x90
반응형
LIST