9편 · 정형 데이터 마이닝 (1) — 데이터 분할과 분류분석
이번 강의에서 배울 것
- 데이터 분할 방법과 부트스트랩의 36.8% 의미를 설명하고, 과대·과소적합을 편향·분산으로 구분한다.
- 로지스틱 회귀의 오즈와 exp(β)를 해석하고, 의사결정나무의 분리 기준을 알고리즘별로 짝짓는다.
- 배깅·부스팅·랜덤포레스트·스태킹을 비교하고, 신경망의 활성화 함수와 학습 원리를 말한다.
- 오분류표에서 정확도·정밀도·재현율·특이도·F1을 계산하고 ROC·AUC·이익도표를 해석한다.
학습 경로 · 3과목 3장 (1)
← 8편 · 다변량 분석과 시계열 · 다음: 10편 · 군집분석과 연관분석 →
범위: 교재 3과목 3장 01 "데이터 마이닝"(개요, 데이터 분할), 02 "분류 분석"(로지스틱 회귀, 의사결정나무, 앙상블, 인공신경망, 나이브 베이즈, k-NN, SVM, 성과 평가).
형광펜 읽는 법: 노랑 핵심 정의·결론 · 빨강 시험에서 헷갈리는 구분·함정 · 파랑 외워야 할 순서·목록
단원 도입
| 출제 포인트 | 빈도 | 이렇게 나온다 |
|---|---|---|
| 오분류표 지표 계산 (정밀도·재현율·특이도·F1) | ★★★ | 표 → 값 계산 |
| 앙상블 (배깅·부스팅·랜덤포레스트) | ★★★ | 설명 → 기법, 36.8% |
| 의사결정나무 분리 기준·알고리즘 | ★★★ | CART-지니, C4.5-엔트로피, CHAID-카이제곱 |
| 활성화 함수, 기울기 소실 | ★★★ | softmax·ReLU·sigmoid 쓰임 |
| 데이터 분할 방법 | ★★ | k-fold, LOOCV, 부트스트랩 설명 |
| 로지스틱 회귀 (오즈, exp(β)) | ★★ | 해석 |
| ROC 곡선과 AUC, 이익도표 | ★★ | 축 이름, 좋은 모델의 모양 |
| 과대적합 vs 과소적합 | ★★ | 편향·분산 |
| 지니지수·엔트로피 계산 | ★★ | 계산 |
| k-NN, SVM, 나이브 베이즈 | ★ | 특징 |
PART 1 · 데이터 마이닝과 데이터 분할
1. 데이터 마이닝 개요
- 추진 단계: 목적 설정 → 데이터 준비 → 데이터 가공 → 기법 적용 → 검증
- 통계적 유의성에 지나치게 집착하지 않는다. 훈련·테스트 성능에 큰 차이가 없고 예상 성능을 만족하면 멈춘다.
- 도구가 체계화되어 알고리즘을 깊이 몰라도 분석은 할 수 있지만, 결과의 품질은 경험 많은 전문가가 좌우한다.
| 구분 | 지도 학습 (Supervised) | 비지도 학습 (Unsupervised) |
|---|---|---|
| 목적 | 예측(회귀), 분류 | 군집, 연관, 차원 축소 |
| 기법 | 인공신경망 · 의사결정나무 · 회귀분석 · 로지스틱 회귀, 사례기반추론, k-NN, SVM, 나이브 베이즈 | 군집분석, SOM, 연관분석, PCA |
2. 과대적합과 과소적합
| 구분 | 과대적합 (Overfitting) | 과소적합 (Underfitting) |
|---|---|---|
| 상태 | 훈련 데이터를 너무 자세히(잡음까지) 학습 → 새 데이터에서 성능 하락 | 모델이 너무 단순해 패턴을 못 잡음 |
| 편향 · 분산 | 낮은 편향, 높은 분산 | 높은 편향, 낮은 분산 |
| 대책 | 변수 줄이기, 규제(정칙화), 가지치기, 데이터 늘리기, 조기 종료 | 더 복잡한 모델, 변수 추가 |
3. 데이터 분할
목적: 과대·과소적합을 막고 일반화 성능을 객관적으로 평가.
| 데이터셋 | 비율(예) | 역할 |
|---|---|---|
| 훈련용(Training) | 50% | 모델 학습 |
| 검증용(Validation) | 30% | 과대·과소적합 조정, 하이퍼파라미터 튜닝, 조기 종료 |
| 평가용(Test) | 20% | 최종 성능 평가 (학습에 쓰지 않음) |
| 방법 | 내용 |
|---|---|
| 홀드아웃(Hold-out) | 무작위로 훈련용과 평가용 둘로 나눔 (예: 7대 3). 간단하지만 나뉜 방식에 따라 결과가 흔들림 |
| k-fold 교차검증 | 데이터를 k개 집단으로 나눠 k - 1개로 학습, 1개로 평가를 k번 반복한 뒤 평균 |
| LOOCV (Leave-One-Out) | 1개만 평가용, 나머지 n - 1개로 학습을 n번 반복 — 데이터가 적을 때 |
| 부트스트랩(Bootstrap) | 복원 추출로 같은 크기의 표본을 만듦 — 데이터가 적거나 불균형할 때 |
불균형 데이터 처리: 다수 클래스를 줄이는 언더샘플링, 소수 클래스를 늘리는 오버샘플링(SMOTE 등), 임계값 조정.
PART 2 · 분류 모델
4. 로지스틱 회귀 (Logistic Regression)
종속변수가 범주형(주로 성공·실패 두 범주)일 때 쓰는 회귀. 예측값은 0부터 1 사이의 확률이다.
- 오즈(Odds): 성공 확률 ÷ 실패 확률, 즉 p ÷ (1 - p). 성공이 실패보다 몇 배 잘 일어나는가. 예: p가 0.8이면 오즈는 0.8 ÷ 0.2 → 4.
- 로짓(Logit) 변환: 오즈에 자연로그를 취하면 ln(p ÷ (1 - p))가 독립변수와 선형 관계가 된다 → ln(오즈) = β0 + β1x1 + …
- 시그모이드(로지스틱) 함수: 로짓의 역함수로, 선형식의 값을 0부터 1 사이 확률로 바꾼다. β > 0이면 S자, β < 0이면 역 S자.
- exp(β1)은 다른 변수가 고정될 때 x1이 1 증가하면 성공의 오즈가 몇 배가 되는지를 뜻한다.
- 오즈비(Odds ratio): 두 오즈의 비율.
- 계수 추정은 최대우도추정법(MLE), 모형 검정은 카이제곱 검정(이탈도). R:
glm(y ~ x, family = binomial).
5. 의사결정나무 (Decision Tree)
- 구성: 뿌리 마디(root) → 중간 마디 → 끝 마디(terminal, leaf), 가지(branch), 깊이(depth).
- 형성 과정: 성장(분리 규칙 · 정지 규칙) → 가지치기 → 타당성 평가(이익도표·위험도표·검증용 데이터) → 해석 및 예측
- 정지 규칙: 더 이상 분리하지 않고 성장을 멈추는 규칙 (최소 관측치 수, 최대 깊이 등).
- 가지치기(Pruning): 불필요한 가지를 잘라 과대적합을 막고 일반화 성능을 높임.
분리 기준
| 목표변수 | 기준 | 알고리즘 |
|---|---|---|
| 범주형 (분류나무) | 카이제곱 통계량의 p-value | CHAID |
| 지니 지수 | CART | |
| 엔트로피 지수 | C4.5 / C5.0 | |
| 연속형 (회귀나무) | ANOVA F 통계량의 p-value | CHAID |
| 분산 감소량 | CART |
- CART: 가장 널리 쓰임, 이진 분리만 한다.
- C4.5·C5.0: 범주형 입력변수는 범주 수만큼 다지 분리.
- CHAID: 가지치기 없이 적당한 크기에서 성장을 멈춤, 입력변수가 범주형이어야 함.
지니 지수와 엔트로피 계산
- 지니 지수 = 1 - Σ(각 범주 비율의 제곱)
- 엔트로피 = - Σ(비율 × log₂ 비율)
- 한 범주만 있으면(완전 순수) 둘 다 0이다.
장점: 해석이 쉽고 직관적, 범주형·수치형 모두 사용, 비모수적(분포 가정 불필요), 이상값·잡음에 덜 민감, 상관 높은 불필요 변수의 영향이 적음, 대용량에서도 빠름. 단점: 새로운 데이터에 과대적합되기 쉬움, 분류 경계선 근처 자료의 오차가 큼, 각 변수의 효과를 따로 파악하기 어려움, 결과가 불안정.
6. 앙상블 (Ensemble)
여러 모델의 예측을 조합해 전체 분산을 줄이고 성능을 높이는 기법. 서로 상관이 낮은 모델을 결합할수록 효과가 크다.
| 기법 | 방식 | 특징 |
|---|---|---|
| 보팅(Voting) | 여러 모델의 예측을 다수결(또는 확률 평균) | 서로 다른 알고리즘 결합 |
| 배깅(Bagging) | 부트스트랩 표본 여러 개로 각각 모델을 만들고 보팅으로 결합 | 병렬 학습, 분산 감소, 가지치기 없이 최대로 성장한 나무 사용 |
| 부스팅(Boosting) | 이전 모델이 잘못 분류한 데이터에 큰 가중치를 주며 순차적으로 학습 | 순차 학습, 편향 감소, 이상값에 민감. AdaBoost, GBM, XGBoost, LightGBM |
| 랜덤 포레스트 | 배깅 + 각 분리에서 변수를 무작위로 일부만 후보로 사용 | 나무 간 상관을 낮춤, 예측력 높고 이상값에 강함, 해석은 어려움 |
| 스태킹(Stacking) | 여러 모델의 예측 결과를 입력으로 메타 모델을 다시 학습 | 2단계 학습 |
7. 인공신경망 (Artificial Neural Network)
인간 뇌의 뉴런 구조를 본뜬 모델. 입력층 → 은닉층 → 출력층, 각 층의 노드(퍼셉트론)가 가중치로 연결된다.
- 단층 퍼셉트론: 입력층과 출력층만 → 선형 분리만 가능, XOR 문제를 풀지 못함.
- 다층 퍼셉트론(MLP): 은닉층을 추가하고 비선형 활성화 함수를 써서 XOR 같은 비선형 문제 해결.
- 노드 출력 = 활성화 함수(입력 × 가중치의 합 + 편향).
활성화 함수
| 함수 | 출력 범위 | 쓰임 |
|---|---|---|
| 계단(Step) | 0 또는 1 | 초기 퍼셉트론 |
| 시그모이드(Sigmoid) | 0부터 1 | 이진 분류 출력층. 로지스틱 회귀와 같은 형태. 깊은 망에서 기울기 소실 |
| 하이퍼볼릭 탄젠트(tanh) | -1부터 1 | 중심이 0, 시그모이드보다 학습이 빠름 |
| ReLU | 0 이상 (음수는 0, 양수는 그대로) | 은닉층 기본값, 기울기 소실 완화, 빠른 학습 |
| 소프트맥스(Softmax) | 각 0부터 1, 총합 1 | 다중 분류 출력층 — 각 범주의 확률 |
학습 방법
- 순전파(Feed-forward): 입력에서 출력 방향으로 계산.
- 손실 함수: 회귀는 MSE, 분류는 교차 엔트로피(Cross-entropy).
- 역전파(Back-propagation): 출력의 오차를 거꾸로 전달하며 가중치를 수정.
- 경사하강법(Gradient descent): 손실 함수의 기울기가 작아지는 방향으로 가중치를 반복 갱신.
- 기울기 소실(Vanishing gradient): 은닉층이 깊을 때 시그모이드 등을 쓰면 역전파 과정에서 기울기가 0에 가까워져 앞쪽 층이 학습되지 않는 문제 → ReLU 사용.
- 은닉층·은닉 노드 수는 사용자가 정하는 하이퍼파라미터. 너무 적으면 과소적합, 너무 많으면 과대적합.
장점: 복잡한 비선형 관계에 유용, 잡음에 비교적 강함. 단점: 결과 해석이 어려움(블랙박스), 초기 가중치·은닉층 설정에 민감.
딥러닝 맛보기: CNN(합성곱 신경망, 이미지 — 합성곱층·풀링층), RNN(순환 신경망, 순서 데이터 — 장기 의존성 문제를 LSTM·GRU로 보완), 오토인코더(입력을 압축했다 복원하는 비지도 신경망).
8. 나이브 베이즈 · k-NN · SVM
나이브 베이즈(Naive Bayes)
- 베이즈 정리로 각 범주에 속할 사후확률을 계산해 가장 큰 범주로 분류.
- 모든 특성(변수)이 서로 독립이라는 "순진한(naive)" 가정으로 계산을 단순화. 스팸 메일 분류에 많이 쓰인다.
k-NN (k-최근접 이웃)
- 새 데이터와 가장 가까운 k개 이웃 중 다수의 범주로 분류(회귀는 평균). 거리 기반.
- 별도 학습 과정이 없는 게으른 학습(Lazy learning), 사례 기반.
- k가 작으면 과대적합, k가 크면 과소적합. 변수 척도에 민감하므로 표준화 필요.
SVM (Support Vector Machine)
- 두 범주를 가르는 초평면(Hyperplane) 중 마진(Margin)이 최대인 것을 찾는다. 분류와 회귀 모두 가능.
- 서포트 벡터: 초평면에 가장 가까운 데이터. 마진: 초평면과 서포트 벡터 사이 거리 — 클수록 일반화 성능이 좋다.
- n차원 데이터는 (n - 1)차원 초평면으로 나눈다 (2차원이면 직선).
- 하드 마진은 오류를 허용하지 않고, 소프트 마진은 일부 오류를 허용.
- 커널 트릭: 선형으로 나눌 수 없는 데이터를 고차원으로 매핑해 선형 분리 (선형·다항·가우시안(RBF)·시그모이드 커널).
PART 3 · 분류 모델의 평가
9. 오분류표 (Confusion Matrix)
| 실제 \ 예측 | 예측 Positive | 예측 Negative |
|---|---|---|
| 실제 Positive | TP (참 양성) | FN (거짓 음성) |
| 실제 Negative | FP (거짓 양성) | TN (참 음성) |
읽는 법: 뒤 글자(P·N)는 예측, 앞 글자(T·F)는 예측이 맞았는가.
| 지표 | 식 | 뜻 |
|---|---|---|
| 정확도(Accuracy) | (TP + TN) ÷ 전체 | 전체 중 맞힌 비율 |
| 오분류율(Error rate) | (FP + FN) ÷ 전체 | 1 - 정확도 |
| 정밀도(Precision) | TP ÷ (TP + FP) | 예측 양성 중 실제 양성 |
| 재현율(Recall) · 민감도(Sensitivity) · TPR | TP ÷ (TP + FN) | 실제 양성 중 맞힌 비율 |
| 특이도(Specificity) · TNR | TN ÷ (TN + FP) | 실제 음성 중 맞힌 비율 |
| FPR (거짓 양성률) | FP ÷ (TN + FP) | 1 - 특이도 |
| F1 score | 2 × 정밀도 × 재현율 ÷ (정밀도 + 재현율) | 정밀도와 재현율의 조화평균 |
- F-beta: β가 1보다 크면 재현율에, 1보다 작으면 정밀도에 더 큰 가중치. β가 1이면 F1.
- 정밀도와 재현율은 트레이드오프 관계.
10. ROC 곡선과 이익도표
- ROC 곡선: x축은 FPR(1 - 특이도), y축은 TPR(민감도) 로, 분류 임계값을 바꿔 가며 그린 곡선.
- 곡선이 왼쪽 위 모서리에 가까울수록 좋은 모델.
- AUC(곡선 아래 면적)는 0.5(무작위)부터 1(완벽) — 1에 가까울수록 성능이 좋다. 보통 0.9 이상이면 뛰어남, 0.8 이상이면 우수.
- 이익도표(Gain chart) · 향상도 표(Lift table): 예측 확률 순으로 데이터를 등급(예: 10등급)으로 나눠 각 등급의 반응률·반응 검출률·향상도(Lift) 를 계산한 표.
- 향상도 = 해당 등급의 반응률 ÷ 전체 반응률. 상위 등급의 향상도가 높고 아래로 갈수록 급격히 감소하면 좋은 모델.
- 향상도 곡선: 랜덤 모델 대비 성과가 얼마나 향상되었는지 등급별로 보여 주는 그래프.
단원 마무리
장 요약
- 분할: 훈련·검증·평가. 홀드아웃, k-fold, LOOCV(1개씩), 부트스트랩(복원 추출, OOB 약 36.8%).
- 과대적합 = 낮은 편향·높은 분산, 과소적합 = 높은 편향·낮은 분산.
- 로지스틱: 오즈 p ÷ (1 - p), 로짓은 선형, exp(β): 오즈가 몇 배가 되는지.
- 나무: CART-지니(이진 분리) · C4.5-엔트로피(다지 분리) · CHAID-카이제곱(범주형 입력), 정지 규칙과 가지치기로 과대적합 방지.
- 앙상블: 배깅(부트스트랩 + 보팅, 병렬), 부스팅(오분류 가중, 순차), 랜덤 포레스트(배깅 + 변수 무작위), 스태킹(메타 모델).
- 신경망: 은닉층 + 비선형 활성화로 XOR 해결, 이진은 sigmoid, 다중은 softmax, 은닉층은 ReLU. 역전파 + 경사하강법, 기울기 소실.
- 나이브 베이즈(독립 가정), k-NN(게으른 학습, k 작으면 과대적합), SVM(마진 최대 초평면, 커널).
- 오분류표: 정밀도 TP ÷ 예측 양성 · 재현율 TP ÷ 실제 양성 · 특이도 TN ÷ 실제 음성, F1은 조화평균. ROC는 x축 FPR, y축 TPR, AUC가 클수록 좋다.
단답형 연습
- 데이터가 적을 때 1개만 평가용으로 두고 n번 학습하는 교차검증은? ______________
- 성공 확률을 실패 확률로 나눈 값은? ______________
- 의사결정나무에서 불필요한 가지를 잘라 과대적합을 막는 작업은? ______________
- 범주형 입력변수만 쓰며 카이제곱 통계량으로 분리하는 나무 알고리즘은? ______________
- 배깅에 변수 무작위 선택을 더한 앙상블은? ______________
- 은닉층이 깊을 때 앞쪽 층의 기울기가 0에 가까워지는 문제는? ______________
- 학습 단계 없이 새 데이터가 들어올 때 이웃을 찾는 분류기의 학습 방식은? ______________
- SVM에서 초평면과 가장 가까운 데이터는? ______________
- 실제 음성 중 음성으로 맞게 예측한 비율은? ______________
- ROC 곡선 아래 면적을 무엇이라 하는가? ______________
책을 덮고 꺼내 보기
- 정밀도와 재현율의 조화평균은 다.
- 오분류된 데이터에 가중치를 주는 앙상블은 이다.
- C4.5가 쓰는 불순도 지표는 다.
- ROC 곡선의 x축은 다.
홀드아웃·k-fold·LOOCV·부트스트랩의 차이는?
홀드아웃은 훈련·평가 두 덩어리로 한 번 분할, k-fold는 k개로 나눠 k번 교차 평가, LOOCV는 1개씩 빼서 n번 평가, 부트스트랩은 복원 추출로 표본을 만든다(뽑히지 않는 비율 약 36.8%).
로지스틱 회귀에서 exp(β)의 의미는?
다른 변수가 고정될 때 해당 변수가 1단위 증가하면 성공의 오즈가 exp(β)배가 된다.
의사결정나무 알고리즘별 분리 기준은?
CART는 분류에 지니 지수, 회귀에 분산 감소량. C4.5·C5.0은 엔트로피 지수. CHAID는 분류에 카이제곱 통계량, 회귀에 ANOVA F 통계량.
배깅·부스팅·랜덤 포레스트의 차이는?
배깅은 부트스트랩 표본으로 만든 모델을 보팅으로 결합(병렬), 부스팅은 오분류 데이터에 가중치를 주며 순차 학습(이상값에 민감), 랜덤 포레스트는 배깅에 분리 변수의 무작위 선택을 더해 나무 간 상관을 낮춘다.
sigmoid, softmax, ReLU의 쓰임은?
sigmoid는 이진 분류 출력층(0부터 1), softmax는 다중 분류 출력층(확률 합 1), ReLU는 은닉층에서 기울기 소실을 완화.
정밀도·재현율·특이도의 식은?
정밀도 TP ÷ (TP + FP), 재현율 TP ÷ (TP + FN), 특이도 TN ÷ (TN + FP).
ROC 곡선의 축과 좋은 모델의 모양은?
x축 FPR(1 - 특이도), y축 TPR(민감도). 왼쪽 위 모서리에 가까울수록, AUC가 1에 가까울수록 좋다.
k-NN에서 k값이 성능에 미치는 영향은?
k가 너무 작으면 잡음에 민감해 과대적합, 너무 크면 경계가 뭉개져 과소적합된다.
다음으로 갈 기준: 오분류표 하나로 다섯 지표를 2분 안에 계산하고, 앙상블 세 가지를 한 문장씩 구분할 수 있으면 마지막 편으로 간다: 10편 · 군집분석과 연관분석.
정답과 해설
확인 문제 정답
- k-fold 교차검증(5-fold).
- 약 36.8%.
- 편향은 낮고, 분산은 높다.
- 지니 지수.
- 부스팅(Boosting).
- 소프트맥스(Softmax).
단답형 정답
- LOOCV(Leave-One-Out Cross Validation)
- 오즈(Odds)
- 가지치기(Pruning)
- CHAID
- 랜덤 포레스트(Random Forest)
- 기울기 소실(Vanishing gradient)
- 게으른 학습(Lazy learning)
- 서포트 벡터(Support vector)
- 특이도(Specificity)
- AUC(Area Under the Curve)
내용을 이해했다면 학습 완료를 체크해 주세요.