혼동 행렬

혼동 행렬(Confusion Matrix)은 분류 모델의 예측 결과와 실제 값을 교차표 형태로 정리한 도구다. 단일한 정확도로는 드러나지 않는 모델의 강약점을 다각도로 볼 수 있게 해 주며, 이후 모든 분류 평가 지표(ROC 곡선, 정밀도, 재현율 등)의 기초가 된다.

기본 구조 (이진 분류)

예측 범주값은 Yes = Positive, No = Negative로 표기하고, 실제 범주값과 일치하면 True, 일치하지 않으면 False로 둔다.

실제 Positive실제 Negative
예측 PositiveTP (True Positive)FP (False Positive)
예측 NegativeFN (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 Score2·(P·R)/(P+R)정밀도·재현율의 조화평균

어떤 지표가 중요한가

  • 의료 진단: 재현율 중요 (놓치면 안 됨)
  • 스팸 필터: 정밀도 중요 (정상 메일 걸러내면 안 됨)
  • 사기 탐지: 재현율 + 정밀도 균형 — F1
  • 클래스 불균형: 정확도만 보면 왜곡됨 → Precision/Recall 또는 ROC 곡선

다중 분류 확장

클래스가 N개면 N×N 행렬로 확장된다. 각 셀은 *“실제 A인데 B로 예측한 수”*를 의미한다. 대각선이 TP에 해당하고, 대각선 바깥의 큰 값은 자주 헷갈리는 클래스를 알려준다.

관련 노트