Accuracy의 정의
Accuracy는 전체 예측 중에서 올바르게 예측한 비율입니다.
공식:
Accuracy = (TP + TN) / (TP + TN + FP + FN)
- TP: 실제 Positive를 Positive로 예측 (맞음)
- TN: 실제 Negative를 Negative로 예측 (맞음)
- FP: 실제 Negative를 Positive로 예측 (틀림)
- FN: 실제 Positive를 Negative로 예측 (틀림)
간단히 말하면:
Accuracy = 맞춘 개수 / 전체 개수
왜 "Accuracy"인가?
Accuracy의 뜻은 "정확도"입니다.
- 가장 직관적이고 이해하기 쉬운 지표
- "전체적으로 얼마나 정확하게 예측했는가"를 나타냅니다
언제 사용하나?
Accuracy는 클래스가 균형잡혀 있을 때 유용합니다.
좋은 경우:
- 동전 던지기 예측 (앞면 50%, 뒷면 50%)
- 성별 분류 (남성 50%, 여성 50%)
- 균형잡힌 데이터셋
Accuracy의 문제점 ⚠️
클래스 불균형(Class Imbalance)이 있을 때는 매우 misleading합니다!
예시 1: 암 진단
- 전체 환자 1000명 중 암 환자는 10명 (1%)
- 모든 사람을 "건강함"으로 예측하는 바보 모델
- Accuracy = 990/1000 = 99% 😱
- 하지만 암 환자를 한 명도 찾지 못함!
예시 2: 사기 거래 탐지
- 전체 거래 10,000건 중 사기는 50건 (0.5%)
- 모두 "정상"으로 예측
- Accuracy = 9,950/10,000 = 99.5% 😱
- 하지만 사기를 전혀 탐지하지 못함!
지표 비교 정리
| 지표 | 의미 | 언제 중요한가 |
|---|
| Accuracy | 전체 정확도 | 클래스 균형 잡힌 경우 |
| Precision | 예측의 정밀도 | False Positive 비용이 클 때 |
| Recall | 실제의 검출률 | False Negative 비용이 클 때 |
실전 조언
불균형 데이터에서는 Accuracy만 보면 안 되고:
- Precision과 Recall을 함께 확인
- F1-Score (Precision과 Recall의 조화평균) 사용
- Confusion Matrix 전체를 살펴보기
예를 들어, 암 진단 모델:
- Accuracy 99%라도
- Recall이 0%라면 → 쓸모없는 모델!
따라서 상황에 맞는 지표를 선택하는 것이 중요합니다! 🎯