AUC-ROC 커브 Start

BioinformaticsAndMe







1. AUC - ROC Curve?


: AUC-ROC 곡선은 다양한 임계값에서 모델의 분류 성능에 대한 측정 그래프임

*ROC(Receiver Operating Characteristic) = 모든 임계값에서 분류 모델의 성능을 보여주는 그래프

*AUC(Area Under the Curve) = ROC 곡선 아래 영역

: AUC가 높다는 사실은 클래스를 구별하는 모델의 성능이 훌륭하다는 것을 의미

: 임상에서 AUC-ROC 곡선은 정상인 및 환자 클래스를 구분하는 모델(ex. 특정 유전자군)의 성능 평가로 흔하게 사용됨

: ROC 곡선은 TPR(=민감도)이 y축에 있고, FPR(=1-specificity)이 x축으로 그려짐






2. AUC - ROC Curve 용어 정리


: Confusion Matrix의 분류 모델 성능에 대한 지표 (TP, FP, TN, FN)

: 사용되는 통계량

ㄱ) Sensitivity(민감도) = 실제로 질병이 있을 때, 검사 결과가 양성인 경우 (true positive rate) = a / (a+b)


ㄴ) Specificity(특이도) = 실제로 질병이 없을 때, 검사 결과가 음성인 경우 (false positive rate) = d / (c+d)


ㄷ) Positive likelihood ratio(양성우도비) = 질병이 있을 때 검사 결과가 양성 확률과 질병이 없을 때 검사 결과가 양성 확률 사이의 비율 = True positive rate / False positive rate = Sensitivity / (1-Specificity)


ㄹ) Negative likelihood ratio(음성우도비) = 질병이 있을 때 검사 결과가 음성 확률과 질병이 없을 때 검사 결과가 음성 확률 사이의 비율 = False negative rate / True negative rate = (1-Sensitivity) / Specificity


ㅁ) Positive predictive value(양성예측도) = 검사 결과가 양성일 때, 질병이 실제로 존재할 확률 = a / (a+c)


ㅅ) Negative predictive value(음성예측도) = 검사 결과가 음성일 때, 질병이 실제로 없을 확률 = d  / (b+d)







3. 모델의 성능을 측정하는 방법


: 우수한 분류 모델은 AUC 값이 1에 가깝고, 클래스를 분류하는 성능이 뛰어남을 의미

: 반대로, 불량한 분류 모델은 AUC 값이 0에 가깝고, 클래스를 분류하는 성능이 떨어짐을 의미

*실제로는 AUC의 최소값은 0.5으로, 이 경우에 모델의 클래스 분리 능력이 전혀 없음을 뜻함

: ROC는 확률곡선의 형태로, 아래 그래프에서 적색은 양성클래스(질병o), 녹색은 음성클래스(질병x)로 표현했음


1) AUC = 1

- 두 개의 곡선이 전혀 겹치지 않는 경우 모델은 이상적인 분류 성능을 보임

- 양성 클래스와 음성 클래스를 완벽하게 구별 할 수 있음



2) AUC = 0.7

- 두 분포가 겹치면 'type 1 error' 및 'type 2 error'가 발생

- 설정한 threshold에 따라, 위에 오류값들을 최소화 또는 최대화 할 수 있음

- AUC 값이 0.7이면, 해당 분류 모델이 양성 클래스와 음성 클래스를 구별 할 수 있는 확률은 70%임을 의미



3) AUC = 0.5

- 분류 모델의 성능이 최악인 상황

- AUC가 0.5 정도인 경우, 해당 분류 모델은 양성 클래스와 음성 클래스를 구분할 수 있는 능력이 없음







4. Sensitivity, Specificity, FPR, Threshold 관계


: Sensitivity(민감도)와 Specificity(특이성)은 서로 반비례

*Sensitivity를 높이면 Specificity가 감소, Sensitivity를 낮추면 Specificity가 증가

: FPR(False Positive Rate) = 1 - Specificity

*TPR(True Positive Rate)을 올리면 FPR도 증가함

: Threshold(임계값)을 줄이면, positive rate이 높아져 Sensitivity ↑, Specificity ↓

: Threshold(임계값)을 높이면, negative rate이 높아져 Specificity ↑,  Sensitivity ↓







5. AUC-ROC을 쉽게 설명한 영상 소개










#Reference

1) https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5

2) https://www.medcalc.org/manual/roc-curves.php

3) https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc

4) https://link.springer.com/article/10.1007/s10115-017-1022-8

5) https://www.youtube.com/watch?v=4jRBRDbJemM





AUC-ROC 커브 End

BioinformaticsAndMe

+ Recent posts