ML,DL,LangChain/01_MathForAi
혼동행렬분석
- -
분류 모델 성능 리포트 ✨
총 54개 샘플 분석 결과
혼동 행렬 (Confusion Matrix) 🎯
출처: encord.ai
현재 모델의 혼동 행렬
예측: 0
예측: 1
실제: 0
18
TN
0
FP
실제: 1
1
FN
35
TP
정확한 예측 (TP: True Positive, TN: True Negative)
잘못된 예측 (FP: False Positive, FN: False Negative)
📚 혼동 행렬이란?
혼동 행렬은 분류 모델의 예측 결과를 한눈에 보여주는 표예요. 실제 값과 예측 값을 비교해서 모델이 어떤 실수를 하는지 알 수 있어요!
✅ True Positive (TP): 35개
실제로 1인 걸 1이라고 정확히 예측했어요
✅ True Negative (TN): 18개
실제로 0인 걸 0이라고 정확히 예측했어요
❌ False Positive (FP): 0개
실제는 0인데 1이라고 잘못 예측 (완벽해요! 🎉)
❌ False Negative (FN): 1개
실제는 1인데 0이라고 잘못 예측 (거의 완벽해요!)
💡 현재 모델 상태
54개 중 53개를 정확히 맞췄어요! (정확도 98.1%) FP가 0개라는 건 오탐이 없다는 뜻이고, FN이 1개만 있어서 거의 완벽한 성능이에요! 👏
📊 지표 계산 방법
Precision (정밀도)
"모델이 Positive라고 예측한 것 중 실제로 맞은 비율"
Precision = TP / (TP + FP)
클래스 0: 18 / (18 + 0) = 0.95 (추정)
클래스 1: 35 / (35 + 0) = 1.00
📌 해석: 1에 가까울수록 '양성' 예측이 신뢰할 만함
• 0.8 이상: 우수 • 0.6~0.8: 보통 • 0.6 미만: 개선 필요
💡 Precision이 높고 Recall이 낮으면 → 오탐 적고 놓침 많음
• 0.8 이상: 우수 • 0.6~0.8: 보통 • 0.6 미만: 개선 필요
💡 Precision이 높고 Recall이 낮으면 → 오탐 적고 놓침 많음
Recall (재현율)
"실제 Positive 중에서 모델이 찾아낸 비율"
Recall = TP / (TP + FN)
클래스 0: 18 / (18 + 0) = 1.00
클래스 1: 35 / (35 + 1) = 0.97
📌 해석: 1에 가까울수록 실제 양성을 잘 놓치지 않음
• 0.8 이상: 우수 • 0.6~0.8: 보통 • 0.6 미만: 개선 필요
💡 Recall이 높고 Precision이 낮으면 → 양성 많이 잡지만 오탐 많음
• 0.8 이상: 우수 • 0.6~0.8: 보통 • 0.6 미만: 개선 필요
💡 Recall이 높고 Precision이 낮으면 → 양성 많이 잡지만 오탐 많음
F1-Score
"Precision과 Recall의 조화평균"
F1 = 2 × (Precision × Recall) / (Precision + Recall)
클래스 0: 2 × (0.95 × 1.00) / (0.95 + 1.00) = 0.97
클래스 1: 2 × (1.00 × 0.97) / (1.00 + 0.97) = 0.99
📌 해석: Precision과 Recall의 균형을 본 값
• 0.8 이상: 우수
💡 두 지표의 균형이 중요할 때 참고하세요
• 0.8 이상: 우수
💡 두 지표의 균형이 중요할 때 참고하세요
Accuracy (정확도)
"전체 중에서 정확히 예측한 비율"
Accuracy = (TP + TN) / Total
(35 + 18) / 54 = 0.98
📌 해석: 전체 예측 중 맞춘 비율
• 0.9 이상: 매우 우수 • 0.7~0.9: 보통 • 0.7 미만: 개선 필요
⚠️ 클래스 불균형 데이터에서는 오해의 소지가 있어요
• 0.9 이상: 매우 우수 • 0.7~0.9: 보통 • 0.7 미만: 개선 필요
⚠️ 클래스 불균형 데이터에서는 오해의 소지가 있어요
Macro / Weighted Avg
Macro: 클래스별 평균 (단순평균)
Weighted: 샘플 수 가중 평균
Weighted: 샘플 수 가중 평균
Macro = (클래스0 + 클래스1) / 2
Weighted = (클래스0×18 + 클래스1×36) / 54
📌 해석: 클래스 불균형이 있을 때는 Weighted Avg를 참고하세요
💡 Macro는 각 클래스를 동등하게, Weighted는 샘플 수에 비례해서 평가해요
💡 Macro는 각 클래스를 동등하게, Weighted는 샘플 수에 비례해서 평가해요
📋 Classification Report 전체 표
| Precision | Recall | F1-Score | Support | |
|---|---|---|---|---|
| 0 | 0.95 | 1.00 | 0.97 | 18 |
| 1 | 1.00 | 0.97 | 0.99 | 36 |
| accuracy | 0.98 | 54 | ||
| macro avg | 0.97 | 0.99 | 0.98 | 54 |
| weighted avg | 0.98 | 0.98 | 0.98 | 54 |
💡 주요 인사이트
- 모델의 전체 정확도는 98%로 매우 우수한 성능을 보여요!
- 클래스 1이 클래스 0보다 2배 많은 불균형 데이터셋이에요
- 클래스 0: 높은 재현율(1.00)로 모든 케이스를 놓치지 않았어요
- 클래스 1: 완벽한 정밀도(1.00)로 오탐이 전혀 없어요
'ML,DL,LangChain > 01_MathForAi' 카테고리의 다른 글
| Tokenizer 학습 과정 (0) | 2025.10.15 |
|---|---|
| MLP (0) | 2025.10.15 |
| 순전파와 역전파 (0) | 2025.10.14 |
| 경사하강법 시뮬레이션 (0) | 2025.10.12 |
| MathForAi (0) | 2025.10.12 |
Contents
소중한 공감 감사합니다