ROC Curve
📈 ROC Curve란?
Threshold(판단 기준값)를 0 → 1로 바꿔가며 그 때마다의
TPR(True Positive Rate)과 FPR(False Positive Rate)을
찍은 곡선이에요.
Confusion Matrix가 하나의 threshold에서의 스냅샷이라면,
ROC Curve는 모든 threshold에서의 전체 성능을 보여줘요!
📐 AUC란?
ROC Curve 아래 면적(Area Under Curve)이에요.
AUC = 1.0 → 완벽한 모델 🟢
AUC = 0.5 → 동전 던지기 수준 (대각선) 🔴
AUC < 0.5 → 랜덤보다 나쁜 모델 ❌
하나의 숫자로 모델 전체 성능을 요약해줘서 모델 비교에 유용해요!
📈 ROC Curve 인터랙티브
TPR · Recall
—
TP / (TP + FN)
실제 양성 중 맞게 잡은 비율
= Y축
FPR
—
FP / (FP + TN)
실제 음성 중 잘못 양성 예측 비율
= X축
AUC
0.85
0.9↑ 매우 좋음
0.8~0.9 좋음
0.7~0.8 보통
0.7↓ 개선 필요
📖 핵심 개념 설명
📖 ROC Curve 읽는 법
📍 왼쪽 위 꼭짓점(0, 1)
FPR=0, TPR=1
완벽한 모델의 위치예요.
음성을 하나도 잘못 잡지 않으면서 양성을 전부 잡는 상태!
📍 대각선 (Random)
TPR = FPR인 선이에요.
동전 던지기 수준의 모델이 만드는 기준선.
곡선이 이 선보다 아래면 랜덤보다 나쁜 모델!
⚖️ Threshold를 낮추면?
더 많이 Positive로 예측
→ TPR ↑ (양성을 더 잘 잡음)
→ FPR ↑ (음성도 더 많이 잘못 잡음)
점이 오른쪽 위로 이동해요!
⚖️ Threshold를 높이면?
더 적게 Positive로 예측
→ TPR ↓ (양성을 덜 잡음)
→ FPR ↓ (음성 오탐도 줄어듦)
점이 왼쪽 아래로 이동해요!
🎯 최적 Threshold
보통 왼쪽 위 꼭짓점과 가장 가까운 점을 최적 threshold로 선택해요.
또는 Precision-Recall 균형을 보고 도메인에 맞게 결정해요!
📐 AUC를 쓰는 이유
Threshold에 상관없이 모델 자체의 판별력을 하나의 숫자로 요약해줘요.
서로 다른 모델을 비교할 때 특히 유용해요!