-
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
'ML&DL' 카테고리의 다른 글
ML Hyperparameter tuning (0) 2021.08.05 [dacon] 와인품질 EDA 및 1차 모델 개발 (0) 2021.06.14 bagging Emsemble, semi-supervised (2) 2021.03.11 [Data Cleansing] scaling과 normalization의 차이 (0) 2021.02.26 [Kaggle] santander product recomendation EDA (0) 2021.02.19