/ EXITEM, TIL

Imbalanced_data

Imbalanced data 다루는 방법

머신러닝을 다룰 때 학습 데이터에서 발생하는 Imbalanced data를 다루는 방법

발생 및 해결해야하는 이유

학습 데이터에서 각 클래스 레이블의 분포가 불균형(Imbalanced)하게 분포되어 있을 때 발생합니다.
불균형 데이터셋에서는 모델이 소수 클래스를 잘 예측하지 못하므로 데이터를 처리해서 잘 예측할 수 있도록 해야합니다. 예를 들어, 어떤 이진 분류 문제에서 어떤 클래스는 다른 클래스보다 매우 적은 샘플을 가지고 있는 경우가 있습니다.
상황을 예로 들면 암 진단 문제에서 양성 샘플이 매우 적은 경우, 모델은 거의 항상 음성 클래스를 예측하려고 할 수 있습니다.

해결 방법

  1. 샘플링 기법
    • 데이터 샘플링을 조절하는 방법으로 소수 클래스 샘플 수를 늘리거나 다수 클래스 샘플 수를 줄이는 것입니다. 방법은 언더샘플링, 오버샘플링이 존재합니다.
    • 언더샘플링은 다수 클래스의 샘플 수를 줄여 적은 데이터의 분포에 맞춥니다.
    • 오버샘플링은 소수 클래스의 샘플 수를 증가 시켜 다수 클래스의 샘플 분포에 맞춥니다.
    • 클래스 변경이라고 하기도 합니다.
  2. 가중치 부여
    • 학습 알고리즘에서 소수 클래스를 더 중요하게 취급할 수 있도록 가중치를 부여할 수 있습니다.
    • 이를 통해 소수 클래스에 더 많은 비중을 두어 학습이 더 효과적으로 이루어질 수 있습니다.
  3. 앙상블 방법
    • 여러 모델을 학습하여 그 결과를 결합함으로써, 소수 클래스의 샘플을 보다 정확하게 분류할 수 있습니다.

모델 관련 고려 사항

  1. 평가 방법
    • 정밀도, 재현율, F1 점수 등의 다른 지표를 사용해야 합니다.
  2. 데이터 전처리
  3. 독립 변수 선택 및 추출
  4. 하이퍼파라미터 튜닝

주의사항

모든 기술의 적합한지에 대한 것은 데이터셋의 특성, 문제의 복자도, 모델의 종류 등 다양한 요인을 고려해야합니다. 따라서, 적절한 기술을 선택하기 위해서는 데이터셋을 충분히 이해하고 해당 문제에 대한 이해도가 필요합니다.

예를 들어, 데이터셋이 매우 크다면 언더샘플링보다는 오버샘플링이 더 효과적일 수 있습니다.