왜 AUC = 1 분류기에서도 표본의 절반이 잘못 분류 되었습니까?


20

확률을 반환하는 분류기를 사용하고 있습니다. AUC를 계산하기 위해 pROC R 패키지를 사용하고 있습니다. 분류기의 출력 확률은 다음과 같습니다.

probs=c(0.9865780,
0.9996340,
0.9516880,
0.9337157,
0.9778576,
0.8140116,
0.8971550,
0.8967585,
0.6322902,
0.7497237)

probs클래스 '1'에있을 확률을 나타냅니다. 도시 된 바와 같이, 분류기는 모든 샘플을 클래스 '1'로 분류 하였다.

실제 레이블 벡터는 다음과 같습니다.

truel=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0)

도시 된 바와 같이, 분류기는 5 개의 샘플을 잘못 분류했다. 그러나 AUC는 다음과 같습니다.

pROC::auc(truel, probs)
Area under the curve: 1

왜 그런 일이 발생하는지 설명해 주시겠습니까?


답변:


21

AUC는 클래스 멤버쉽 확률에 따라 예제 순위매기 는 능력을 측정 한 것입니다 . 따라서 모든 확률이 0.5보다 높으면 모든 양의 패턴이 모든 음의 패턴보다 높은 확률을 갖는 경우 여전히 AUC가 1입니다. 이 경우 결정 임계 값이 0.5보다 높으며 오류 비율은 0입니다. AUC는 확률의 순위 만 측정하기 때문에 확률이 잘 보정되었는지 (예 : 체계적인 편향이 없는지) 알려지지 않습니다. 확률의 보정이 중요한 경우 교차 엔트로피 메트릭을 확인하십시오.


21

다른 답변은 무슨 일이 일어나고 있는지 설명하지만 사진이 좋을 것이라고 생각했습니다.

클래스가 완벽하게 분리되어 있으므로 AUC는 1이지만 1/2로 임계 값을 지정하면 오 분류 율이 50 %가됩니다.

probs


21

샘플은 전혀 "오 분류되지 않았다". 0예는보다 엄격하게 낮은 순위 1예. AUROC는 정의 된대로 정확하게 수행합니다. 이는 무작위로 선택된 1것이 무작위로 선택된 것보다 높은 순위를 가질 확률을 측정합니다.0 . 이 샘플에서는 항상 사실이므로 확률 1 이벤트입니다.

Tom Fawcett는 훌륭한 해설 기사를 가지고 있습니다. ROC 곡선에 대한 를 제공합니다. 나는 거기에서 시작하는 것이 좋습니다.

톰 포셋. "ROC 분석 소개." 패턴 인식 문자. 2005.


3
+1 Fawcett 논문은 실제로 시작하기에 매우 좋은 곳입니다.
Dikran Marsupial
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.