logo

오류행렬과 민감도, 특이도 📂머신러닝

오류행렬과 민감도, 특이도

정의

양성positive $P$ 와 음성negative $N$ 을 구분하는 분류문제에서 양성과 음성을 판정하는 모델이 주어져 있다고 하자. 양을 양으로 판정한 수를 참양성true Positive $TP$, 음을 음으로 판정한 수를 참음성true Negative $TN$, 양을 음으로 잘못 판정한 수를 위음성false Negative $FN$, 음을 양으로 잘못 판정한 수를 위양성false Positive $FP$ 라 하자.

오류행렬

20180521\_131719.png

분류 문제에서 모형을 평가하는 지표로써 위와 같은 오류행렬confusion matrix을 참고할 수 있다.

정분류율accuracy

$$ \text{Accuracy} = {{TP + TN} \over { P + N }} $$ 위 표에서 P는 양성, N은 음성을 나타낸다. TP는 양성으로 예측되었고 실제로 양성인 경우, TN은 음성으로 예측되었고 실제로 음성인 경우다. 이 TP와 TN이 상대적으로 높은 모형을 좋은 모형이라고 평가하는 것은 상식적이고 타당하다. 한편 ‘정’이 있으면 당연히 ‘오’도 있다. 오분류율error rate은 다음과 같이 정의된다. $$ \text{Error Rate} = 1 - \text{Accuracy} = {{FP + FN} \over {N + P}} $$

정밀도precision

$$ \text{Precision} = {{TP } \over {TP + FP}} $$ 정밀도란 참으로 예측된 것 중 실제로 참인 것들의 비율이다. Accuracy와 헷갈리지 않도록 하자.

민감도sensitivity

$$ \text{Sensitivity} = \text{True Positive Rate} = \text{Recall} = {{TP } \over { P }} $$ 민감도란 양성인 것 중 참으로 예측된 것들의 비율로, 재현도recall 혹은 True Positive Rate 라고도 불린다.

특이도specificity

$$ \text{Specificity} = 1 - \text{False Positive Rate} = 1- {{FP } \over { N }} = {{TN } \over {N }} $$ 특이도란 음성인 것 중 거짓으로 예측된 것들의 비율이다.

여기서 False Positive Rate와 True Positive Rate를 각각 축으로 두고 그린 그림을 ROC 곡선이라고 한다.

같이보기