Analysis/Study

[분석] ROC 커브와 AUC, 그리고 민감도와 특이도

표표_ 2016. 10. 24. 11:57
반응형

ROC curve (Receiver Operating Characteristic curve) 

- TPR과 FPR을 각각 x,y축으로 놓은 그래프 

ROC curve

양분된 결과를 예측하는 테스트의 정확도를 평가하기 위하여 흔히 두 가지 지표, 민감도(sensitivity)와 특이도(specificity)를 사용

ex) 어떤 건강 상태를 가지고 있는 경우와 그렇지 않은 경우를 얼마나 잘 구분할 수 있는지를 의미 

민감도(sensitivity) 
- 1인 케이스에 대해 1이라고 예측한 것 
특이도(specificity) 
- 0인 케이스에 대해 0이라고 예측한 것 

 

ROC curve는 이진분류기의 성능을 한번에 표시한 것으로, 양성률(TPR)과 위양성율(FPR) 두 가지로 표현

양성율(True Positive Rate; TPR) 
- TPR = 민감도 = 1 - 위음성율, true accept rate 
- 1인 케이스에 대해 1로 맞게 예측한 비율 
- ex) 암환자를 진찰해서 암이라고 진단 함 
위양성율(False Positive Rate; FPR) 
- FPR = 1 - 특이도, false accept rate 
- 0인 케이스에 대해 1로 잘못 예측한 비율 
- ex) 암환자가 아닌데 암이라고 진단 함 

 

TPR과 FPR의 관계

- 암환자를 진단할 때, 성급한 의사는 아주 조금의 징후만 보여도 암인 것 같다고 할 것이다. 

- 이 경우 TPR은 1에 가까워지고 FPR도 높아진다. (정상인 사람도 다 암이라고 하니까)

 

- 반대로 돌팔이 의사라서 암환자를 알아내지 못한다면, 모든 환자에 대해 암이 아니라고 할 것이다. 

- 이 경우 TPR은 매우 낮아져 0에 가까워지고 FPR도 낮아진다.(암환자라는 진단 자체를 안하므로, 암 

환자라고 잘못 진단 하는 경우가 없음) 

 

 

이처럼 TPR과 FPR은 둘다, 어떤 기준(언제 1이라고 예측 할 지)을 연속적으로 바꾸면서 측정 해야한다. 

결국 TPR과 FPR의 여러가지 상황을 고려해서 성능을 판단해야 하는데, 이것을 한눈에 볼 수 있게 한 것이 바로 ROC 커브이다. 

그래서 ROC커브는 이것들을 그래프로 표현하여, 어떤 지점을 기준으로 잡을 지 결정하기 쉽게 시각화 한 것이다. 

 

 

ROC커브의 밑면적(the Area Under a ROC Curve; AUC; AUROC) 

- ROC 커브의 X,Y축은 [0,1]의 범위며, (0,0) 에서 (1,1)을 잇는 곡선 

- ROC 커브의 밑 면적이 1에 가까울수록(즉, 왼쪽 상단 꼭지점에 다가갈수록) 좋은 성능 

- 이때의 면적(AUC)은 0.5~1의 범위를 가짐(0.5면 성능이 전혀 없음. 1이면 최고의 성능) 

 

 

AUC 해석 

- 쉽게 1로 예측하는 경우 민감도는 높아지지만 모든 경우를 1이라고 하므로 특이도가 낮아진다. 

- 그러므로 이 민감도와 특이도 모두 1에 가까워야 의미가 있음 

- 따라서ROC커브를 그릴때 특이도를 1-특이도를 X축에 놓고, Y축에 민감도를 놓는다. 

- 그러면 x=0일때 y=1인 경우 최적의 성능이고, 점점 우측 아래로 갈수록, 즉 특이도가 감소하는 속도에비해 얼마나 빠르게 민감도가 

증가하는지를 나타냄. 

- AUC값은 전체적인 민감도와 특이도의 상관 관계를 보여줄 수 있어 매우 편리한 성능 측정 기준임 

 

AUC = 0.5인 경우 

- 특이도가 감소하는만큼 민감도가 증가하므로 민감도와 특이도를 동시에 높일 수 있는 지점이 없음 

- 특이도가 1일때 민감도는 0, 특이도가 0일때 민감도는 1이되는 비율이 정확하게 trade off관계로, 두 값의 합이 항상 1임  

 

 

*참고문헌

- https://angeloyeo.github.io/2020/08/05/ROC.html

반응형