좋은 모델을 만들기 위한 첫걸음은 올바른 평가 지표를 선택하는 것이다.
모델이 얼마나 잘 작동하는지를 판단하려면, 단순히 하나의 숫자에만 의존해서는 안 됩니다. 예를 들어, 가장 흔히 떠올리는 평가 지표인 ‘정확도(Accuracy)’는 예측이 얼마나 맞았는지를 직관적으로 보여주는 장점이 있지만, 모든 상황에 적합하지는 않습니다.
특히 한쪽 클래스가 월등히 많은 불균형 데이터셋에서는 정확도가 오히려 모델의 문제점을 가릴 수 있습니다. 실제로 전체 인구의 0.1%만이 특정 질병을 앓고 있는 상황에서, 모든 사람이 건강하다고 예측해도 99.9%의 정확도를 얻을 수 있습니다. 하지만 그 모델이 실제로 질병을 찾아내는 데 거의 무용하다는 건 명백하죠.
이렇듯 모델의 종류, 사용 목적, 데이터의 특성에 따라 적절한 지표를 고르는 것이 무엇보다 중요합니다. 정밀도(Precision), 재현율(Recall), F1 점수(F1-score) 등 다양한 지표를 종합적으로 고려해야만, 진짜 ‘좋은’ 모델을 만들 수 있습니다.
■ 분류 평가의 기본 : TP, TN, FP, FN
모델의 성능을 평가하기 위해 자주 사용하는 네 가지 개념이 있습니다. 이것들을 정확히 이해해야 다양한 지표(정확도, 정밀도 등)를 제대로 해석할 수 있습니다.
용어 | 의미 | 예시 (암 진단 모델 기준) |
TP (True Positive) | 실제로 ‘참’인데 모델도 ‘참’이라고 예측한 경우 | 암 환자를 암이라고 정확히 예측 |
TN (True Negative) | 실제로 ‘거짓’인데 모델도 ‘거짓’이라고 예측한 경우 | 건강한 사람을 건강하다고 예측 |
FP (False Positive) | 실제로는 ‘거짓’인데 모델이 ‘참’이라고 잘못 예측한 경우 (위양성) | 건강한 사람을 암 환자라고 예측 |
FN (False Negative) | 실제로는 ‘참’인데 모델이 ‘거짓’이라고 잘못 예측한 경우 (위음성) | 암 환자를 건강하다고 예측 |
■ (이진) 분류 평가 지표
- 정확도 (Accuracy)
정의: 전체 예측 중에서 정답을 맞힌 비율
Accuracy = (TP + TN) / (TP + TN + FP + FN)
활용 사례:
- 클래스 간 비율이 고르게 분포된 데이터에서 유용
- 예: 개/고양이 이미지를 분류하는 모델 등
- ❗단, 불균형 데이터에서는 과도한 낙관적 해석을 유발할 수 있음
- 정밀도 (Precision)
정의:
양성으로 예측한 것 중에서 실제 양성의 비율
Precision = TP / (TP + FP)
활용 사례:
- 거짓 양성(False Positive)이 치명적인 경우
- 예: 스팸 필터링 → 스팸이 아닌 메일을 스팸으로 잘못 분류하면 안 됨
- 예: 암 진단에서 암이 아닌 사람을 암이라고 잘못 진단하면 불필요한 치료와 비용 초래
- 재현율 (Recall, Sensitivity)
정의:
실제 양성 중에서 모델이 올바르게 예측한 비율
Recall = TP / (TP + FN)
활용 사례:
- 거짓 음성(False Negative)이 더 큰 피해를 주는 경우
- 예: 질병 진단 → 병을 가진 환자를 놓치면 심각한 결과
- 예: 침입 탐지 시스템 → 실제 공격을 놓치지 않는 것이 중요
- F1 점수 (F1-Score)
정의:
정밀도와 재현율의 조화 평균
F1 = 2 * (Precision * Recall) / (Precision + Recall)
활용 사례:
- 정밀도와 재현율 사이의 균형이 필요한 경우
- 예: 뉴스 기사 분류, 감정 분석 등에서 한쪽 지표에만 치우치면 왜곡 가능
- ❗특히 클래스 불균형 상황에서 정확도보다 신뢰할 수 있는 지표
- AUC-ROC (Area Under the ROC Curve)
정의:
모든 임계값에서의 TPR(재현율) vs. FPR(위양성률) 곡선 아래 면적
1에 가까울수록 이상적, 0.5이면 무작위 추측 수준
활용 사례:
- 이진 분류 모델의 전체적인 성능 평가
- 예: 의료 영상에서 질병 여부 판단, 금융 사기 탐지 등에서 많이 사용
- 임계값을 조절해 다양한 민감도 수준을 확인 가능
- 혼동 행렬 (Confusion Matrix)
정의:
모델 예측 결과를 실제 클래스와 비교한 표 (TP, TN, FP, FN)
활용 사례:
- 지표별 수치만으로는 파악하기 어려운 오분류 패턴을 직관적으로 파악
- 예: 어떤 클래스에서 오류가 집중되는지 확인할 때 유용
'AI > 모델별 정리' 카테고리의 다른 글
KNN : K-Nearest Neighbors (k-최근접 이웃) (0) | 2025.05.19 |
---|---|
Logistic Regression (로지스틱 회귀) (0) | 2025.05.18 |
Linear Regression(선형 회귀) (0) | 2025.05.18 |
목차. 기초 머신러닝(딥러닝 포함) 모델 종류 (0) | 2025.05.18 |
PCA : 주성분 분석 (0) | 2025.05.08 |