Confusion의 뜻은 "혼동, 혼란"입니다.
명명 이유:
"모델이 어디서 헷갈려하는가(confused)"를 명확히 보여주는 행렬이라는 의미입니다.
예측값
Positive Negative
실제값 Positive TP FN
Negative FP TN
단순 Accuracy만으로는 어떤 종류의 실수를 하는지 알 수 없습니다.
예시: 의료 진단
Confusion Matrix:
예측: 암 예측: 건강
실제 암: 8 2 (FN=2, 암 환자 놓침!)
실제 건강: 5 985 (FP=5, 오진)
예시: 다중 클래스 분류 (숫자 인식)
예측: 0 1 2 3
실제 0: 95 2 1 2
실제 1: 1 98 0 1
실제 2: 5 1 85 9 ← 2를 3으로 자주 혼동!
실제 3: 2 0 8 90 ← 3을 2로 자주 혼동!
예시: 스팸 필터
예측: 스팸 예측: 정상
실제 스팸: 450 50 (FN=50, 스팸 통과)
실제 정상: 30 470 (FP=30, 중요 메일 차단!)
Confusion Matrix만 있으면 모든 지표를 계산할 수 있습니다:
Precision = TP / (TP + FP)
Recall = TP / (TP + FN)
Accuracy = (TP + TN) / (TP + TN + FP + FN)
F1-Score = 2 × (Precision × Recall) / (Precision + Recall)
Specificity = TN / (TN + FP)
"Confusion Matrix"라는 이름:
왜 필요한가:
1. 단순 정확도의 함정을 피할 수 있음
2. 어떤 종류의 오류가 많은지 정확히 파악
3. 비즈니스 상황에 맞는 의사결정 가능
4. 모델 개선 방향을 구체적으로 제시
결국 Confusion Matrix는 "모델이 어디서 실수하는지 투명하게 보여주는 진단 도구"입니다! 🔍