Programming

IQR과 SMOTE 이해하기

Lucas.Kim 2025. 12. 26. 05:02
반응형

이상치 처리와 불균형 데이터 문제 해결의 핵심 기법

머신러닝 모델의 성능은 데이터 품질에 크게 의존합니다.
그중에서도 실무에서 매우 자주 마주치는 문제가 바로 다음 두 가지입니다.

  • **이상치(Outlier)**가 모델 학습을 방해하는 문제
  • **레이블 불균형(Class Imbalance)**으로 인해 특정 클래스 예측이 무너지는 문제

이번 글에서는 이를 해결하기 위한 대표적인 방법인
IQR(사분위 범위)SMOTE(오버샘플링) 를 차례대로 정리합니다.

1. IQR(Interquartile Range)이란?

1-1. IQR의 개념

IQR(사분위 범위) 은 데이터 분포에서 중앙 50% 구간의 범위를 의미합니다.

  • Q1 (1사분위수): 하위 25%
  • Q3 (3사분위수): 상위 25%
  • IQR = Q3 − Q1

즉, 데이터의 가운데 50%가 얼마나 퍼져 있는지를 수치로 나타낸 값입니다.

1-2. IQR을 이용한 이상치 판단 기준

통계적으로 다음 기준을 많이 사용합니다.

  • 하한값(Lower Bound)
    → Q1 − 1.5 × IQR
  • 상한값(Upper Bound)
    → Q3 + 1.5 × IQR

이 범위를 벗어나는 데이터는 이상치(outlier) 로 간주합니다.

✔️ IQR 기반 이상치 탐지는
평균(mean)과 표준편차보다 극단값에 덜 민감하여
실무에서 매우 안정적인 방법입니다.

1-3. IQR 방식의 장점과 한계

장점

  • 데이터 분포가 정규분포가 아니어도 사용 가능
  • 극단값의 영향을 덜 받음
  • 계산이 단순하고 해석이 직관적

한계

  • 모든 이상치가 “잘못된 데이터”는 아님
    (도메인상 중요한 값일 수도 있음)
  • 다변량 이상치 탐지는 불가능 (단일 변수 기준)

따라서 IQR은 무조건 제거가 아니라, 탐지 기준으로 사용하는 것이 중요합니다.

2. 불균형 데이터(Class Imbalance) 문제

2-1. 불균형 데이터란?

레이블 분포가 한쪽으로 심하게 치우친 데이터 세트를 말합니다.

예시:

  • 정상(0): 96%
  • 이상/사기/불만족(1): 4%

이 경우 모델은 다음과 같이 학습될 위험이 있습니다.

  • “전부 정상(0)”으로 예측해도 정확도는 높음
  • 하지만 정작 중요한 이상(1)을 거의 못 잡음

→ 이것이 Accuracy의 함정입니다.

2-2. 불균형 데이터 해결 전략

대표적인 방법은 두 가지입니다.

(1) 언더샘플링(Under-sampling)

  • 다수 클래스 데이터를 의도적으로 줄임
  • 장점: 데이터 균형이 빠르게 맞춰짐
  • 단점: 정보 손실 위험

(2) 오버샘플링(Over-sampling)

  • 소수 클래스 데이터를 증식
  • 장점: 정보 손실 없음
  • 단점: 단순 복제는 과적합 위험

실무에서는 오버샘플링, 특히 SMOTE가 가장 널리 사용됩니다.

3. SMOTE란?

3-1. SMOTE 정의

SMOTE(Synthetic Minority Over-sampling Technique)
소수 클래스 데이터를 단순 복제하지 않고,
새로운 가짜 데이터(Synthetic Sample)를 생성하는 오버샘플링 기법입니다.

“사기 데이터를 정상 데이터 개수만큼 뻥튀기”
→ 정확히 말하면 기존 소수 클래스 사이를 보간하여 생성

3-2. SMOTE가 필요한 이유

불균형 데이터에서 단순 복제 방식의 문제점은 다음과 같습니다.

  • 동일한 샘플이 반복 등장
  • 결정 경계가 지나치게 특정 포인트에 맞춰짐
  • 과적합(overfitting) 발생 가능성 증가

SMOTE는 이를 해결하기 위해
소수 클래스의 이웃 데이터를 활용하여 새로운 데이터 생성을 수행합니다.

3-3. SMOTE 동작 원리 (핵심)

  1. 소수 클래스 샘플 하나를 선택
  2. 가장 가까운 이웃(KNN) 중 하나 선택
  3. 두 점 사이를 선형 보간
  4. 새로운 가상 샘플 생성

4. IQR과 SMOTE의 실무적 조합 전략

실무에서 자주 쓰이는 흐름은 다음과 같습니다.

  1. IQR로 이상치 탐지
    • 명백한 오류 데이터 제거 또는 수정
  2. SMOTE로 학습 데이터 균형 보정
    • 소수 클래스 학습 강화
  3. ROC-AUC, Recall, F1 중심 평가
    • Accuracy 단독 사용 지양

특히 사기 탐지, 이상 거래, 고객 불만 예측과 같은 문제에서는
SMOTE + 트리 기반 모델(XGBoost, LightGBM)이 매우 강력합니다.

마무리 요약

  • IQR
    → 이상치를 “제거”하기 위한 도구가 아니라
    이상치를 합리적으로 판단하기 위한 기준
  • SMOTE
    → 불균형 데이터에서
    → 소수 클래스 학습을 강화하는 대표적인 오버샘플링 기법

두 기법 모두 모델 성능 이전에 데이터 품질을 높이는 핵심 전처리 단계입니다.
머신러닝 성능이 잘 나오지 않을 때,
모델보다 먼저 데이터 분포와 레이블 균형을 의심하는 습관이 중요합니다.

반응형