Articles

AUC-ROC 곡선에 기계 학습 명확하게 설명

AUC-ROC 곡선은 스타는 연기자!

당신은 당신의 기계 학습 모델을 구축했습니다-그래서 다음은 무엇입니까? 필요하신 그것을 평가하고 검증하는 방법에 좋은(나)그것은,그래서 당신은 그때 결정할 수 있는지에 그것을 구현합니다. 그것이 AUC-ROC 곡선이 들어오는 곳입니다.

이름이 될 수 있을 입지만,그것은 단지 우리가 계산하는”곡선 아래의 영역”(AUC)의”수신기 특성 연산자”(ROC). 혼란 스럽습니까? 나는 너를 느낀다! 나는 너의 신발에 있었다. 그러나 걱정하지 마세요,우리는이 용어가 무엇을 의미하는지 자세히 살펴보고 모든 것이 케이크 한 조각이 될 것입니다!

AUC_ROC_meme

지금 바로 알고 있는 AUC-ROC 곡선에 도움이 우리를 시각화하는 방법론의 기기 분류기 학습을 추가할 수 있습니다. 비록 그것이 작동에 대해서만 이진 분류 문제로,우리는 볼 것이 끝으로 우리가 어떻게 확장할 수 있습 그것을 평가하는 멀티-클래스 분류제도.

이들은 AUC-ROC 곡선 뒤에있는 핵심 주제이기 때문에 감도 및 특이성과 같은 주제를 다룰 것입니다.

나가는 것이 좋습니다 기사를 통해서 혼란을 모체로 소개할 것입니다 몇 가지 중요한 측면 우리가 사용하는 것입니다.

목차

  • 민감도와 특이도는 무엇입니까?
  • 예측 확률
  • AUC-ROC 곡선은 무엇입니까?
  • AUC-ROC 곡선은 어떻게 작동합니까?
  • 파이썬에서 AUC-ROC
  • 다중 클래스 분류를위한 AUC-ROC

민감도와 특이성은 무엇입니까?

이것은 혼란 행렬의 모습입니다:

혼동 행렬

에서 혼란을 매트릭스,우리는 파생 수 있습니다 몇 가지 중요한 지표에서 다루지 않은 이전 문서입니다. 여기서 그들에 대해 이야기합시다.

감성/진정한 긍정적인 평가/리콜

감 공식

감도 우리에게 무엇인의 비율은 긍정적인 클래스고 올바르게 분류된다.

간단한 예는 실제 아픈 사람들의 비율이 모델에 의해 올바르게 감지되었는지를 결정하는 것입니다.

거짓 부정적인 비율

거짓 부정적인 비율

거짓 부정적인 평가(FNR)우리에게 무엇인의 비율은 긍정적인 클래스고 잘못 분류에 의한 분류.

양의 클래스를 올바르게 분류하기를 원하기 때문에 더 높은 TPR 과 더 낮은 FNR 이 바람직합니다.

특이성/진정한 부정적인 비율

특이성을 공식

특이성을 우리에게 무엇인의 비율은 부정적인 클래스고 올바르게 분류된다.

로 같은 예를 들어에서 감도,특이성을 의미를 결정의 비율이 건강한 사람들이 제대로 식별되는 모델입니다.

False 긍정적인 비율

False 긍정적인 비율

FPR 우리에게 무엇인의 비율은 부정적인 클래스고 잘못 분류에 의한 분류.

음수 클래스를 올바르게 분류하기를 원하기 때문에 더 높은 TNR 과 더 낮은 FPR 이 바람직합니다.

이러한 통계,감도와 특이성은 아마도 가장 중요하고 우리가 볼 수 있습니다 이후에 어떻게 이러한을 구축하는 데 사용되는 평가를 지표입니다. 그러나 그 전에 목표 클래스를 직접 예측하는 것보다 예측 확률이 더 나은 이유를 이해합시다.

의 확률을 예측

기계 학습 분류 모델을 예측하는데 사용될 수 있는 실제의 클래스는 데이터 포인트이 직접 또는 예측의 확률에 속하는 다른 클래스입니다. 후자는 우리에게 결과에 대한 더 많은 통제권을 부여합니다. 우리는 분류 자의 결과를 해석하기 위해 우리 자신의 임계 값을 결정할 수 있습니다. 이것은 때로는 완전히 새로운 모델을 구축하는 것보다 더 신중합니다!

설정이 다른 임계값을 분류하기 위한 긍정적인 클래를 위한 데이터 포인트가 실수로 변경 민감도와 특이성의 모델입니다. 중 하나 이러한 임계값을 것입니다 아마 더 나은 결과를 제공은 다른 사람보다는지 여부에 따라 우리는 것을 목표로 낮은 수의 틀린 네거티브나 틀린 확실성.

아래 표를 살펴보십시오:

AUC-ROC 곡선 예제

변화하는 임계값에 따라 메트릭이 변경됩니다. 서로 다른 혼란 행렬을 생성하고 이전 섹션에서 논의한 다양한 메트릭을 비교할 수 있습니다. 그러나 그것은 할 수있는 신중한 일이 아닐 것입니다. 대신,우리가 무엇을 할 수 있는 생성에 사는 일부의 이러한 지표 할 수 있도록 우리는 쉽게 시각화하는 임계값을 주고 우리에게 더 나은 결과입니다.

AUC-ROC 곡선은 그 문제를 해결합니다!

AUC-ROC 곡선은 무엇입니까?

수신기 연산자 특성(ROC)곡선은 이진 분류 문제에 대한 평가 메트릭입니다. 다양한 문턱 값에서 FPR 에 대해 TPR 을 플롯하고 본질적으로’신호’를’노이즈’와 분리하는 확률 곡선입니다. 곡선 아래의 영역(AUC)은 분류자가 클래스를 구별하는 능력의 척도이며 ROC 곡선의 요약으로 사용됩니다.

auc 가 높을수록 양수 클래스와 음수 클래스를 구별 할 때 모델의 성능이 향상됩니다.

AUC ROC curve

경우 AUC=1 로 분류할 수 있는 완벽하게 구별하는 모든 긍정적이고 부정적인 클래스 포인트습니다. 그러나 AUC 가 0 이었다면 분류자는 모든 네거티브를 긍정으로 예측하고 모든 긍정은 네거티브로 예측합니다.

AUC ROC 곡선

때 0.5<AUC<1,높은 기회가 있다는 분류기 구분할 수 있게 됩니다 긍정적인 클래스에서 값을 부정적인 클래스 값이 있습니다. 분류자가 거짓 네거티브와 거짓 긍정보다 더 많은 수의 진정한 긍정과 진정한 네거티브를 감지 할 수 있기 때문에 그렇습니다.

AUC ROC 임의로 출력

경우 AUC=0.5,다음의 분류되지 않을 구분할 수 있다는 긍정 및 부정적인 클래스 포인트입니다. 분류자가 모든 데이터 요소에 대해 임의의 클래스 또는 상수 클래스를 예측한다는 의미입니다.

따라서 분류 자에 대한 AUC 값이 높을수록 양수 클래스와 음수 클래스를 구별하는 능력이 향상됩니다.

AUC-ROC 곡선은 어떻게 작동합니까?

ROC 곡선에서 x 축 값이 높을수록 True negatives 보다 많은 수의 False positive 를 나타냅니다. 더 높은 Y 축 값은 거짓 네거티브보다 더 높은 수의 True positive 를 나타냅니다. 따라서 임계 값의 선택은 오 탐지와 오 탐지 사이의 균형을 맞추는 능력에 달려 있습니다.

자 발굴 조금 더 깊이 이해하는 방법을 우리 ROC 곡선 같이 다른 임계값 및 방법에 민감도와 특이도 있는 것은 다릅니다.

AUC-ROC curve

우리는 시도할 수 있고 이해하는 그래프를 생성하여 혼동을 위한 매트릭스의 각 지점에 해당하는 임계값과 이야기의 성능에 대한 우리의류:

샘플 혼동 행렬

A 지점은 대한 민감도가 가장 높은 특이성을 가장 낮다. 즉,모든 양의 클래스 포인트가 올바르게 분류되고 모든 음의 클래스 포인트가 잘못 분류됩니다.

에 사실은,어떤 지점에 블루 라인에 해당하는 상황이 진정한 긍정적인 비율은 동등한 거짓 긍정적인 비율.

위의 모든 점 이 라인에 해당하는 상황이의 비율을 올바르게 분류된 포인트에 속하는 긍정적인 클래스보다 높은 비율의 잘못 분류된 포인트에 속하는 부정적인 클래스입니다.

샘플 혼동 행렬

지만점 B 같은 감도로 점,그것은 더 높은 특이성. 잘못 음수 클래스 포인트의 수가 이전 임계 값에 비해 낮다는 것을 의미합니다. 이것은이 임계 값이 이전 임계 값보다 낫다는 것을 나타냅니다.

혼란 매트릭스 AUC ROC

점 C 와 D 사이의 점 C 에서의 감도는 동일한 특이성에 대해 점 D 보다 높습니다. 즉,이는 같은 수의 잘못 분류 부정적인 반점 분류기 예측은 높은 수의 긍정적인 클래스 포인트입니다. 따라서,문턱에서 점 C 보다 낫다는 점 D.

,이제는 방법에 따라 많은 잘못 분류된 포인트는 우리가 원하는 견딜에 대한 우리의 분류,우리는 사이에서 선택점 B C 을 예측하는지 여부를 물리 칠 수 있습니다에 나 PUBG 나지 않습니다.

“거짓 희망은 두려움보다 더 위험합니다.”-J.R.R. Tolkein

혼동 행렬

점 E 는 특이성된 가장 높다. 모델에 의해 분류 된 오 탐지가 없음을 의미합니다. 모델은 모든 부정적인 클래스 포인트를 올바르게 분류 할 수 있습니다! 우리의 문제가 사용자에게 완벽한 노래 추천을 제공하는 것이라면이 점을 선택할 것입니다.

이 논리로 가면 완벽한 분류 자에 해당하는 점이 그래프에 어디에 있는지 추측 할 수 있습니까?

예! 데카르트 평면의 좌표(0,1)에 해당하는 ROC 그래프의 왼쪽 상단 모서리에있을 것입니다. 여기에 민감도와 특이성이 모두 가장 높으며 분류자가 모든 양수 및 음수 클래스 포인트를 올바르게 분류합니다.

이해 AUC-ROC 곡선에서는 파이썬

이제 하나,우리는 수동으로 테스트 민감도와 특이성을 위해 모든 임계값 또는 sklearn 작업을 수행한다. 우리는 확실히 후자와 함께 가고 있습니다!

sklearn make_classification 방법을 사용하여 임의의 데이터를 만들어 보겠습니다:

I will 의 성능을 테스트합니다 두 분류에 이 데이터 집합:

Sklearn 는 매우 강력한 방법 roc_curve()계산 ROC 대한 분류의 문제에 초! 그것을 반환합니다 FPR,TPR 및 임계 값:

AUC 점수를 계산할 수 있을 사용하여 roc_auc_score()메서드의 sklearn:

0.9761029411764707 0.9233769727403157

이 코드에서 라이브 코딩 창에 아래

우리는 또한 줄거리 ROC 곡선에 대한 두 개의 알고리즘을 사용하여 matplotlib:

바이너리 등 ROC curve

이것은 분명 하에서 음모에 대한 AUC 로지스틱 회귀 ROC 곡선보다 높다는 것에 대한 KNN ROC 곡선입니다. 따라서 로지스틱 회귀가 데이터 세트에서 양의 클래스를 분류하는 더 나은 작업을 수행했다고 말할 수 있습니다.

Auc-ROC 다중 클래스 분류

전에 말했듯이 auc-ROC 곡선은 이진 분류 문제에만 해당됩니다. 그러나 우리는 One vs All 기술을 사용하여 multiclass 분류 문제로 확장 할 수 있습니다.

따라서 클래스 0,1 및 2 가 3 개인 경우 클래스 0 의 ROC 는 0 이 아닌 0,즉 1 과 2 에 대해 0 을 분류하는 것으로 생성됩니다. 클래스 1 의 ROC 는 1 이 아닌 것에 대해 1 을 분류하는 등 생성됩니다.

ROC 곡선을 위해 멀티-class 분류 모델을 결정할 수 있는 아래와 같이

다중 클래스 ROC

끝 주

나는 당신이 문서를 발견 유용하는 방법을 이해하는 강력한 AUC-ROC curve 메트릭은 성능을 측정하기 위한 분류. 업계 및 데이터 과학 또는 기계 학습 해커 톤에서도 많이 사용하게 될 것입니다. 더 잘 익숙해 지십시오!

더가는 것이 좋습니다 당신은 다음과 같은 과정에서 도움이 될 것입니다 건물의 데이터 과학을 통찰력:

  • 소개하는 데이터 과학
  • 적용한 기계 학습

읽을 수도 있습니다 이 문서에서 우리의 모바일 앱구글 플레이에 그것을 얻을