Imbalanced Dataset이란?

불균형 데이터셋(imbalanced dataset)은 관심 있는 결과가 드문 곳이라면 어디서나 흔합니다. 이탈, 파산, 결함, 사기가 그 예입니다. imbalanced-learn 같은 라이브러리에는 이런 데이터로 학습할 때 쓰는 표준 기법이 모여 있습니다.

CUBIG의 UCI Iranian Churn 실험(2026년 10월)을 보면 그 규모를 알 수 있습니다. 평가 세트의 고객 630명 가운데 이탈 고객은 99명이었습니다. 모델 설정을 바꾸지 않은 상태에서 로지스틱 회귀는 데이터 준비 전에 이 가운데 42명을, 준비 후에 78명을 찾아냈고, 잘못된 경보는 8건에서 41건으로 늘었습니다.

팀이 불균형을 다루는 일반적인 방법은 다음과 같습니다.

  • 학습 데이터에서 소수 클래스 예시를 추가하거나 다수 클래스 예시를 제거하는 리샘플링
  • 학습 중 희귀 클래스의 오류에 더 큰 비용을 매기는 클래스 가중치
  • 기본값을 그대로 쓰지 않고 업무에 맞게 정하는 결정 임곗값
  • 희귀 사례의 예시를 더 수집하거나 준비하는 방법

불균형 데이터셋에서는 왜 정확도가 오해를 부르나요?

  • 양성 사례가 2%라면 매번 음성으로 예측하는 모델도 정확도가 98%이지만, 아무것도 찾아내지 못합니다.
  • 정밀도와 재현율, F1 점수는 희귀 클래스를 직접 들여다봅니다.
  • 혼동 행렬을 보면 희귀 사례를 몇 건 찾았고 그와 함께 잘못된 경보가 몇 건 나왔는지 알 수 있습니다.

AI 업무에서 불균형 데이터셋은 어디서 문제가 되나요?

어떤 해결책을 쓰든 오류의 구성이 바뀝니다. 희귀 사례를 더 많이 찾으면 보통 잘못된 경보도 늘어납니다. CUBIG의 데이터 준비 실험 5건 요약에 나온 비교도 이를 보여 줍니다. 평가는 리샘플링한 평가 데이터가 아니라 실제 클래스 비율을 유지한 레코드로 해야 합니다. 결과는 업무에서 놓친 사례 하나와 잘못된 경보 하나에 각각 어떤 비용이 드는지를 기준으로 판단합니다.

자주 묻는 질문

어느 정도 비율이면 불균형 데이터셋인가요?

정해진 기준은 없습니다. 희귀 클래스가 너무 작아 모델이 이를 무시해도 점수가 잘 나올 때 불균형이 문제가 되며, 대개 10~20% 아래에서 이런 일이 자주 생깁니다.

테스트 세트도 균형을 맞춰야 하나요?

아닙니다. 리샘플링은 학습 데이터에만 적용합니다. 평가 데이터가 실제 클래스 비율을 유지해야 사용 환경에서 모델이 사례를 만나는 방식이 결과에 반영됩니다.

오버샘플링은 과적합을 일으키나요?

그럴 수 있습니다. 같은 소수 클래스 예시를 반복하면 모델이 그 예시를 외울 수 있습니다. 그래서 팀은 클래스 가중치나 다양한 예시를 쓴 결과와 비교하고, 손대지 않은 평가 데이터로 결과를 확인합니다.