혼동 행렬
혼동 행렬(Confusion Matrix)은 분류 모델의 예측 결과와 실제 값을 교차표 형태로 정리한 도구다. 단일한 정확도로는 드러나지 않는 모델의 강약점을 다각도로 볼 수 있게 해 주며, 이후 모든 분류 평가 지표(ROC 곡선, 정밀도, 재현율 등)의 기초가 된다.
기본 구조 (이진 분류)
예측 범주값은 Yes = Positive, No = Negative로 표기하고, 실제 범주값과 일치하면 True, 일치하지 않으면 False로 둔다.
| 실제 Positive | 실제 Negative | |
|---|---|---|
| 예측 Positive | TP (True Positive) | FP (False Positive) |
| 예측 Negative | FN (False Negative) | TN (True Negative) |
- TP: 맞혔다고 한 게 맞음
- TN: 아니라고 한 게 아님
- FP: 아닌데 맞다고 함 (1종 오류)
- FN: 맞는데 아니라고 함 (2종 오류)
파생 지표
| 지표 | 수식 | 의미 |
|---|---|---|
| 정확도 (Accuracy) | (TP+TN) / 전체 | 전체적으로 얼마나 맞혔나 |
| 정밀도 (Precision) | TP / (TP+FP) | Positive 예측 중 진짜 비율 |
| 재현율 (Recall/민감도) | TP / (TP+FN) | 실제 Positive를 얼마나 잡았나 |
| 특이도 (Specificity) | TN / (TN+FP) | 실제 Negative를 얼마나 정확히 |
| F1 Score | 2·(P·R)/(P+R) | 정밀도·재현율의 조화평균 |
어떤 지표가 중요한가
- 의료 진단: 재현율 중요 (놓치면 안 됨)
- 스팸 필터: 정밀도 중요 (정상 메일 걸러내면 안 됨)
- 사기 탐지: 재현율 + 정밀도 균형 — F1
- 클래스 불균형: 정확도만 보면 왜곡됨 → Precision/Recall 또는 ROC 곡선
다중 분류 확장
클래스가 N개면 N×N 행렬로 확장된다. 각 셀은 *“실제 A인데 B로 예측한 수”*를 의미한다. 대각선이 TP에 해당하고, 대각선 바깥의 큰 값은 자주 헷갈리는 클래스를 알려준다.
관련 노트
- ROC 곡선: 혼동 행렬 기반의 임계값 시각화
- 인공지능 · 전용 인공지능: 평가 대상
- 정량적 데이터: 평가의 기반
- A.I. Guideline: 모델 신뢰성 평가의 일부