Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Area Under the Curve (AUC)

AUC는 ROC 곡선을 0에서 1 사이의 단일 점수로 나타냅니다. 이 점수는 분류기가 무작위 양성을 무작위 음성보다 높은 순위로 매길 확률입니다. 코드와 함께 ROC AUC와 PR AUC를 비교합니다.

곡선 아래 면적(AUC)은 모든 가능한 결정 임계값에서 이진 분류기가 두 클래스를 얼마나 잘 구분하는지 요약하는 지표입니다. 머신러닝에서 AUC는 거의 항상 수신자 조작 특성(ROC) 곡선 아래 면적을 뜻하며, ROC AUC 또는 AUROC라고도 표기합니다. 이 값은 모델이 무작위로 선택한 양성 예제에 더 높은 점수를 부여할 확률과 무작위로 선택한 음성 예제에 더 높은 점수를 부여할 확률을 나타냅니다. AUC가 1.0이면 모든 양성이 모든 음성보다 높은 순위에 있고, 0.5이면 순위가 우연보다 낫지 않으며, 0.5 미만이면 순위가 뒤집혔음을 의미합니다. 점수의 순서에만 좌우되므로 AUC는 임계값을 선택하기 전에 모델을 평가할 수 있어 의료 진단 모델, 신용 평가, 사기 탐지에 표준 지표로 사용됩니다.

AUC 계산 방법#

ROC 곡선은 결정 임계값을 가장 높은 점수부터 가장 낮은 점수까지 이동시키면서, 진양성률인 재현율을 오탐률, 즉 잘못 표시된 음성의 비율에 대해 그립니다. 모든 점수보다 높은 임계값은 아무것도 표시하지 않아 (0, 0)에 위치하고, 모든 점수보다 낮은 임계값은 모든 항목을 표시해 (1, 1)에 위치합니다. AUC는 점 사이를 연결하는 선 아래의 면적이며, 보통 사다리꼴 공식을 사용해 계산합니다.

같은 값은 쌍의 개수를 세어도 얻을 수 있습니다. 모든 양성과 음성을 비교해 양성이 더 높은 순위인 경우 각 쌍에 1점, 동점에는 0.5점, 그 외에는 0점을 부여하면 ROC AUC와 정확히 같은 값을 얻습니다. 통계학에서는 이를 정규화된 맨-휘트니 U 통계량, 의학 연구에서는 일치도 통계량 또는 c-통계량이라고 합니다. 신용 위험 관리팀은 종종 AUC × 2 − 1과 같은 지니 계수를 대신 보고합니다.

쌍별 관점은 AUC의 주요 특성을 설명합니다. 확률을 제곱하거나 이진 분류기의 로짓에 온도 스케일링을 적용하는 등 점수 순서를 유지하는 변환은 AUC를 바꾸지 않습니다. 따라서 모델은 AUC가 우수하면서도 확률 보정이 크게 잘못될 수 있습니다. 보정은 브라이어 점수와 같은 별도의 지표로 평가해야 합니다.

불균형 데이터에서 ROC AUC와 PR AUC 비교#

ROC AUC는 클래스 비율에 영향을 받지 않습니다. 진양성률은 양성만을 기준으로, 오탐률은 음성만을 기준으로 계산하기 때문입니다. 양성이 드물면 이 특성이 약점이 됩니다. 100개 중 양성이 1개인 상황에서 오탐률이 5%이면 실제 양성마다 오경보가 약 5개 발생하지만 ROC 곡선에는 거의 영향을 주지 않습니다. 정밀도-재현율 곡선 아래 면적(PR AUC)은 보통 평균 정밀도(AP)로 요약되며, 정밀도를 재현율에 대해 표시해 오경보를 직접 드러냅니다. 따라서 불균형 데이터에서는 ROC 곡선보다 더 유용합니다. 아래 scikit-learn 스크립트는 한 모델을 두 방식으로 평가합니다.

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import average_precision_score, roc_auc_score
from sklearn.model_selection import train_test_split

# Imbalanced binary problem: 1 positive per 100 samples
X, y = make_classification(n_samples=20_000, weights=[0.99], flip_y=0, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, stratify=y, random_state=0)

# Score the test set with a simple classifier
model = LogisticRegression(max_iter=1000).fit(X_train, y_train)
scores = model.predict_proba(X_test)[:, 1]

# The same scores summarized by the areas under two different curves
print(f"Positives in test set: {y_test.sum()} of {len(y_test)}")
print(f"ROC AUC: {roc_auc_score(y_test, scores):.3f}")
print(f"PR AUC (average precision): {average_precision_score(y_test, scores):.3f}")

10,000개의 테스트 샘플 중 양성이 100개일 때 모델의 ROC AUC는 0.911이지만 평균 정밀도는 0.462에 불과합니다. 두 지표의 기준값도 다릅니다. 무작위 순위는 클래스 균형과 관계없이 ROC AUC 0.5를 기록하지만, 평균 정밀도는 양성 비율과 같으므로 여기서는 0.01입니다.

다중 클래스 AUC와 객체 감지#

ROC AUC는 두 클래스에 대해 정의됩니다. 클래스가 더 많은 경우 scikit-learn의 roc_auc_score는 각 클래스를 나머지 클래스와 비교하는 일대나머지 AUC 또는 모든 클래스 쌍의 일대일 AUC를 계산한 뒤, 매크로 평균이나 유병률 가중 평균을 적용합니다.

객체 탐지에서는 음성이 객체가 없는 모든 박스 위치를 포함하고 이 집합이 사실상 무한하여 의미 있는 오탐률을 정의할 수 없으므로 ROC 곡선을 사용할 수 없습니다. 탐지 지표는 대신 정밀도-재현율 곡선 아래의 면적을 사용합니다. Ultralytics의 YOLO26 검증에서는 COCO 평가와 마찬가지로 재현율 101개 지점에서 샘플링한 정밀도-재현율 포락선 아래의 면적으로 각 클래스의 평균 정밀도를 계산하고, 그 면적들의 평균으로 평균 정밀도 (mAP)를 산출하며, IoU 임계값은 0.50~0.95입니다.

  • 정확도: 한 임계값에서 올바른 예측의 비율을 측정하며, 불균형 데이터에서 모든 양성을 놓치면서도 높게 나타날 수 있습니다. AUC는 모든 임계값에서의 순위를 측정합니다.
  • F1 점수: 단일 임계값에서 정밀도와 재현율을 결합하므로 하나의 동작 지점을 평가합니다. 반면 AUC는 모든 동작 지점을 요약합니다.
  • 혼동 행렬: 한 임계값에서 진양성, 오탐, 오음성, 진음성을 집계합니다. ROC 곡선의 각 점은 하나의 혼동 행렬을 두 비율로 요약합니다.
  • 평균 정밀도: 정밀도-재현율 곡선 아래 면적으로, 양성이 드문 경우에 주로 사용되는 요약 지표이자 mAP의 핵심 구성 요소입니다.
  • 부분 AUC: 오탐률 0~0.1과 같이 제한된 오탐률 범위에서의 면적입니다. 대규모 선별 검사에서 모든 오경보가 후속 검사로 이어지는 경우처럼 낮은 오경보율만 허용될 때 사용합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요