혼동 행렬 지표 계산기 쉽게 이해하기 — 개념과 원리
혼동 행렬은 이진 분류기의 예측이 실제와 어떻게 맞았는지를 참양성(TP), 거짓양성(FP), 거짓음성(FN), 참음성(TN) 네 칸으로 정리한 표입니다. 이 네 값만 있으면 스팸 필터, 이상 거래 탐지, 선별 검사, 머신러닝 모델의 성능 지표를 모두 구할 수 있습니다. 이 계산기는 F1, 정확도, 정밀도, 재현율, 특이도, 균형 정확도, 매튜스 상관계수(MCC)를 보여 줍니다.
계산 방법
- 정밀도 = TP ÷ (TP + FP): 양성이라고 한 것 중 실제 양성의 비율
- 재현율(민감도) = TP ÷ (TP + FN): 실제 양성 중 찾아낸 비율
- 특이도 = TN ÷ (TN + FP): 실제 음성 중 음성으로 맞힌 비율
- 정확도 = (TP + TN) ÷ 전체
- F1 = 2 × 정밀도 × 재현율 ÷ (정밀도 + 재현율)
- 균형 정확도 = (재현율 + 특이도) ÷ 2
- MCC = (TP×TN − FP×FN) ÷ √((TP+FP)(TP+FN)(TN+FP)(TN+FN))
원리
지표마다 묻는 질문이 다릅니다. 정확도는 한 클래스가 압도적으로 많으면 쉽게 높아집니다. 양성이 1%뿐이라면 무조건 음성이라고 해도 99%가 나옵니다. 정밀도와 재현율은 양성 클래스에 집중하고, F1은 조화평균이라 둘 중 하나만 높은 모델을 낮게 평가합니다. MCC는 예측값과 실제값 사이의 피어슨 상관계수로, 네 칸을 모두 쓰기 때문에 두 클래스를 모두 잘 맞힐 때만 높게 나옵니다.
예제 풀이
- 입력값: TP = 85, FP = 10, FN = 15, TN = 890(총 1,000건)입니다.
- 정밀도 85 ÷ 95 = 89.47%, 재현율 85 ÷ 100 = 85%, 특이도 890 ÷ 900 = 98.89%입니다.
- 정확도는 975 ÷ 1,000 = 97.5%입니다.
- F1 = 2 × 0.8947 × 0.85 ÷ 1.7447 = 0.8718입니다.
- 균형 정확도 = (0.85 + 0.9889) ÷ 2 = 91.94%입니다.
- MCC = (85×890 − 10×15) ÷ √(95×100×900×905) = 75,500 ÷ 87,965 = 0.8583입니다.
| 참양성 (TP) | F1 점수 |
|---|---|
| 21.2 | 0.6296296296 |
| 42.5 | 0.7727272727 |
| 63.8 | 0.8360655738 |
| 85 | 0.8717948718 |
| 106 | 0.8947368421 |
| 128 | 0.9107142857 |
| 170 | 0.9315068493 |
결과 해석
음성이 양성보다 9배 많기 때문에 정확도(97.5%)가 F1(0.87)보다 좋아 보입니다. MCC는 −1(항상 틀림), 0(무작위 수준), +1(완벽) 사이의 값입니다. 놓치는 비용이 크면 재현율을, 잘못된 경보의 비용이 크면 정밀도를 우선해서 보시기 바랍니다.
흔한 실수
- 불균형 데이터에서 정확도만 보고하는 경우
- FP와 FN을 바꿔 넣는 경우(거짓음성은 모델이 놓친 실제 양성입니다)
- 판정 임계값이 다른 상태에서 F1을 비교하는 경우
자주 묻는 질문
재현율과 민감도는 같은 것인가요?
네. 재현율, 민감도, 참양성률(TPR)은 모두 같은 값입니다.
F1 점수는 얼마면 좋은 편인가요?
과제마다 다르므로 정해진 기준은 없습니다. 같은 데이터에서 단순한 기준 모델이나 이전 모델과 비교하는 것이 바람직합니다.
MCC가 계산되지 않는 경우가 있나요?
행이나 열의 합 중 하나가 0이면 분모가 0이 됩니다. 이때 많은 도구는 0으로 표시합니다.
출처: B. W. Matthews, Comparison of the predicted and observed secondary structure of T4 phage lysozyme, Biochimica et Biophysica Acta, 1975 · D. Chicco and G. Jurman, The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy, BMC Genomics, 2020