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
Precision
과 Recall
은 서로 상호 보완적인 관계입니다. 이 둘을 잘 조합해서 사용하면 어떨까요? F1 score
는 Precision
과 Recall
의 조화 평균입니다. 식은 아래와 같습니다.
$$
\begin{align*}F1 Score &= \frac{2}{\frac{1}{Precision} + \frac{1}{Recall}} \\ &=2*\frac{Precision * Recall}{Precision + Recall}\end{align*}
$$
Precision
과 Recall
둘 중 하나라도 0에 가까워지면 F1-Score
도 0에 가까워집니다.
'Study > ML, DL' 카테고리의 다른 글
Entropy, Information Gain 그리고 Decision Tree (0) | 2022.10.01 |
---|
댓글