병을 가려내는 검사가 얼마나 좋은지 하나의 숫자로 말하기는 어렵다. 전체 중 맞힌 비율(정확도)은 환자가 드물면 “모두 건강하다”고만 해도 높게 나온다. 그래서 “양성이라 한 것 중 진짜 양성의 비율”(정밀도)과 “진짜 양성 중 찾아낸 비율”(재현율)을 따로 보고, 둘을 함께 보려면 F1을 쓴다. 어떤 실수가 더 비싼지에 따라 알맞은 지표가 달라진다.
예시로 보기
환자 1,000명 중 병이 있는 사람이 10명이다. 모두 “건강하다”고 답하는 모델은 990명을 맞혀 정확도 99%다. 하지만 환자를 한 명도 찾지 못한다1.
다른 모델의 결과를 네 칸으로 센다1. 이 표를 혼동 행렬이라 부른다.
| 모델: 양성 | 모델: 음성 | |
|---|---|---|
| 실제 양성 | 8 (참 양성, TP) | 2 (거짓 음성, FN) |
| 실제 음성 | 40 (거짓 양성, FP) | 950 (참 음성, TN) |
- 정확도 \(\frac{8 + 950}{1000} = 95.8\%\). 앞의 “모두 건강” 모델보다 낮다.
- 재현율 \(\frac{8}{8 + 2} = 80\%\). 환자 10명 중 8명을 찾았다.
- 정밀도 \(\frac{8}{8 + 40} = 16.7\%\). “양성”이라 한 48명 중 진짜 환자는 8명이다.
환자를 놓치는 것(FN)이 비싸면 재현율을, 건강한 사람을 괜히 재검사하는 것(FP)이 비싸면 정밀도를 본다.
정의
양성(+)과 음성(−)을 가르는 분류에서, 실제 값과 예측의 조합을 넷으로 센다.
- TP(참 양성): 양성을 양성으로 맞힘
- FN(거짓 음성): 양성을 음성으로 틀림. 제2종 오류
- FP(거짓 양성): 음성을 양성으로 틀림. 제1종 오류
- TN(참 음성): 음성을 음성으로 맞힘
이 네 수로 지표 네 가지를 만든다.
| 지표 | 식 | 재는 것 | 쓸모 있을 때 | 한계 |
|---|---|---|---|---|
| 정확도 | \(\frac{TP + TN}{TP + TN + FP + FN}\) | 전체 정답률 | 부류 비율이 고를 때 | 불균형 자료에서 속인다 |
| 정밀도 | \(\frac{TP}{TP + FP}\) | 양성 예측을 믿을 수 있나 | 거짓 양성이 비쌀 때 | 거짓 음성을 무시한다 |
| 재현율 | \(\frac{TP}{TP + FN}\) | 양성을 찾아내는 능력 | 양성을 놓치면 비쌀 때 | 거짓 양성을 무시한다 |
| F1 | \(\frac{2 \cdot \text{정밀도} \cdot \text{재현율}}{\text{정밀도} + \text{재현율}}\) | 정밀도와 재현율의 균형 | 불균형 자료, 둘을 함께 따질 때 | 참 음성을 무시한다 |
F1은 두 값의 조화평균이라 작은 쪽에 끌린다. 위 예는 정밀도 16.7%, 재현율 80%로 산술평균은 48%지만 F1은 27.6%다1.
재현율을 0.8에 두고 정밀도만 바꿨다. 정밀도가 낮을수록 F1(파란 선)은 산술평균(회색 점선)보다 훨씬 아래, 작은 쪽인 정밀도 쪽으로 끌려 내려간다. 두 값이 0.8로 같을 때만 둘이 만난다2.
연결
- 평가 방법(홀드아웃, 교차검증, 부트스트랩): 과적합과 교차검증의 과목별 관점
- 두 모델의 차이가 우연인지 가리기: 가설검정과 p값의 과목별 관점(짝지은 t-검정). 제1종·제2종 오류도 같은 말이다.
- 불균형 자료에서 시험 집합의 비율 맞추기: 층화 추출
확인 문제
C1 정밀도, 재현율, F1을 TP, FP, FN으로 쓰라.
답: 정밀도 \(\frac{TP}{TP + FP}\), 재현율 \(\frac{TP}{TP + FN}\), F1 \(= \frac{2PR}{P + R}\)(\(P\) 정밀도, \(R\) 재현율).
C2 TP 30, FP 10, FN 20, TN 940일 때 정밀도, 재현율, F1을 구하라.
답: 정밀도 \(\frac{30}{40} = 75\%\), 재현율 \(\frac{30}{50} = 60\%\), F1 \(= \frac{2 \times 0.75 \times 0.6}{1.35} \approx 66.7\%\).
C3 다음 경우 정밀도와 재현율 중 무엇을 더 중시해야 하나? ① 암 검진의 1차 선별 ② 스팸 필터(정상 메일을 스팸함에 넣으면 큰일) ③ 신용카드 사기 탐지(사기를 놓치면 큰 손해)
답: ① 재현율. 환자를 놓치면 안 되고, 거짓 양성은 정밀 검사로 다시 걸러진다. ② 정밀도. 스팸이라 한 것이 정말 스팸이어야 한다. ③ 재현율. 사기를 놓치는 비용이 정상 거래를 확인하는 비용보다 크다.
-
19_classification-metrics_plot.py로 그렸고, 정밀도 16.7%·재현율 80%에서 F1 0.276, 산술평균 0.483, 그리고 F1이 늘 작은 값 이상·산술평균 이하임을 같은 코드로 확인했다. ↩