ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • roc curve
    ML&DL 2021. 5. 6. 16:45

    ROC curve 아래의 면적(AUC, area under curve)이 넓을수록 좋은 진단 방법

    주로 binary classification에서 많이 쓰임

     

    ROC curve(Receiver-Operating Characteristic curve)의 줄임말로,

    특정 진단 방법의 민감도와 특이도가 어떤 관계를 갖고 있는지를 표현한 그래프

     

    ex. 바이오

    혈압이 N 이상이면 심근경색이다 라고 했을 때,

    "혈압이 5이상이면 심근경색이다"라면

    환자율 100퍼센트이고, 모두를 환자라고 인식하기 때문에 특이도가 0

     

    반대로 "혈압이 1000이상이면 심근경색이다"라면

    정상이 100%가 되므로 특이도가 1이 되지만

    환자는 하나도 골라내지못하기 때문에 민감도가 0이 됨

     

    상위 예제와 같이 민감도, 특이도의 균형이 알맞아야 최적의 값을 찾았다고 할 수 있음

    대체로 민감도/특이도가 0.8 ~ 0.9는 되어야 임상에서 사용 가능

     

    그렇다면 ROC curve를 쓰는 이유는?

    accuracy를 보완하기 위해서!

    --> recall과 함께 볼 수 있음

     

    glassboxmedicine.files.wordpress.com/2019/02/roc-curve-v2.png?w=576

    (그래프 대체)

     

    이 그래프를 통해 아래 면적이 넓을수록 성능이 좋은데,

    그 이유는 TPR, TNR을 보면 알 수 있다.

     

    TPR = TP/(TP+FN) = recall = sensivity

    TNR = TN/(TN+FP) = specificity

     

    1000        정상판정     암판정

    정상환자     988(TN)     2(FP)

    암환자        1(FN)        9(TP)

     

    TPR이 높으면 즉, recall이 높으면 실제 y'을 모델이 잘 맞췄다는 얘기인데,

    예를 들어, 전체 1000개 데이터에서 990개가 1인 라벨이고, 10개가 0인 라벨이라고 해보자.

     

    모델이 과적합되어 전부 y'을 1으로 추론한다면 990/1000의 정답률을 가진 것이므로

    성능을 판단할땐 TPR뿐만아니라, 다른 지표를 참고해야 함.

     

    recall값을 높이면 TPR은 증가하지만, TNR은 줄어듦.

     

    ROC curve는 참조 지표일뿐,

    다른 f1-score, recall, precision 등과 같이 참조할 필요

     

     

     

    * 참조

    developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=ko

     

    nittaku.tistory.com/29

Designed by Tistory.