이진 분류 모델의 기본적인 성능 평가
기본적인 2x2 테이블
이진 분류 모델의 최종 예측 값은 일반적으로 0~1사이로 나오게된다. 특정 임계치를 기준으로 테스트 양성과 테스트 음성을 분류한다. 예를 들어, 임계치를 0.5로 잡는다면, 0.5 이상인 경우를 테스트 양성, 0.5 미만인 경우를 테스트 음성으로 정의한다. 이 방법을 통해 아래와 같은 2x2 테이블을 만들 수 있다.
양성 (Disease) | 실제 음성 (No Disease) | |
테스트 양성 (Positive) | 50 | 10 |
테스트 음성 (Negative) | 5 | 100 |
- True Positive (TP): 50
- False Positive (FP): 10
- False Negative (FN): 5
- True Negative (TN): 100
Sensitivity = Recall (민감도)
sensitivity 는 실제 질병인 사람 중에 테스트 양성인 사람의 비율이다.
-> 50/55 = 0.909
Specificity = Negative Recall (특이도)
specificity 는 실제 질병이 아닌 사람 중에 테스트 음성인 사람의 비율이다.
-> 100/110 = 0.909
Positive Predictive Value = Precision (양성 예측도, PPV)
ppv 는 양성으로 예측한 사람 중에 실제 질병인 사람의 비율이다.
-> 50/60 = 0.833
Negative Predictive Value (음성 예측도, NPV)
npv 는 음성으로 예측한 사람 중에 실제 질병이 아닌 사람의 비율이다.
-> 100/105 = 0.952
ROC 커브와 AUC (Area under curve)
임계치를 변화시키면서 1-specificity, sensitivity 그래프를 그린 것이 ROC 커브이다. 위 두 지표를 통해 그래프를 그리는 이유는 sensitivity 와 specificity 간에 트레이드오프관계가 있기 때문에, 이 관계를 시각적으로 표현하여 모델의 성능을 평가하기 위해서이다.
1-specificity = False Positive Rate (FPR)
sensitivity = True Positive Rate (TPR)
임계치가 낮아지면 모델은 더 많은 사례를 양성으로 분류하게 되어 True Positive Rate와 False Positive Rate가 모두 증가한다. 반대로, 임계치가 높아지면 모델은 더 적은 사례를 양성으로 분류하게 되어 True Positive Rate와 False Positive Rate가 모두 감소한다.