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이 어떻게 달라지는지 확인하기 위해서입니다.


자기 점검#

다음 질문에 바로 답할 수 있는지 확인해봅니다.

  1. ROC 커브의 x축과 y축을 말할 수 있는가?
  2. TPR의 전체 이름을 알고 있는가?
  3. TPR과 Recall을 연결할 수 있는가?
  4. TPR과 Sensitivity를 연결할 수 있는가?
  5. FPR이 무엇을 의미하는지 설명할 수 있는가?
  6. FPR과 Specificity의 관계를 알고 있는가?
  7. TPR 공식을 기억하고 있는가?
  8. FPR 공식을 기억하고 있는가?
  9. AUROC가 무엇을 의미하는지 알고 있는가?
  10. AUROC 1.0의 의미를 알고 있는가?
  11. AUROC 0.5의 의미를 알고 있는가?
  12. AUROC가 0.5보다 작을 때의 해석을 알고 있는가?
  13. AUROC가 클수록 좋다는 것을 알고 있는가?
  14. ROC와 AUROC의 차이를 설명할 수 있는가?
  15. 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이 완벽, 클수록 좋다

이 페이지의 목차