繩鋸木斷水滴石穿/AI | 머신러닝
이진분류 모형평가 방법: confusion matrix와 정확도, 재현율, 정밀도, F1 score
stranger95
2022. 3. 20. 10:43
이진분류(binary classification)는 클래스가 0일지, 혹은 1일지를 맞추는 문제로, 실제 클래스와 예측 클래스의 조합에 따라 이진분류 모델의 성능을 정량화할 수 있습니다. 그 조합을 표로 나타낸 것을 혼동 행렬, 오차 행렬 또는 정오분류표(confusion matrix)이라고 하는데요. 아래와 같이 각 조합에 따라 실제 양성, 실제 음성, 거짓 양성, 거짓 음성으로 분류할 수 있습니다.
예측 클래스 | |||
Positive | Negative | ||
실제 클래스 | Positive | TP (True Positive) |
FN (False Negative) |
Negative | FP (False Positive) |
TN (True Negative) |
- TP(True Positive)
- 모델이 positive라고 예측했는데, 실제로도 positive여서 옳은(true) 결정인 경우
- TN(True Negative)
- 모델이 negative라고 예측했는데, 실제로도 negative여서 옳은(true) 결정인 경우
- FP(False Positive)
- 모델이 positive라고 예측했는데, 실제로는 negative여서 옳지 않은(false) 결정인 경우
- FN(False Negative)
- 모델이 negative라고 예측했는데, 실제로는 positive여서 옳지 않은(false) 결정인 경우
이진분류 평가방법
위 표로부터 전체 자료 수를 N이라고 할 때 정확도, 재현율, 정밀도는 아래와 같이 정의합니다.
- 정확도(Accuracy): 전체에서 정확하게 예측한 비율
$$ \frac{TP+TN}{N} $$
- 재현율(Recall): 실제로 positive인 클래스 중 positive라고 제대로 예측한 비율
$$ \frac{TP}{TP+FN} $$
- 정밀도(Precision): positive라고 예측한 클래스 중 실제로 positive인 비율
$$ \frac{TP}{TP+FP} $$
- F1 Score: 정밀도와 재현율의 조화평균으로, 클래스의 불균형이 심할 때(imbalanced data) 사용하는 지표
$$ (\frac{{1 \over Precision}+{1 \over Recall}}{2})^{-1} = \frac{2Precision * Recall}{Precision + Recall} $$