ROC 커브와 AUROC란? TPR·FPR·민감도·특이도와 분류모델 성능평가 쉽게 이해하기
1장 ROC 커브란 무엇인가#
분류모델은 단순히:
- Positive
- Negative
라는 결과만 만드는 것이 아니라 먼저 특정 클래스일 점수나 확률을 계산하는 경우가 많습니다.
예를 들어 질병 예측 모델이 다음과 같이 결과를 만들었다고 하겠습니다.
환자 A:
질병 확률 0.91
환자 B:
질병 확률 0.72
환자 C:
질병 확률 0.43
환자 D:
질병 확률 0.12
이 확률을 실제 Positive와 Negative로 나누려면 기준값 Threshold이 필요합니다.
ROC 커브는 이 기준값을 변화시키면서 분류모델이 어떻게 달라지는지 평가하는 방법입니다.
2장 ROC는 무엇의 약자인가#
ROC는 Receiver Operating Characteristic의 약자입니다.
ROC Curve는 다양한 분류 기준값에서:
- 실제 Positive를 얼마나 잘 찾아내는가
- 실제 Negative를 얼마나 잘못 Positive로 판단하는가
를 동시에 살펴봅니다.
이를 위해 사용하는 두 지표가:
TPR
과
FPR
입니다.
3장 ROC 커브의 x축과 y축#
ADsP 시험에서 가장 먼저 기억해야 할 내용입니다.
ROC 커브의:
x축 = FPR
y축 = TPR
입니다.
제공된 학습자료에서는 다음처럼 정리합니다.
FPR = 1 − 특이도
TPR = 재현율 = 민감도
입니다.
따라서 시험 직전에는:
ROC = X축 FPR / Y축 TPR
이라고 먼저 기억하면 됩니다.
4장 TPR이란 무엇인가#
TPR은 True Positive Rate입니다.
실제 Positive 가운데 모델이 Positive라고 올바르게 찾아낸 비율입니다.
즉 앞에서 배운 Recall 재현율과 같습니다.
또 다른 이름으로 Sensitivity 민감도라고 합니다.
공식은:
TPR = TP / (TP + FN)
입니다.
핵심#
TPR = Recall = Sensitivity
입니다.
5장 TPR을 의료검사로 이해하면#
실제 환자가 100명 있다고 하겠습니다.
이 중 모델이 90명을 환자라고 제대로 찾아냈다면:
TP = 90
FN = 10
입니다.
따라서:
TPR = 90 / (90 + 10)
= 0.9
입니다.
즉 실제 환자의 90%를 찾아냈습니다.
6장 FPR이란 무엇인가#
FPR은 False Positive Rate입니다.
실제 Negative 가운데 모델이 잘못 Positive라고 판단한 비율입니다.
의료검사를 예로 들면:
실제로 건강한 사람 가운데 몇 %를 환자라고 잘못 판단했는가?
를 나타냅니다.
7장 FPR과 특이도의 관계#
특이도 Specificity는:
실제 Negative를 Negative라고 올바르게 판단한 비율
입니다.
공식은:
Specificity = TN / (TN + FP)
입니다.
반면 FPR은 실제 Negative 중 Positive라고 잘못 판단한 비율이므로:
FPR = 1 − Specificity
입니다.
시험 핵심#
FPR = 1 − 특이도
입니다.
8장 FPR 공식까지 연결하면#
실제 Negative 전체는:
TN + FP
입니다.
이 중 잘못 Positive로 판단한 것이 FP이므로:
FPR = FP / (FP + TN)
으로 이해할 수 있습니다.
따라서:
Specificity = TN / (TN + FP)
FPR = FP / (TN + FP)
이고 둘의 합은 1입니다.
9장 TPR과 FPR을 한 번에 비교하면#
| 지표 | 의미 | 공식 |
|---|---|---|
| TPR | 실제 Positive를 제대로 찾은 비율 | TP / (TP+FN) |
| FPR | 실제 Negative를 Positive라고 잘못 판단한 비율 | FP / (FP+TN) |
좋은 모델이라면:
TPR은 높고
FPR은 낮은
상태가 바람직합니다.
즉 실제 Positive는 많이 찾아내면서 실제 Negative를 Positive라고 잘못 판단하는 경우는 적어야 합니다.
10장 ROC 커브는 왜 곡선인가#
분류 기준값 Threshold를 하나만 사용하면 TPR과 FPR 역시 하나의 값만 나옵니다.
하지만 기준값을 계속 바꾸면 TPR과 FPR도 계속 달라집니다.
예를 들어 질병 확률 기준을:
0.9
0.8
0.7
0.6
0.5
처럼 변화시킬 수 있습니다.
각 기준에서 계산한:
FPR과 TPR의 점
을 연결하면 ROC 곡선이 만들어집니다.
11장 기준값 Threshold란 무엇인가#
분류모델에서 기준값은 확률을 실제 클래스로 바꾸는 경계입니다.
예를 들어 기준값을:
0.5
로 설정했다면:
예측확률 ≥ 0.5
→ Positive
예측확률 < 0.5
→ Negative
로 분류할 수 있습니다.
하지만 반드시 0.5만 사용해야 하는 것은 아닙니다.
기준을 0.3이나 0.7 등으로 바꾸면 모델의 Positive 판정 범위도 달라집니다.
12장 기준값을 낮추면 어떤 일이 생길까#
Positive 판정 기준을 낮추면 더 많은 데이터를 Positive라고 판단하게 됩니다.
예를 들어:
0.7 이상만 Positive
라고 하던 기준을:
0.3 이상이면 Positive
로 바꾸면 더 많은 사람이 Positive가 됩니다.
그러면 실제 Positive를 더 많이 찾아낼 가능성이 커집니다.
즉 TPR이 증가할 수 있습니다.
하지만 동시에 실제 Negative까지 Positive로 잘못 판단하는 FP가 증가할 수 있으므로 FPR도 증가할 수 있습니다.
13장 기준값을 높이면 어떤 일이 생길까#
반대로 Positive 판단 기준을 높이면 Positive라고 판단하는 데이터가 줄어듭니다.
이 경우 실제 Negative를 Positive라고 잘못 판단하는 사례는 감소할 수 있습니다.
즉 FPR이 낮아질 수 있습니다.
하지만 실제 Positive까지 Negative로 판단할 가능성이 있으므로 TPR도 낮아질 수 있습니다.
ROC 커브는 바로 이러한 분류 기준 변화에 따른 TPR과 FPR의 관계를 보여줍니다.
14장 좋은 ROC 커브는 어떤 모습인가#
좋은 분류모델은:
TPR은 높고
FPR은 낮은
상태를 만들 수 있어야 합니다.
ROC 그래프에서 x축은 FPR이고 y축은 TPR이므로 좋은 모델은 상대적으로 왼쪽 위 방향에 가까운 곡선을 만드는 것이 바람직합니다.
쉽게 말하면:
오탐은 적게 만들면서 정탐은 많이 하는 모델
입니다.
15장 ROC 그래프의 시작점#
ROC 그래프는 기본적으로:
FPR = 0
TPR = 0
인 지점에서 시작하는 형태로 이해할 수 있습니다.
아무 데이터도 Positive라고 판단하지 않는 극단적인 기준을 생각하면:
실제 Positive도 찾지 못하고
실제 Negative를 잘못 Positive라고 하지도 않기 때문입니다.
16장 ROC 그래프의 끝점#
반대 극단으로 모든 데이터를 Positive라고 판단하면:
모든 실제 Positive를 Positive라고 판단하므로:
TPR = 1
이 됩니다.
하지만 모든 실제 Negative도 Positive라고 잘못 판단하므로:
FPR = 1
이 됩니다.
따라서 ROC는 여러 Threshold의 결과를 연결한 곡선으로 이해할 수 있습니다.
17장 AUROC란 무엇인가#
AUROC는 Area Under the ROC Curve를 의미합니다.
말 그대로:
ROC 곡선 아래의 면적
입니다.
제공된 학습자료에서는 AUROC를 분류모델 성능을 나타내는 지표로 사용합니다.
핵심#
AUROC = ROC Curve 아래 면적
입니다.
18장 AUROC는 어느 방향이 좋은가#
제공된 학습자료에서는:
AUROC 값이 클수록 좋은 모델
이라고 정리합니다.
대표적인 기준은 다음과 같습니다.
| AUROC | 해석 |
|---|---|
| 1.0 | 완벽한 분류기 |
| 0.5 | 무작위 예측 |
| 0.5 ~ 1.0 | 우수한 모델 |
| < 0.5 | 무작위보다 못함 |
시험에서는 무엇보다:
0.5
와:
1.0
의 의미를 정확하게 기억해야 합니다.
19장 AUROC = 1.0의 의미#
AUROC가 1.0이라면 제공된 학습자료에서는:
완벽한 분류기
라고 설명합니다.
즉 Positive와 Negative를 완벽하게 구분할 수 있는 상태입니다.
핵심#
AUROC = 1 → Perfect
입니다.
20장 AUROC = 0.5의 의미#
AUROC가 0.5라면:
무작위 예측
수준입니다.
즉 모델이 제대로 구별해내는 능력이 없이 임의로 예측하는 수준과 비슷하다고 이해할 수 있습니다.
핵심#
AUROC = 0.5 → Random
입니다.
21장 AUROC가 0.5보다 작으면#
제공된 학습자료에서는:
AUROC < 0.5 → 무작위보다 못한 모델
로 정리합니다.
따라서 AUROC의 가장 중요한 기준선 역시:
0.5
입니다.
22장 AUROC 0.8을 어떻게 해석할까#
제공된 학습자료 기준에서 AUROC가:
0.8
이라면 0.5보다 크고 1에 가까운 방향에 있습니다.
따라서 무작위 예측보다 좋은 분류 성능을 가진 모델로 해석할 수 있습니다.
ADsP에서는 구체적인 세부 등급보다:
값이 클수록 좋은 모델
이라는 방향을 기억하는 것이 중요합니다.
23장 ROC와 AUROC의 차이#
두 용어를 혼동하지 않아야 합니다.
ROC Curve#
여러 Threshold에서 계산된:
FPR과 TPR의 관계를 나타낸 곡선
입니다.
AUROC#
그 ROC 곡선 아래의:
면적
입니다.
즉:
ROC = 그래프
AUROC = 그래프 아래 면적을 숫자로 표현
이라고 기억할 수 있습니다.
24장 AUROC가 크다는 것은 무엇을 의미하는가#
좋은 ROC 곡선은 왼쪽 위쪽으로 올라갑니다.
그러면 곡선 아래 면적도 커집니다.
따라서:
ROC가 좋은 방향으로 형성
↓
곡선 아래 면적 증가
↓
AUROC 증가
↓
좋은 분류 성능
으로 연결할 수 있습니다.
25장 무작위 모델은 왜 AUROC가 0.5인가#
무작위로 Positive와 Negative를 구분하는 모델이라면 TPR과 FPR이 비슷한 비율로 증가합니다.
ROC 그래프에서는 대각선에 가까운 형태가 됩니다.
이 대각선 아래 면적이:
0.5
이므로 무작위 예측의 기준값으로 사용합니다.
핵심#
대각선 수준 = Random = AUROC 0.5
입니다.
26장 완벽한 모델의 ROC는 어떻게 생각할까#
완벽한 모델은 실제 Positive를 모두 찾아내면서 실제 Negative를 Positive라고 잘못 판단하지 않을 수 있습니다.
즉 이상적인 지점은:
FPR = 0
TPR = 1
입니다.
ROC 그래프에서는 왼쪽 위에 해당합니다.
이런 완벽한 구분 능력을 가진 경우 AUROC는:
1.0
입니다.
27장 ROC와 혼동행렬의 관계#
ROC를 이해하려면 앞에서 배운 혼동행렬이 중요합니다.
혼동행렬의:
- TP
- TN
- FP
- FN
으로 TPR과 FPR을 계산하기 때문입니다.
TPR#
TP / (TP + FN)
FPR#
FP / (FP + TN)
즉 ROC는 혼동행렬과 별개의 완전히 새로운 개념이 아니라 혼동행렬에서 만들어지는 지표를 여러 Threshold에서 비교하는 방법으로 이해할 수 있습니다.
28장 TPR은 Recall과 같다#
ADsP에서는 같은 개념을 여러 이름으로 부르는 경우가 있어 주의해야 합니다.
다음 세 표현은 제공된 학습자료에서 같은 의미로 연결됩니다.
TPR
= Recall
= Sensitivity
즉:
실제 Positive 중 Positive로 제대로 예측한 비율
입니다.
29장 FPR은 1-특이도다#
마찬가지로 반드시 기억해야 합니다.
Specificity
= 실제 Negative 중 Negative로 제대로 예측한 비율
따라서 반대로 잘못 Positive로 판단한 비율인 FPR은:
1 − Specificity
입니다.
시험에서는:
ROC 커브의 x축은 특이도다.
라고 바꾸어 출제할 수 있습니다.
정확한 답은:
1 − 특이도
입니다.
30장 ROC 핵심 관계식#
ROC를 이해할 때 필요한 관계는 다음과 같습니다.
Y축#
TPR
= Recall
= Sensitivity
= TP / (TP + FN)
X축#
FPR
= 1 − Specificity
= FP / (FP + TN)
입니다.
이 관계를 통째로 기억하면 ROC 문제를 빠르게 풀 수 있습니다.
31장 의료진단으로 ROC를 이해하기#
질병 검사 모델을 생각해봅시다.
Threshold를 낮추면:
조금이라도 의심되면 환자로 분류
하게 됩니다.
그러면 실제 환자를 놓치는 경우가 줄어들 수 있습니다.
즉 TPR이 높아집니다.
하지만 건강한 사람까지 환자로 판단하는 경우가 증가할 수 있습니다.
즉 FPR도 높아집니다.
반대로 Threshold를 높이면:
확실한 경우에만 환자로 분류
하므로 FP는 줄어들 수 있지만 실제 환자를 놓치는 FN이 늘어날 수 있습니다.
ROC는 이 관계를 여러 기준값에서 보여줍니다.
32장 Accuracy와 AUROC는 같은 지표인가#
아닙니다.
Accuracy#
특정 분류 결과에서 전체 중 얼마나 맞혔는지 나타냅니다.
(TP + TN) / 전체
AUROC#
여러 분류 기준값에서 만들어지는 ROC 곡선의 아래 면적입니다.
따라서 두 지표는 평가 관점이 다릅니다.
시험에서는 서로 같은 값이라고 혼동하지 않는 것이 중요합니다.
33장 Recall과 AUROC도 같은 값인가#
아닙니다.
Recall은 특정 조건에서 실제 Positive를 얼마나 찾아냈는지를 나타냅니다.
반면 AUROC는 여러 Threshold를 변화시키면서 얻은 ROC 전체 곡선의 면적입니다.
따라서:
Recall = 하나의 평가지표
AUROC = ROC 전체에 대한 요약지표
로 구분합니다.
34장 ADsP 시험에서 자주 헷갈리는 함정#
함정 1. ROC의 x축은 TPR이다#
틀립니다.
x축은 FPR입니다.
함정 2. ROC의 y축은 FPR이다#
틀립니다.
y축은 TPR입니다.
함정 3. FPR은 특이도와 같다#
틀립니다.
FPR은:
1 − 특이도
입니다.
함정 4. TPR은 재현율과 다른 지표다#
틀립니다.
제공된 학습자료에서는:
TPR = Recall = Sensitivity
로 연결합니다.
함정 5. AUROC는 작을수록 좋은 모델이다#
틀립니다.
클수록 좋은 모델입니다.
함정 6. AUROC = 0.5는 완벽한 분류기다#
틀립니다.
무작위 예측입니다.
함정 7. AUROC = 1.0은 무작위 예측이다#
틀립니다.
완벽한 분류기입니다.
함정 8. AUROC는 ROC 곡선 위의 특정 점이다#
틀립니다.
ROC 곡선 아래의 면적입니다.
함정 9. AUROC < 0.5는 매우 우수한 모델이다#
틀립니다.
제공된 학습자료에서는 무작위보다 못한 모델로 설명합니다.
35장 ROC 시험 직전 암기#
ROC Curve
→ x축 FPR
→ y축 TPR
TPR#
= Recall
= Sensitivity
FPR#
= 1 − Specificity
한 줄로:
ROC = X는 False, Y는 True
라고 기억할 수도 있습니다.
36장 AUROC 시험 직전 암기#
AUROC
→ ROC 곡선 아래 면적
→ 클수록 좋음
1.0#
→ 완벽한 분류기
0.5#
→ 무작위
< 0.5#
→ 무작위보다 못함
가장 중요한 암기:
AUROC는 0.5가 기준, 1에 가까울수록 좋다
입니다.
37장 TPR·FPR·특이도 시험 직전 암기#
TPR#
TP / (TP + FN)
→ 실제 Positive 기준
→ Recall
→ Sensitivity
Specificity#
TN / (TN + FP)
→ 실제 Negative를 제대로 찾음
FPR#
FP / (FP + TN)
→ 실제 Negative를 Positive라고 잘못 판단
그리고:
FPR = 1 − Specificity
입니다.
38장 ROC와 AUROC 핵심 비교표#
| 개념 | 핵심 |
|---|---|
| ROC x축 | FPR |
| ROC y축 | TPR |
| TPR | Recall = Sensitivity |
| FPR | 1 − Specificity |
| AUROC | ROC 곡선 아래 면적 |
| AUROC 1.0 | 완벽한 분류 |
| AUROC 0.5 | 무작위 예측 |
| AUROC < 0.5 | 무작위보다 못함 |
| 좋은 방향 | AUROC가 클수록 좋음 |
ROC 커브와 AUROC FAQ#
ROC 커브란 무엇인가#
분류 기준값을 변화시키면서 FPR과 TPR의 관계를 나타낸 그래프입니다.
ROC 커브의 x축은 무엇인가#
FPR False Positive Rate입니다.
ROC 커브의 y축은 무엇인가#
TPR True Positive Rate입니다.
TPR은 어떤 지표와 같은가#
제공된 학습자료에서는 Recall 재현율, Sensitivity 민감도와 같은 개념으로 설명합니다.
TPR 공식은 무엇인가#
TP / (TP + FN)
입니다.
FPR은 무엇인가#
실제 Negative 중 Positive로 잘못 예측한 비율입니다.
FPR 공식은 무엇인가#
FP / (FP + TN)
입니다.
FPR과 특이도는 어떤 관계인가#
FPR = 1 − Specificity
입니다.
AUROC란 무엇인가#
ROC 곡선 아래의 면적입니다.
AUROC는 어느 방향이 좋은가#
클수록 좋은 모델입니다.
AUROC = 1은 무엇인가#
완벽한 분류기입니다.
AUROC = 0.5는 무엇인가#
무작위 예측 수준입니다.
AUROC가 0.5보다 작으면 어떻게 해석하는가#
제공된 학습자료에서는 무작위 예측보다 못한 모델로 해석합니다.
ROC와 AUROC는 같은 것인가#
아닙니다. ROC는 곡선이고 AUROC는 그 곡선 아래 면적입니다.
ROC에서 Threshold를 변경하는 이유는 무엇인가#
분류 기준을 변화시키면서 TPR과 FPR이 어떻게 달라지는지 확인하기 위해서입니다.
자기 점검#
다음 질문에 바로 답할 수 있는지 확인해봅니다.
- ROC 커브의 x축과 y축을 말할 수 있는가?
- TPR의 전체 이름을 알고 있는가?
- TPR과 Recall을 연결할 수 있는가?
- TPR과 Sensitivity를 연결할 수 있는가?
- FPR이 무엇을 의미하는지 설명할 수 있는가?
- FPR과 Specificity의 관계를 알고 있는가?
- TPR 공식을 기억하고 있는가?
- FPR 공식을 기억하고 있는가?
- AUROC가 무엇을 의미하는지 알고 있는가?
- AUROC 1.0의 의미를 알고 있는가?
- AUROC 0.5의 의미를 알고 있는가?
- AUROC가 0.5보다 작을 때의 해석을 알고 있는가?
- AUROC가 클수록 좋다는 것을 알고 있는가?
- ROC와 AUROC의 차이를 설명할 수 있는가?
- Threshold가 변하면 TPR과 FPR도 변할 수 있다는 것을 이해하고 있는가?
이 글을 마치며#
ROC 커브와 AUROC를 이해할 때 가장 먼저 기억해야 하는 것은 두 축입니다.
x축 = FPR
y축 = TPR
입니다.
TPR은:
TP / (TP + FN)
으로 계산하며:
Recall = Sensitivity = TPR
입니다.
FPR은:
FP / (FP + TN)
이며:
FPR = 1 − Specificity
입니다.
ROC 커브는 분류 기준값 Threshold를 바꾸면서 나타나는 FPR과 TPR의 관계를 보여줍니다.
그리고 이 ROC 곡선 아래의 면적이:
AUROC
입니다.
제공된 학습자료 기준으로:
AUROC = 1.0 → 완벽한 분류
AUROC = 0.5 → 무작위 예측
AUROC < 0.5 → 무작위보다 못함
입니다.
시험 직전에는 다음 네 줄로 압축해서 기억하면 됩니다.
ROC x축 = FPR = 1−특이도
ROC y축 = TPR = Recall = 민감도
AUROC = ROC 곡선 아래 면적
AUROC는 0.5가 무작위, 1.0이 완벽, 클수록 좋다