[study] performance metric

Hyunwoo Lee
3 min readOct 31, 2022

--

딥러닝, 머신러닝에서 classification model을 만들고 평가할 때 평가에 사용하는 지표들은 다양하다. 하지만 굉장히 헷갈리는 경우가 많기 때문에 여기서 다시 정리하고자 한다.

TP: True Positive, 예측맞춤, 예측은 Positive, 정답도 Positive
TN: True Negative, 예측맞춤, 예측은 Negative, 정답도 Negative
FP: False Positive, 예측틀림, 예측은 Positive, 정답은 Negative
FN: False Negative, 예측틀림, 예측은 Negative, 정답은 Positive

Classification에서 위의 4개의 결과는 헷갈리지만 ‘예측’에 대한 설명이라고 이해하는 것이 편하다. 앞에 나오는 알파벳은 예측이 틀렸는지 (False), 맞았는지 (True)를 알려주는 것이고 뒤에 오는 알파벳은 예측이 Negative인지 Positive인지를 알려주는 것이다(앞에서 뒤를 수식) . 예를 들면, FP는 False Positive는 틀린 Positive 예측이므로 Positive를 예측했으나 실제 정답은 Negative인 것이다. 그럼 이 4가지 요소로 계산하는 Metric들을 정리해보자.

Accuracy = (TP +TN) / (TP+TN+FP+FN) 전체 정확도
Sensitivity, Recall, 민감도= TP / (TP+FN) 실제 Positive 중에서 Positive로 맞춘 갯수
Specificity , TNR (True Negative Rate) , 특이도 = TN / (TN +FP) Negative중에서 Negative로 맞춘 개수
Precision, PPV (Positive predictive value) = TP / (TP+FP) Positive 예측 중에서 맞은 개수
FPR (False positive Rate) = FP / (TN + FP) Negative중에서 Positive로 틀린 개수
F1 score = 2* (precision * recall) /(precision+recall)

Senstivity와 Specificity를 알 때, Precision을 계산하는 방법?
Senstivity (Positive)에 대한 recall과 Specificity (Negative)에 대한 recall은 알지만 Precision을 계산하려면 Positive와 Negative간의 비율도 알아야 함.
만약 Prevalance를 알고 있다면 이걸 이용해서 TP/(TP+FP) 계산 가능.
* 코로나 검사 키트의 Sensitivity가 90%, Specificity가 99%, Prevalance가 3%이면? Precision, PPV는 73.6%, Prevalance가 증가하면 그만큼 Precision은 증가함. 이것이 단일 Metric의 한계를 보여줌.

--

--

No responses yet