혼동행렬 (Confusion Matrix)
예측 클래스(Predicted Class) | ||||
양성 (Positive) | 음성 (Negative) | |||
실제 클래스 (Actual Class) |
양성 (Positive) | 참 양성 (TP, True Positive) | 거짓 음성 (FN, False Negative) 제 2종 오류 (Type Ⅱ Error) |
민감도 (Sensitivity) TP/(TP+FN) |
음성 (Negative) | 거짓 양성 (FP, False Positive) 제1종 오류 (Type Ⅰ Error) |
참 음성 (TN, True Negative) | 특이도 (Specificity) TN/(TN+FP) |
|
정밀도 (Precision) TP/(TP+FP) |
음성 예측도 (Negative Predictive) TN/(TN+FN) |
정확도 (Accuracy) TP+TN/(TP+TN+FP+FN) |
성능 지표 (Performance Metrics)
- 정확도(Accuracy)
전체 데이터 중에서 정확하게 분류된 비율
(TP+TN)/(TP+TN+FP+FN) - 정밀도(Precision, 양성 예측도)
양성으로 예측한 것 중 실제로 양성인 비율
TP/(TP+FP) - 민감도(Sensitivity, 재현율, Recall, TPR)
실제 양성 중에서 올바르게 예측된 비율
TP/(TP+FN) - 특이도(Specificity, TNR)
실제 음성 중에서 올바르게 음성으로 예측된 비율
TN/(TN+FN) - 오분류율(Error Rate)
잘못 예측한 비율
(FP+FN)/(TP+TN+FP+FN) - 정분류율(Correct Classification Rate)
정확도와 같은 개념 - F1-score
정밀도와 재현율의 조화 평균
2 x (Precision x Recall) / (Precision + Recall)
2TP / (2TP+FP+FN)
정확도는 정확할까?
정확도는 전체 데이터에서 정확하게 분류된 비율을 나타내지만, 데이터가 불균형할 경우 문제가 발생
- 양성이 극히 적고 음성이 많은 데이터
→항상 음성으로 예측하면, 높은 정확도를 얻을 수 있음 : 이는 유의미한 모델이 아님
정확도의 한계를 보완하기 위한 대안
- 정밀도(Precision)와 재현율(Recall) 사용
정밀도는 거짓 양성(FP)을 최소화하는 데 집중, 양성 예측의 신뢰도를 높임
재현율은 거짓 음성(FN)을 최소화하여 실제 양성을 놓치지 않는 데 중점을 둠 - F1-score
정밀도와 재현율의 균형을 맞춘 지표
정밀도, 재현율 사이의 trade-off를 해결하는 데 효과적
*정밀도(Precision) vs. 재현율(Recall)
정밀도를 높이면
FP(거짓 양성)을 줄이려 보수적으로 양성 예측
→ 모델이 정말 확신이 있는 경우에만 양성이라고 예측
→FN(거짓 음성)이 늘어남
→재현율이 떨어짐
재현율을 높이면
FN(거짓 음성)을 줄이려 더 많은 경우를 양성으로 예측
→조금이라도 가능성이 있으면 양성이라고 예측
→FP(거짓 양성)이 늘어남
→정밀도가 떨어짐
== Trade-off 관계 - ROC곡선(Receiver Operating Characteristic Curve)과 AUC(Area Under Curve)
다양한 임계값(Threshold)에서 TPR(True Positive Rate, 재현율: ROC곡선의 Y축)과 FPR(False Positive Rate, 1 - 특이도(TNR) : ROC 곡선의 X 축)간의 관계를 나타내며, AUC값이 클수록 좋은 모델 - Balanced Accuracy
불균형 데이터에서 특이도와 민감도의 평균값을 사용하여 균형 잡힌 성능 평가를 가능하게 함
(Sensitivity + Specificity) / 2
→양성과 음성에서 각각의 정확도를 평균 낸 값
→ 정확도는 간단하고 직관적인 지표이지만, 불균형한 데이터에서는 의미 없는 결과를 초래하므로 정밀도, 재현율 , F1-score, AUC 등의 지표를 함께 사용하여 보다 신뢰할 수 있는 모델 평가가 필요
'Python to AI' 카테고리의 다른 글
클래스, 클래스 변수, 인스턴스 변수 (1) | 2025.02.05 |
---|---|
titanic 데이터셋 분석 및 모델 학습 (0) | 2025.01.29 |
Iris 데이터셋과 결정 트리(Decision Tree) 모델 : 평가 방법 비교 및 교차 검증 실습 (0) | 2025.01.24 |
Scikit-Learn과 Estimator (0) | 2025.01.21 |
Perceptron(퍼셉트론) (1) | 2025.01.14 |