빅데이터분석기사 필기 불균형 데이터 처리 단원은 불균형 데이터의 문제, 오버 샘플링(랜덤·SMOTE·Borderline-SMOTE·ADASYN)과 언더 샘플링(랜덤·토멕링크·CNN·OSS)의 각 기법 특징이 핵심 출제 영역입니다. 빅데이터분석기사 합격을 위한 불균형 데이터 완전 정복을 지금 확인하세요.
시험 합격 전략 요약
- 오버 샘플링 vs 언더 샘플링의 방향: 오버=소수 클래스 증가 / 언더=다수 클래스 감소
- SMOTE = 소수 클래스 주변에 가상의 데이터 생성 (복사가 아님)
- Borderline-SMOTE = 결정 경계를 따라 합성 / 주변 클래스 50% 이상이 큰 클래스면 DANGER로 판단
- OSS = Tomek links + CNN 동시 수행
- 토멕링크 = 서로 다른 클래스 중 가장 가까이 붙어있는 한 쌍의 데이터
1단원: 불균형 데이터의 이해
초압축 암기 요약
- 불균형 데이터(Imbalanced Data) = 각 변수가 가진 데이터에서 각 집단에 속하는 데이터의 수가 동일하지 않은 상태
- 문제 1: 많은 비율을 가진 집단의 정확도(Accuracy)가 높아지므로 모형의 성능 판별이 어려워짐
- 문제 2: 적은 비율을 가진 집단의 재현율(Recall)이 작아지는 현상 발생
- 해결 방법: 오버 샘플링(소수 클래스 늘리기) / 언더 샘플링(다수 클래스 줄이기)
초보자 이해용 상세 설명
불균형 데이터란?
예를 들어 사기 거래 탐지 모델을 만들 때, 전체 거래 중 정상 거래가 9,900건, 사기 거래가 100건이라면 심한 불균형 상태입니다. 이 경우 모델이 모든 거래를 “정상”으로 예측해도 99%의 정확도가 나오지만, 실제로는 쓸모없는 모델입니다. 이것이 불균형 데이터의 문제입니다.
불균형 데이터로 인한 두 가지 문제
다수 클래스의 정확도(Accuracy)가 높아져 모형 성능 판별이 어려워집니다. 소수 클래스의 재현율(Recall)이 낮아져 중요한 소수 클래스를 제대로 탐지하지 못하는 문제가 생깁니다.
시험 핵심 포인트
- 불균형 데이터 = 집단별 데이터 수가 동일하지 않은 상태
- 문제: 다수 클래스 Accuracy↑ → 모형 성능 판별 어려움
- 문제: 소수 클래스 Recall↓ → 소수 클래스 탐지 어려움
- 해결: 오버 샘플링(소수↑) / 언더 샘플링(다수↓)
2단원: 오버 샘플링(Over Sampling) 기법
초압축 암기 요약
- 오버 샘플링 = 낮은 비율 클래스의 데이터 수를 늘려 불균형 해소. 장점: 정보 손실 없음, 높은 분류 정확도. 단점: 계산량 증가, 노이즈·이상값에 민감
- 랜덤 오버 샘플링(Re-sampling) = 소수 클래스 관측치를 복사(copy)하여 증식
- SMOTE = 소수 클래스 주변에 원본과 다른 가상의 데이터를 생성하여 증식
- Borderline-SMOTE = 두 클래스 간 결정 경계를 따라 합성 데이터 생성. 주변 50% 이상이 큰 클래스면 DANGER 판단 후 SMOTE 적용
- ADASYN = Borderline-SMOTE와 유사하지만 샘플링 개수를 데이터 위치에 따라 다르게 설정
초보자 이해용 상세 설명
① 랜덤 오버 샘플링(Random Over Sampling) = 리샘플링(Re-sampling)
소수 클래스에 속하는 데이터의 관측치를 복사(copy)하여 데이터를 증식시키는 방법입니다. 단순히 기존 데이터를 복사하므로 구현이 쉽지만, 동일한 데이터가 반복되어 과적합 위험이 있습니다.
② SMOTE(Synthetic Minority Oversampling Technique)
소수 클래스에 속하는 데이터 주변에 원본 데이터와 동일하지 않으면서 소수 클래스에 해당하는 가상의 데이터를 생성하여 증식시키는 방법입니다. K 최근접 이웃으로 이웃 데이터를 찾아 새로운 데이터를 합성합니다. 랜덤 오버 샘플링보다 다양성이 높습니다.
③ Borderline-SMOTE
합성 데이터가 두 데이터 사이에 랜덤으로(무작위로) 생성되는 SMOTE와 달리, Borderline-SMOTE는 두 클래스 간의 결정 경계를 따라 합성 데이터를 만드는 방법입니다. 주변 클래스가 50% 이상이 큰 클래스에 속하면 DANGER로 판단하고 SMOTE를 적용합니다.
④ ADASYN(Adaptive Synthetic Sampling)
Borderline-SMOTE와 비슷한 방식이지만 샘플링 개수를 데이터 위치에 따라 다르게 설정하는 방법입니다. 소수 클래스 중에서도 더 어려운 경계 근처의 데이터에 더 많은 합성 데이터를 생성합니다.
시험 핵심 포인트
- 랜덤 오버 샘플링 = 소수 클래스 복사(copy)하여 증식
- SMOTE = 소수 클래스 주변 가상 데이터 생성 (복사 아님)
- Borderline-SMOTE = 결정 경계를 따라 합성 / DANGER 판단 기준: 주변 50% 이상이 큰 클래스
- ADASYN = Borderline-SMOTE + 위치에 따라 샘플링 개수 다르게 설정
- 오버 샘플링 장점: 정보 손실 없음 / 단점: 계산량↑, 노이즈·이상값에 민감
3단원: 언더 샘플링(Under Sampling) 기법
초압축 암기 요약
- 언더 샘플링 = 불균형 데이터에서 높은 비율을 차지하던 클래스의 데이터 수를 줄여 불균형 해소. 장점: 계산 시간 감소. 단점: 정보 손실로 성능 저하 가능
- 랜덤 언더 샘플링 = 다수 클래스에서 랜덤하게(무작위로) 샘플링하여 제거
- 토멕링크(Tomek Links) = 서로 다른 클래스 중 가장 가까이 붙어있는 한 쌍의 데이터 → 다수 클래스 쪽 제거
- CNN(Condensed Nearest Neighbor) = 다수 클래스가 밀집한 데이터 없을 때까지 제거, 대표 데이터만 남김
- OSS(One-side Selection) = Tomek links + CNN 동시 수행
초보자 이해용 상세 설명
① 랜덤 언더 샘플링(Random Under Sampling)
다수의 클래스에 속해 있는 관측치들 중 랜덤하게(무작위로) 샘플링하는 방법입니다. 구현이 단순하지만 중요한 다수 클래스 데이터를 잃을 위험이 있습니다.
② 토멕링크(Tomek Links)
토멕링크란 서로 다른 클래스에 속해 있지만 가장 가까이 붙어 있는 한 쌍의 데이터를 말합니다. 토멕링크를 가진 데이터 쌍들 중 다수의 클래스에 속해 있는 데이터를 삭제하여 언더 샘플링을 수행합니다. 결정 경계를 더 선명하게 만드는 효과가 있습니다.
③ CNN(Condensed Nearest Neighbor)
다수 클래스에 밀집한 데이터가 없을 때까지 데이터를 제거하여 데이터 분포에서 대표적인 데이터만 남도록 하며, 다수 클래스 데이터 포인트와 가장 가까운 데이터가 소수 클래스인 다수 클래스 데이터 외에는 모두 삭제하는 방법입니다.
④ OSS(One-side Selection)
Tomek links와 CNN을 같이 수행하는 방식입니다. Tomek links로 분류 경계에 존재하는 데이터들을 언더 샘플링하는 동시에, CNN으로 다수 클래스가 밀집한 데이터가 없을 때까지 제거하여 분포에서 대표적인 데이터만 남기는 방법입니다.
시험 핵심 포인트
- 랜덤 언더 샘플링 = 다수 클래스에서 무작위 제거
- 토멕링크 = 서로 다른 클래스 중 가장 가까운 한 쌍 → 다수 클래스 제거
- CNN = 대표 데이터만 남길 때까지 다수 클래스 제거
- OSS = Tomek links + CNN 동시 수행 (T + C)
- 언더 샘플링 장점: 계산 시간 감소 / 단점: 정보 손실로 성능 저하
기본 확인문제 5문제
Q1. 다음 중 불균형 데이터(Imbalanced Data)에 대한 설명으로 올바른 것은?
① 각 집단에 속하는 데이터의 수가 동일한 상태이다.
② 다수 클래스의 재현율(Recall)이 낮아지는 문제가 발생한다.
③ 적은 비율을 가진 집단의 재현율(Recall)이 작아지는 현상이 발생한다.
④ 불균형 데이터는 분석 모형에 영향을 주지 않는다.
Q2. 다음 중 SMOTE에 대한 설명으로 올바른 것은?
① 소수 클래스의 관측치를 그대로 복사하여 증식시키는 방법이다.
② 다수 클래스를 랜덤하게 제거하여 균형을 맞추는 방법이다.
③ 소수 클래스 주변에 원본과 다른 가상의 데이터를 생성하여 증식시키는 방법이다.
④ 두 클래스 간의 결정 경계만을 따라 합성 데이터를 생성하는 방법이다.
Q3. 다음 중 토멕링크(Tomek Links)에 대한 설명으로 올바른 것은?
① 소수 클래스 주변에 가상의 데이터를 생성하는 오버 샘플링 기법이다.
② 같은 클래스에 속해 있지만 가장 가까이 붙어 있는 한 쌍의 데이터이다.
③ 서로 다른 클래스에 속해 있지만 가장 가까이 붙어 있는 한 쌍의 데이터이다.
④ 다수 클래스가 밀집한 데이터가 없을 때까지 데이터를 제거하는 방법이다.
Q4. 다음 중 OSS(One-side Selection)에 대한 설명으로 올바른 것은?
① SMOTE와 ADASYN을 동시에 수행하는 방법이다.
② Tomek links와 CNN을 함께 수행하는 방법이다.
③ 랜덤 오버 샘플링과 랜덤 언더 샘플링을 결합한 방법이다.
④ 소수 클래스 주변 50% 이상이 큰 클래스이면 DANGER로 판단하는 방법이다.
Q5. 다음 중 오버 샘플링과 언더 샘플링의 장단점 비교로 올바른 것은?
① 오버 샘플링은 정보 손실이 발생하고, 언더 샘플링은 계산량이 증가한다.
② 오버 샘플링은 정보 손실 없고 분류 정확도 높으며, 언더 샘플링은 계산 시간이 감소한다.
③ 두 기법 모두 정보 손실이 없다.
④ 언더 샘플링이 오버 샘플링보다 분류 정확도가 항상 높다.
기본문제 해설
Q1 정답: ③
불균형 데이터에서는 소수 클래스의 재현율(Recall)이 작아지는 문제가 발생합니다. ①은 반대로 수가 동일하지 않은 상태가 불균형 데이터입니다. ②는 소수 클래스의 Recall이 낮아지는 것이 맞으므로 “다수 클래스”라는 표현이 틀렸습니다.
Q2 정답: ③
SMOTE는 소수 클래스 주변에 원본과 다른 가상의 데이터를 생성하여 증식시키는 방법입니다. ①은 랜덤 오버 샘플링(단순 복사), ②는 언더 샘플링, ④는 Borderline-SMOTE의 설명입니다.
Q3 정답: ③
토멕링크는 서로 다른 클래스에 속해 있지만 가장 가까이 붙어 있는 한 쌍의 데이터입니다. ①은 오버 샘플링 기법이 아닌 언더 샘플링 기법입니다. ②는 같은 클래스가 아닌 서로 다른 클래스입니다. ④는 CNN의 설명입니다.
Q4 정답: ②
OSS(One-side Selection)는 Tomek links와 CNN을 함께 수행하는 방법입니다. ④는 Borderline-SMOTE의 DANGER 판단 기준 설명입니다.
Q5 정답: ②
오버 샘플링은 데이터를 늘리므로 정보 손실이 없고 분류 정확도가 높지만 계산량이 증가합니다. 언더 샘플링은 데이터를 줄이므로 계산 시간이 감소하지만 정보 손실로 성능이 저하될 수 있습니다.
고난도 확인문제 3문제
HQ1. 다음 오버 샘플링 기법과 설명이 올바르게 연결된 것을 모두 고른 것은?
(가) 랜덤 오버 샘플링 — 소수 클래스 관측치를 복사(copy)하여 증식
(나) SMOTE — 두 클래스 간 결정 경계를 따라 합성 데이터를 생성
(다) Borderline-SMOTE — 주변 클래스가 50% 이상이 큰 클래스에 속하면 DANGER로 판단
(라) ADASYN — 샘플링 개수를 데이터 위치에 따라 다르게 설정
① (가), (다), (라)
② (가), (나), (라)
③ (나), (다), (라)
④ (가), (나), (다), (라)
HQ2. 다음 중 언더 샘플링 기법에 대한 설명으로 틀린 것은?
① 랜덤 언더 샘플링은 다수 클래스에서 무작위로 데이터를 제거한다.
② 토멕링크는 서로 다른 클래스 중 가장 가까이 붙어있는 한 쌍의 데이터를 찾아 소수 클래스 쪽을 제거한다.
③ CNN은 다수 클래스가 밀집한 데이터가 없을 때까지 제거하여 대표 데이터만 남긴다.
④ OSS는 Tomek links와 CNN을 동시에 수행하는 방법이다.
HQ3. 다음 보기에서 SMOTE와 Borderline-SMOTE의 핵심적인 차이를 올바르게 설명한 것은?
① SMOTE는 소수 클래스를 단순 복사하고, Borderline-SMOTE는 가상 데이터를 생성한다.
② SMOTE는 소수 클래스 주변에 랜덤으로 합성 데이터를 생성하고, Borderline-SMOTE는 두 클래스 간 결정 경계를 따라 합성 데이터를 생성한다.
③ SMOTE는 언더 샘플링 기법이고, Borderline-SMOTE는 오버 샘플링 기법이다.
④ 두 기법은 동일한 방식으로 합성 데이터를 생성한다.
고난도 해설 (풀이과정 포함)
HQ1 정답: ①
풀이: (가) 랜덤 오버 샘플링 = 복사(copy)로 증식 → 맞습니다. (나) 결정 경계를 따라 합성 데이터 생성은 Borderline-SMOTE의 설명입니다. SMOTE는 소수 클래스 주변에 가상 데이터를 랜덤으로 생성합니다 → 틀린 연결. (다) Borderline-SMOTE의 DANGER 판단 기준(주변 50% 이상이 큰 클래스) → 맞습니다. (라) ADASYN의 특징(위치에 따라 샘플링 개수 다르게) → 맞습니다. 정답 ①.
HQ2 정답: ②
풀이: ①③④는 모두 정확한 설명입니다. ② 토멕링크는 서로 다른 클래스 중 가장 가까운 한 쌍에서 다수 클래스 쪽을 제거합니다. “소수 클래스 쪽을 제거한다”는 표현이 틀렸습니다. 정답 ②.
HQ3 정답: ②
풀이: SMOTE는 소수 클래스 주변에 원본과 다른 가상의 데이터를 랜덤으로 생성합니다. Borderline-SMOTE는 SMOTE와 달리 두 클래스 간의 결정 경계를 따라 합성 데이터를 만드는 것이 핵심 차이입니다. ①은 SMOTE가 복사가 아닌 가상 데이터 생성이므로 틀렸습니다. 정답 ②.
오버 샘플링 vs 언더 샘플링 비교 요약표
| 구분 | 방향 | 장점 | 단점 | 대표 기법 |
|---|---|---|---|---|
| 오버 샘플링 | 소수 클래스 증가 | 정보 손실 없음, 높은 분류 정확도 | 계산량↑, 노이즈·이상값에 민감 | 랜덤, SMOTE, Borderline-SMOTE, ADASYN |
| 언더 샘플링 | 다수 클래스 감소 | 계산 시간 감소 | 정보 손실, 성능 저하 가능 | 랜덤, 토멕링크, CNN, OSS |
| 기법 | 핵심 키워드 |
|---|---|
| 랜덤 오버 샘플링 | 소수 클래스 복사(copy), 리샘플링 |
| SMOTE | 소수 클래스 주변 가상 데이터 생성, K 최근접 이웃 |
| Borderline-SMOTE | 결정 경계 기반, DANGER 판단(주변 50% 이상 큰 클래스) |
| ADASYN | Borderline-SMOTE + 위치에 따라 샘플링 개수 차등 |
| 랜덤 언더 샘플링 | 다수 클래스 무작위 제거 |
| 토멕링크 | 서로 다른 클래스 중 가장 가까운 한 쌍 → 다수 클래스 제거 |
| CNN | 대표 데이터만 남을 때까지 다수 클래스 제거 |
| OSS | Tomek links + CNN 동시 수행 |
마무리 정리
4편에서는 불균형 데이터의 문제(Accuracy↑·Recall↓), 오버 샘플링 4기법(랜덤·SMOTE·Borderline-SMOTE·ADASYN), 언더 샘플링 4기법(랜덤·토멕링크·CNN·OSS)을 완벽 정리했습니다. 3편(변수 변환)과 함께 반복 학습하면 분석 변수 처리 단원 전체를 고득점으로 마무리할 수 있습니다.
