모델 성능평가 척도
모델 성능평가 지표
모델 성능평가 지표, 이 사진을 많이 봤을 것이다. 제대로 이해해보려고 한다.
- True Positive, TP : 모델이 예측을 맞췄고 양성으로 예측을 했다는 뜻
- True Negative, TN : 모델이 예측을 맞췄고 음성으로 예측했다는 뜻
- False Positive, FP : 모델이 예측을 틀렸고 양성으로 예측했다는 뜻
- False Negative, FN : 모델이 예측을 틀렸고 음성으로 예측했다는 뜻
위에 설명한 것처럼 모델이 예측을 성공했는지 틀렸는지가 먼저 들어가고 모델이 예측한 것을 뒤에 넣는다.
정확도(Accuracy)
모델이 정확히 분류 또는 예측한 데이터의 비율이다.
그래서 식은 다음과 같이 된다.
$$ \frac{TP + TN}{TP + TN + FP + FN} $$
여기서 정확도는 2 class 문제에서 Positive에 해당하는 데이터는 9900건, Negative에 해당하는 데이터는 100건이 존재할 경우, 모델이 모든 데이터를 Positive로 예측할 경우에도 즉, Negative를 예측하지 못했음에도 불구하고 Accuracy는 9900 / 10000 = 99%가 되게 된다.
이러한 경우가 있어서 Accuracy 모델은 성능을 측정하는 척도로 적합하지 않다.
에러율(Error rate)
Accuracy와 반대로 예측하지 못한 데이터들의 비율이다.
$$ \frac{FP + FN}{TP + TN + FP + FN} $$
Accuracy와 같은 이유로 성능을 측정하는 척도로는 적합하지 않을 것 같다.
재현율(Recall)
실제가 양성인 데이터들 중 모델이 양성으로 잘 예측한 데이터의 비율이다.
$$ \frac{TP}{TP + FN} $$
재현율은 민감도(Sensitivity), Hit rate라고도 한다.
정밀도(Precision)
모델이 예측한 데이터들 중 잘 예측한 데이터의 비율이다.
$$ \frac{TP}{TP + FP} $$
특이도(Specificity)
실제의 음성 데이터들 중 모델이 음성으로 잘 예측한 데이터의 비율이다.
$$ \frac{TN}{TN + FP} $$
F1 Score
정밀도 Precision과 재현율 Recall은 모델의 성능을 객관적으로 판단하기 부족하다.
정밀도와 재현율은 서로 트레이드 오프 관계이므로 이 관계를 통합하여 하나의 수치로 정확도를 도출해야 한다.
이를 위해 나온 것이 F1 Score이다.
F1 Score는 \( 2 * \frac{Precision * Recall}{Precision + Recall} \) 로 구한다.
References
https://www.youtube.com/watch?v=Eyxynd-vDsQ