한양과학기술고등학교

에듀테크 프로젝트 대시보드

혼동 행렬과 ROC 곡선

혼동 행렬과 ROC 곡선

분류 모델은 각 샘플에 0~1 사이 확률 점수를 매긴다. 그 점수를 "양성/음성"으로 나누려면 임계값(threshold) 하나를 골라야 한다. 이 임계값을 움직이면 놓치는 환자(FN)와 헛경보(FP)가 시소처럼 반대로 움직인다. 슬라이더를 끌어 정밀도·재현율·ROC 곡선이 어떻게 바뀌는지 직접 확인해 보자.

1. 임계값 조절
0.50

점수가 임계값 이상이면 모델은 "양성"이라고 예측한다. 임계값을 낮추면 더 공격적으로 양성을 외쳐 재현율↑·정밀도↓, 높이면 신중해져 정밀도↑·재현율↓.

2. 점수 분포와 임계값
실제 양성
실제 음성
실제 양성 (병에 걸림 / 진짜 스팸) 실제 음성 (정상) 빨간 테두리 = 이 임계값에서 오답
3. 혼동 행렬 & 지표
예측: 양성
예측: 음성
실제 양성
0TP · 진짜 양성
0FN · 놓친 양성
실제 음성
0FP · 헛경보
0TN · 진짜 음성
정밀도 (Precision)–
TP / (TP + FP)
재현율 (Recall / TPR)–
TP / (TP + FN)
위양성률 (FPR)–
FP / (FP + TN)
F1 점수–
2·P·R / (P + R)
정확도 (Accuracy)–
(TP + TN) / 전체
4. ROC 곡선 (임계값을 0→1로 쓸어가며 그린 궤적)
AUC = 0.00

각 점은 하나의 임계값에서의 (위양성률, 재현율) 좌표다. 임계값을 낮출수록 오른쪽 위로 이동한다. 분홍 점이 현재 슬라이더 위치. 곡선이 왼쪽 위 모서리에 가까울수록 좋은 모델이고, 그 아래 넓이가 AUC(1.0 = 완벽, 0.5 = 동전 던지기 = 대각선 점선).

왜 "정확도"만 보면 안 될까? 1000명 중 암 환자가 10명뿐이라면, 무조건 "정상"이라고 찍는 모델도 정확도 99%다. 하지만 재현율은 0% — 환자를 한 명도 못 잡는다. 이렇게 클래스 불균형이 심할 때는 정밀도·재현율·F1·AUC를 함께 봐야 한다. 임계값은 "실수의 비용"으로 정한다: 암 검진은 FN(놓침)이 치명적이라 임계값을 낮추고, 스팸 분류는 FP(정상 메일이 스팸함행)가 성가시라 임계값을 높인다.
#Confusion Matrix#Precision#Recall #ROC#AUC#F1#클래스 불균형 #임계값#머신러닝 평가