본문 바로가기
Study/ML, DL

Metrics - Accuracy, Precision, Recall and F1-Score

by 개발새-발 2022. 10. 2.
반응형

Accuracy (정확도), Precision(정밀도), Recall (재현율) 그리고 F1 Score는 Classification을 수행한 모델이 잘 동작하였는지 확인하기 위한 척도입니다.

Confusion Matrix

예측값 Positive 예측값 Negative
실제값 Positive TP FN = Type II error
실제값 Negative FP = Type I error TN

우선 TP, FN, FP, TN에 대해 먼저 알아봅시다. 이 값들은 실제 참혹은 거짓인 값들에 대해 몇 개를 정확히 예측하였는지, 그렇지 않았는지 알려줍니다. TP, FN, FP, TN 값의 의미는 아래와 같습니다.

  • TP : Positive라 예측한 것중 맞은
  • FP : Positive라 예측한 것중 틀린
  • TN : Negative라 예측한 것중 맞은
  • FN : Negative라 예측한 것중 틀린

어떤 모델이 과일이 사과인지 여부를 판단한다 가정합시다. 우리 모델은 10개 중 6개를 사과로 분류하였고, 4개는 사과가 아니라고 판단하였습니다. 그런데, 알고 보니 사과로 분류한 6개 중 2개는 사과가 아니었고, 사과가 아니라 분류한 4개 중 1개는 사과였습니다. 이 경우 우리는 아래와 같이 confusion matrix를 적을 수 있습니다.

PP PN
P 4 1
N 2 3

(P : Positive, N : Negative, PP : Predicted Positive, PN : Predicted Negative)

Accuracy (정확도)

전체 값 중 맞게 분류한 부분의 비율입니다. 전체는 TP + FN + FP + TN이고, 맞게 분류한 값들은 TP + TN입니다. 따라서 Accuracy는 아래와 같습니다.

$$
Accuracy = \frac{TP + TN}{TP + FN + FP + TN}
$$

그러나 P 혹은 N 중 하나의 값이 다른 값에 비해 극단적으로 큰 경우 문제가 발생합니다. 10,000명 중 1명꼴로 걸리는 희소 질환이 있다고 가정합시다. 특별한 진단 없이 단순히 “희소 질환이 발병하지 않았다”라고만 해도 Accuracy는 9999 / 10,000인 0.9999입니다. 높은 정확도를 보이지만, 희소 질환에 걸린 환자는 단 한 명도 구별해 낼 수 없습니다.

Precision (정밀도)

모델이 Positive라 예측한 것(PP) 중 실제 Positive(TP) 한 값의 비율입니다.

$$
Precision = \frac{TP}{PP} = \frac{TP}{ TP + FP}
$$

FP = 0 인 경우 Precision은 1이 됩니다. 그러나 Precision은 Negative로 예측한 값(PN)들을 고려하지 않습니다. 그래서, 분류 때에 Positive인지 Negative인지 헷갈리는 값들을 다 Negative로 보내서 Precision이 높아질 수 있습니다.

Recall (재현율)

실제 Positive인 값(P) 중 Positive라 예측한 값(TP)들의 비율입니다. Hit rate, Sensitivity라고도 불립니다.

$$
Recall = \frac{TP}{P} = \frac{TP}{TP + FN}
$$

FN = 0인 경우 Recall은 1이 됩니다. 하지만, FP의 값을 고려하지 않기 때문에 Positive인지 Negative인지 헷갈리는 값들을 다 Positive로 보내서 Recall이 높아질 수 있습니다.

F1 Score

PrecisionRecall은 서로 상호 보완적인 관계입니다. 이 둘을 잘 조합해서 사용하면 어떨까요? F1 scorePrecisionRecall의 조화 평균입니다. 식은 아래와 같습니다.

$$
\begin{align*}F1 Score &= \frac{2}{\frac{1}{Precision} + \frac{1}{Recall}} \\ &=2*\frac{Precision * Recall}{Precision + Recall}\end{align*}
$$

PrecisionRecall 둘 중 하나라도 0에 가까워지면 F1-Score도 0에 가까워집니다.

반응형

'Study > ML, DL' 카테고리의 다른 글

Entropy, Information Gain 그리고 Decision Tree  (0) 2022.10.01

댓글