분류모델 성능 지표 - Accuracy, Recall, Precision, Specificity, F1 Score, G-Mean
1. Confusion Matrix (혼동 행렬)
모델의 성능 지표는 분류 결과를 나타내는 혼동 행렬(Confusion Matric)로 만들 수 있다.
정상을 Negative 불량을 Positive 라 정의하고 맞출 경우 True, 틀릴 경우 False 라고 정의한다.
클래스 = {정상, 불량} | 예측 클래스 (Predicted Class) |
||
정상 (Negative) | 불량(Positive) | ||
실제 클래스 (Actual Class) |
정상(Negative) | TN (True Negative) | FP (False Positive) |
불량(Positive) | FN (False Negative) | TP (True Positive) |
2. Accuracy (정확도)
정의
전체 예측 중 올바르게 분류된 비율을 나타냅니다.
$$ \text{Accruacy} = \frac{TP+TN}{TP+TN+FP+FN} $$
단점
데이터 내 클래스 비율이 불균형을 이루면 좋지 않은 모델입니다.
예) 100명 중 99명이 건강하고 1명만 질병이 있는 경우, 모든 사람을 건강하다고 예측하는 모델의 정확도는 99%입니다. 하지만 이 모델은 실제로 질병을 가진 사람을 전혀 식별하지 못합니다
3. Recall (재현율), Sensitivity(민감도)
정의
실제 불량 샘플(Positive) 중 올바르게 불량 예측된 비율을 나타냅니다.
$$ \text{Recall} = \frac{TP}{TP+FN} $$
단점
과도하게 긍정적인 예측을 할 수 있습니다.
예) 스팸 메일 분류에서 모든 이메일을 스팸으로 분류하면 Recall은 100%가 되지만, 실제로는 많은 정상 메일도 스팸으로 잘못 분류됩니다
4. Precision (정밀도)
정의
불량(Positive)으로 예측한 샘플 중 올바르게 불량 예측된 비율을 나타냅니다.
$$ \text{Precision} = \frac{TP}{TP+FP} $$
단점
중요한 정보를 놓칠 수 있습니다.
예) 사기 거래 탐지에서 1000건의 거래 중 1건만 사기로 예측하고 그것이 맞았다면 Precision은 100%입니다. 하지만 이 모델은 나머지 999건의 거래에 대해서는 아무런 정보도 제공하지 않습니다
5. Specificity (특이도)
정의
실제 정상 샘플(Negative) 중 올바르게 정상 예측된 비율을 나타냅니다.
모델이 실제 음성 케이스를 얼마나 잘 식별하는지 측정합니다.
$$ \text{Specificity} = \frac{TN}{TN+FP} $$
6. F1 Score
정의
정밀도와 재현율의 조화평균입니다.
정밀도와 재현율 사이의 균형을 잡아주며, 0과 1 사이의 값을 가집니다.
$$ \text{F1 Score} = \frac{2 \times Precision \times Recall}{Precision+Recall} $$
7. G-Mean
정의
재현율과 특이도의 기하평균입니다.
클래스 불균형 데이터에서 유용하며, 양성 클래스와 음성 클래스에 대한 성능을 동시에 고려합니다.
$$ \text{G-Mean} = \sqrt{\text{Specificity}\times\text{Recall}} $$