ROC Curve, AUC

Sieun·2024년 3월 29일

ML/DL

목록 보기
2/3

ROC (Receiver Operating Characteristic) curve

  • ROC curve는 모델의 판단 기준을 연속적으로 바꾸면서 측정했을 때 FPR과 TPR의 변화를 나타낸 것으로, (0,0)과 (1,1)을 잇는 곡선임.

    • x축: FPR(False positive rate)
    • y축: TPR(True Positive Rate)
  • TPR (True Positive Rate): 1이 정답인 케이스를 1이라고 바르게 예측하는 비율 (Sensitivity), 암 환자에 대해 암이라고 진단

    • TPR은 recall에서의 sensitivity를 뜻함.
    • 실제 positive 관측치 중에서 positive로 정확히 예측된 관측치의 비중을 나타냄.
TruePositiveRate(TPR)=TPP=TPTP+FNTrue Positive Rate(TPR) = \frac{TP}{P} = \frac{TP}{TP + FN}
  • FPR (False positive rate): 0이 정답인 케이스를 1이라고 틀리게 예측하는 비율 (1-Specificity), 정상에 대해 암이라고 진단
    • 실제 negative 관측치 중에서 positive로 잘못 예측된 관측치의 비중을 나타냄
FalsePositiveRate(FPR)=FPN=FPFP+TNFalse Positive Rate(FPR) = \frac{FP}{N} = \frac{FP}{FP + TN}
  • Sensitivity와 Specificity는 반비례 (Sensitivity와 1-Specificity는 비례).
    • 모든 사람을 암이라고 진단: Sensitivity=1, Specificity=0 (TPR=1, FPR=1)
    • 모든 사람을 정상이라고 진단: Sensitivity=0, Specificity=1 (TPR=0, FPR=0)

ROC curve는 어떤 모델(classifier)이 좋은 성능을 보이는지 판단할 때 사용할 수 있음. 즉, 높은 sensitivity와 높은 specificity를 보이는 모델을 고르기 위해 다양한 모델에 대해 ROC curve를 그려봄. 이때 좌측 상단으로 가장 많이 치우친 그래프를 갖는 모델이 가장 높은 성능을 보인다고 할 수 있음.

ROC curve, AUC 성능 지표를 쓰는 목적은 크게 2가지임.
1. 이진 분류 모델끼리 전반적인 성능 비교
2. optimal threshold를 찾고 싶을 때(즉, postive와 negative를 가장 잘 분류하는 확률 기준을 찾고 싶을 때)

이때 AUC (Area Under the ROC Curve)는 ROC curve의 밑면적을 말함. 즉, 성능 평가에 있어서 수치적인 기준이 될 수 있는 값으로, 1에 가까울수록 그래프가 좌상단에 근접하게 되므로 좋은 모델이라고 할 수 있음.


Reference

https://bioinfoblog.tistory.com/221
https://coduking.tistory.com/entry/ROC-curve-AUC-%EA%B0%9C%EB%85%90-%EB%B0%8F-sklearn-%EC%BD%94%EB%93%9C
https://towardsdatascience.com/roc-curve-explained-using-a-covid-19-hypothetical-example-binary-multi-class-classification-bab188ea869c

profile
Studying AI/ML with a focus on Multimodal Learning 👩🏻‍💻

0개의 댓글