마무리: ROC·AUC 한 장 치트시트와 결정표
Contents
학습목표 — 이 장을 마치면 다음을 할 수 있다.
- 책 전체의 핵심 개념을 한 장의 치트시트로 떠올려 정리한다.
- "언제 무엇을 쓰나"를 결정표로 빠르게 골라낸다.
- 분류기를 평가할 때 빠뜨리기 쉬운 점을 체크리스트로 점검한다.
여기까지 따라온 여러분은 혼동행렬의 네 칸에서 출발해 ROC 곡선을 손으로 그리고, AUC를 세 갈래로 검산하고, 운영점을 고르고, 불균형·다중분류·흔한 오해까지 통과했다. 이 마지막 장은 새 개념을 더 가르치지 않는다. 대신 앞에서 배운 모든 것을 한자리에 모아 — 치트시트·결정표·체크리스트로 — 실전에서 바로 꺼내 쓸 수 있게 압축한다. 막히는 데가 있으면 각 항목 옆의 장 번호로 돌아가 다시 읽으면 된다.
9-1. ROC·AUC 한 장 치트시트
핵심 용어와 공식 (출처: 00장)
| 용어 | 공식 | 분모가 무엇인가 | 한마디로 |
|---|---|---|---|
| 재현율 = TPR = 민감도 | TP / (TP + FN) = TP / P | 실제 양성 전부 (P) | 놓치지 않는 능력 |
| 특이도(Specificity) | TN / (TN + FP) = TN / N | 실제 음성 전부 (N) | 음성을 잘 거르는 능력 |
| FPR | FP / (FP + TN) = FP / N | 실제 음성 전부 (N) | 거짓경보율 (= 1 − 특이도) |
| 정밀도(Precision) | TP / (TP + FP) | 예측한 양성 전부 | 양성이라 외쳤을 때 적중률 |
두 동의어 사슬 (반드시 기억): TPR = recall = sensitivity, 그리고 FPR = 1 − specificity. 이 둘이 ROC 평면의 세로축·가로축이다.
ROC·AUC 핵심 사실
- ROC 평면 = 가로 FPR, 세로 TPR. 좌상단 (0,1) = 완벽, 대각선 = 무작위, 대각선 아래 = 역분류. 모든 곡선은 (0,0)에서 (1,1)로 간다. (02장)
- 작도 원리: 한 임계값 → 한 혼동행렬 → 한 (FPR, TPR) 점. 임계값을 +∞에서 −∞로 스윕해 점을 이으면 계단형 곡선(양성을 넘기면 세로↑, 음성을 넘기면 가로→). (02장)
- AUC = ROC 곡선 아래 면적 (0~1). 1.0 = 완벽, 0.5 = 무작위, 0.5 미만 = 역분류(점수를 반전하면 1 − AUC로 되살아남). (03장)
- AUC의 확률 해석 (★): 무작위로 고른 양성이 무작위로 고른 음성보다 높은 점수를 받을 확률(동점은 0.5). 이는 Mann–Whitney U / Wilcoxon 순위합과 같은 값 — 면적·확률·통계량이 한 값의 세 얼굴. (03장)
- AUC ≠ 정확도: 정확도는 한 임계값에서 (TP+TN)/전체(임계값 의존), AUC는 모든 임계값을 가로지르는 순위 분리력(임계값 무관). (03장)
워크드 예제의 삼중 검산 — AUC = 0.76 (출처: 04장)
양성 5개 점수 {95, 90, 75, 60, 40}, 음성 5개 점수 {80, 65, 50, 30, 20}. 점수 80에 음성이 끼어 곡선이 완벽(1.0)이 되지 못한다.
- 검산 1 (사다리꼴 면적): 0.08 + 0.12 + 0.16 + 0.20 + 0.20 = 0.76
- 검산 2 (확률 쌍 세기): 양성×음성 25쌍 중 양성이 이긴 19쌍 → 19/25 = 0.76
- 검산 3 (그림·표준 라이브러리
roc_auc_score): 0.76
세 길이 모두 0.76에서 만난다 — AUC가 한 개념의 여러 얼굴임을 손으로 확인한 결과다.
전체 그림 한눈에 — 개념 의존 지도
9-2. 언제 무엇을 쓰나 — 결정표
상황에 따라 어떤 지표·곡선·방법을 골라야 하는지를 한 표로 모았다. 왼쪽의 "상황/질문"을 찾아 오른쪽 권장안을 보면 된다.
| 상황 / 질문 | 무엇을 쓰나 | 왜 / 주의 | 장 |
|---|---|---|---|
| "한 임계값에서 얼마나 맞히나?" | 정확도·정밀도·재현율 | 임계값을 정한 뒤의 적중률. 불균형에선 정확도가 부풀려짐 | 00, 03 |
| "임계값과 무관하게 순위를 얼마나 잘 매기나?" | ROC-AUC | 모든 임계값을 가로지르는 순위 분리력. 한 숫자 요약 | 03 |
| "배포할 임계값 하나를 골라야 한다" | 운영점 선택 (곡선 위 한 점) | 곡선·AUC는 임계값을 정해 주지 않는다 — 사람이 고른다 | 05 |
| "TPR·FPR을 균형 있게 보는 기준점이 필요하다" | Youden's J = TPR − FPR 최대점 | 대각선에서 가장 먼 점. 비용이 대칭일 때의 기본값 | 05 |
| "놓침(FN)이 거짓경보(FP)보다 훨씬 비싸다" | 임계값을 낮춰 곡선 오른쪽 위로 | 재현율↑, 거짓경보 일부 감수 (예: 암 검사) | 05 |
| "거짓경보(FP)가 놓침(FN)보다 훨씬 비싸다" | 임계값을 높여 곡선 왼쪽 아래로 | 정밀도↑, 일부 놓침 감수 (예: 정상 메일 보호) | 05 |
| "양성이 아주 드물다 (불균형)" | PR 곡선 / AP를 함께(우선) 보라 | ROC는 FPR 희석으로 낙관적. PR은 양성 예측 순도를 정직하게 잼 | 06 |
| "양성·음성이 엇비슷하다 (균형)" | ROC로 충분 | FPR이 희석되지 않아 ROC·PR이 비슷한 메시지 | 06 |
| "클래스가 셋 이상이다 (다중분류)" | OvR + macro / micro | 클래스마다 c-vs-rest 이진 ROC로 쪼갠 뒤 합침 | 07 |
| "작은 클래스 성능도 중요하다" | macro 평균 | 클래스마다 한 표(평등 가중) — 약한 클래스의 비명을 듣는다 | 07 |
| "전체 사례 단위 평균 성능을 알고 싶다" | micro 평균 | 표본마다 한 표(빈도 가중) — 큰 클래스가 더 반영됨 | 07 |
| "두 모델 중 무엇이 더 좋은가?" | AUC + 운영 구간의 곡선 비교 | 곡선이 교차하면 AUC만으로는 우열을 못 가림 | 08 |
9-3. 분류기 평가 체크리스트
분류기를 평가하거나 보고서를 쓸 때, 아래 항목을 차례로 점검하면 흔한 함정을 대부분 피할 수 있다.
- [ ] 양성/음성을 명확히 정의했는가? "양성 = 찾으려는 표적"이지 "좋은 것"이 아니다. (00)
- [ ] AUC를 정확도로 착각하지 않았는가? AUC는 임계값 무관 순위 품질, 정확도는 한 임계값의 적중률. (03, 08)
- [ ] AUC가 0.5 미만이면 점수를 반전해 보았는가? 0.5 미만은 무능이 아니라 방향이 뒤집힌 것 — 반전하면 1 − AUC. (03, 08)
- [ ] 배포 임계값(운영점)을 비용·유병률을 따져 골랐는가? 곡선은 임계값을 정해 주지 않는다. (05, 08)
- [ ] 데이터가 불균형이라면 PR 곡선·AP도 함께 보았는가? ROC-AUC가 높아도 PR-AUC는 낮을 수 있다. (06, 08)
- [ ] PR 곡선을 볼 때 유병률 기준선과 비교했는가? PR의 랜덤 기준선은 0.5가 아니라 양성 유병률이다. (06)
- [ ] 다중분류라면 macro/micro 중 무엇을 썼는지 명시했는가? 둘이 벌어지면 그 차이 자체가 소수 클래스 약점의 신호. (07)
- [ ] 두 모델을 비교할 때 곡선이 교차하지 않는지 확인했는가? 교차하면 운영 구간별로 우열이 뒤집힌다. (08)
9-4. 마지막 한마디
이 책이 처음부터 끝까지 되풀이한 메시지는 하나다 — 하나의 요약 숫자에 모든 판단을 맡기지 말라. ROC와 AUC는 분류기의 순위 능력을 보는 강력한 렌즈지만, 그것이 답하는 질문은 정해져 있다. "이 모델은 양성에 음성보다 높은 점수를 주는가?"라는 질문이다. 정확도가 답하는 질문도, 정밀도가 답하는 질문도, PR 곡선이 답하는 질문도 각기 다르다. 좋은 평가란 내 문제가 던지는 질문에 맞는 도구를 고르는 일이다.
혼동행렬의 네 칸에서 출발해 여기까지 왔다면, 이제 여러분은 그 도구들을 손에 쥐고 왜 그것을 쓰는지까지 설명할 수 있다. 곡선 전체를, 그리고 여러분이 실제로 설 점을 함께 바라보는 습관 — 그것이 이 한 권이 남기는 가장 큰 도구다.