ROC 곡선 및 AUC 계산기 - 이진 분류 모델 평가
고급 통계 검정
아래에 모델의 예측 점수와 실제 레이블을 입력하면 ROC 곡선을 생성하고 곡선 아래 면적(AUC)을 계산할 수 있습니다.
ROC 곡선 및 AUC 계산기 - 이진 분류 모델 평가
고급 통계 검정
한 줄에 하나의 관측값을 'score,label' 형식으로 입력하세요. 레이블은 0 또는 1이어야 합니다. 예: 0.9,1
ROC 곡선 및 AUC 계산기 소개
수신자 조작 특성(ROC) 곡선은 이진 분류 모델의 판별 능력을 모든 가능한 의사결정 임계값에 대해 평가하는 그래픽 도구입니다. 의사결정 임계값이 높음에서 낮음으로 변할 때, y축의 진양성률(TPR, 즉 민감도)과 x축의 위양성률(FPR, 즉 1 − 특이도)을 그립니다.
민감도(TPR)는 실제 양성을 올바르게 식별한 비율입니다: TPR = TP / (TP + FN). 특이도는 실제 음성을 올바르게 식별한 비율입니다: Specificity = TN / (TN + FP). FPR = 1 − Specificity = FP / (TN + FP)입니다. 완벽한 분류기는 왼쪽 위 모서리(FPR = 0, TPR = 1)를 지나며, 무작위 분류기의 ROC 곡선은 (0,0)에서 (1,1)로 이어지는 대각선에 놓입니다.
ROC 곡선 아래 면적(AUC)은 전체 분류 성능을 하나의 스칼라로 요약합니다. AUC가 1.0이면 완벽한 판별, 0.5이면 판별력 없음(무작위 추측과 동일)입니다. 일반적으로 AUC ≥ 0.9는 매우 우수, 0.8–0.9는 좋음, 0.7–0.8은 보통, 0.7 미만은 낮음으로 봅니다.
이 계산기는 계단형 ROC 곡선 아래 면적을 적분하는 사다리꼴 법칙으로 AUC를 계산합니다. 또한 Youden의 J 통계량(J = sensitivity + specificity − 1)을 사용해 최적 의사결정 임계값을 찾고, 민감도와 특이도의 합을 최대화하는 균형 잡힌 운영점을 제공합니다.
ROC 곡선과 AUC는 의료 진단(환자를 질환군과 건강군으로 구분하는 분류기), 머신러닝(이진 분류 모델 평가), 신용평가에서 표준 평가 지표입니다. 정확도와 달리 AUC는 클래스 불균형에 덜 민감하므로, 양성 사례가 드물 때 특히 유용합니다.
이 도구는 점수-레이블 쌍의 어떤 목록이든 입력받습니다. 점수는 확률, logit 값 또는 어떤 연속적인 순위 점수라도 됩니다. 레이블은 0(음성 클래스) 또는 1(양성 클래스)이어야 합니다. 결과 표에는 모든 ROC 운영점이 표시되며, 최적 임계값 행이 쉽게 보이도록 강조됩니다.
ROC 곡선 예시
이 예시는 AUC 값이 분류기 성능 수준과 어떻게 대응하는지 보여줍니다.
| 점수, 레이블 쌍 | AUC | 해석 |
|---|---|---|
| 0.9,1 / 0.8,1 / 0.3,0 / 0.2,0 | AUC = 1.0 | 완벽한 분류기 |
| 0.9,1 / 0.8,1 / 0.75,1 / 0.6,0 / 0.55,1 / 0.45,0 / 0.4,0 / 0.35,0 | AUC ≈ 0.9375 | 판별력이 매우 우수함 |
| 0.9,0 / 0.8,1 / 0.7,0 / 0.6,1 / 0.5,0 / 0.4,1 | AUC ≈ 0.33 | 순위가 반대임 — 무작위보다 나쁨 |
이 계산기 사용법
- 각 관측값을 'score,label' 형식으로 한 줄씩 입력하세요. score는 수치 예측값, label은 0 또는 1입니다.
- 데이터에 양성(label=1)과 음성(label=0) 예시가 모두 있는지 확인하세요.
- ‘계산’을 클릭해 AUC를 계산하고 ROC 곡선 포인트를 생성하세요.
- AUC 값과 그 정성적 해석(매우 우수, 좋음, 보통, 낮음)을 확인하세요.
- 표에서 강조된 최적 임계값 행을 찾아 민감도/특이도의 가장 좋은 균형을 확인하세요.
자주 묻는 질문
AUC란 무엇이며 왜 중요한가요?
AUC(ROC 곡선 아래 면적)는 분류기가 모든 임계값에서 양성 사례를 음성 사례보다 더 높게 순위화하는 능력을 측정합니다. 임계값에 독립적이고 클래스 불균형에도 강하므로, 의료, 머신러닝, 금융 분야의 이진 분류 모델에서 표준 벤치마크로 쓰입니다.
AUC가 0.5라는 것은 무슨 뜻인가요?
AUC가 0.5라는 것은 분류기가 무작위 추측보다 나을 게 없다는 뜻입니다. 양성과 음성을 무작위로 순위화하고 있다는 의미입니다. 0.5보다 낮은 AUC는 분류기가 체계적으로 틀리고 있음을 뜻하며, 예측을 뒤집으면 우연 이상 성능을 얻을 수 있습니다.
최적 임계값은 어떻게 선택하나요?
이 계산기는 Youden의 J 통계량(J = sensitivity + specificity − 1)을 사용해 최적 임계값을 선택합니다. 민감도와 특이도의 합을 최대화하여 균형 잡힌 운영점을 제공합니다. 비용 최소화나 F1 점수 최대화 같은 다른 기준은 사용 사례에 따라 다른 최적 임계값을 만들 수 있습니다.
AUC는 다중 분류에도 사용할 수 있나요?
표준 AUC는 이진 분류용입니다. 다중 분류 문제에서는 각 클래스에 대해 one-vs-rest AUC를 계산하거나, macro-average 또는 weighted-average AUC를 보고할 수 있습니다. 이 계산기는 이진 분류(레이블 0과 1)만 지원합니다.
민감도와 특이도의 차이는 무엇인가요?
민감도(재현율 또는 TPR)는 분류기가 진양성을 얼마나 잘 잡아내는지 측정합니다: TP / (TP + FN). 특이도는 오탐을 얼마나 잘 피하는지 측정합니다: TN / (TN + FP). 양성 사례를 놓치는 비용이 클 때(예: 질병 선별검사)는 높은 민감도가 중요하고, 위양성 비용이 클 때(예: 확진 검사)는 높은 특이도가 중요합니다.
AUC가 항상 모델 평가에 가장 좋은 지표인가요?
AUC는 임계값 전반에서 모델을 비교하고 불균형 데이터셋을 다룰 때 훌륭하지만, 항상 최선은 아닙니다. 매우 불균형한 데이터에서는 PR-AUC(정밀도-재현율 곡선 아래 면적)가 더 유용한 경우가 많습니다. 특정 의사결정 임계값에서는 F1 점수, 정확도, Matthews 상관계수 같은 지표가 더 적절할 수 있습니다.