Search

Evaluation Metrics for Classification (평가 지표: 분류)

@진학 김 @2/18/2025
분류 모델의 평가지표를 알기 전에 우리는 Confusion Matrix에 대해 알아야 한다

혼동 행렬(Confusion Matrix)

혼동 행렬은 예측 값과 실제 값에 따라 TP, TN, FP, FN을 판단하기 위해 사용하는 표이다
이를 통해 모델의 예측 오류가 얼마인지, 어떤 유형의 예측 오류가 발생하고 있는지를 확인할 수 있다
Confusion Matrix에 대한 개념을 바탕으로 정확도, 정밀도, 재현율 등의 평가지표를 계산하게 된다
True Positive(TP) : 실제 True인 정답을 True라고 예측 (정답) False Positive(FP) : 실제 False인 정답을 True라고 예측 (오답) False Negative(FN) : 실제 True인 정답을 False라고 예측 (오답) True Negative(TN) : 실제 False인 정답을 False라고 예측 (정답)

정확도(Accuracy)

: 모형이 전체 데이터를 얼마나 정확하게 분류하는가를 나타내는 평가지표
Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP+TN}{TP+TN+FP+FN}
예측 결과가 동일한 데이터 수 / 전체 예측 데이터 수
분류 모델이 얼마나 정확하게 분류했는지 평가하는 지표
높은 정확도를 가진 모델이 반드시 좋은 모델은 아님
데이터 샘플 구성이 잘못될 경우 모델의 성능 평가가 왜곡될 수 있음
예를 들어, 전체 데이터의 99%가 Negative 클래스라면, 모델이 모든 샘플을 Negative로 예측하더라도 99%의 정확도를 얻을 수 있음
즉, 정확도(accuracy)는 불균형 데이터의 영향을 크게 받음
Accuracy : 전체 예측 중 올바른 예측의 비율
적합한 경우 : 클래스 분포가 균형적인 경우
부적합한 경우 : 클래스 불균형이 심한 경우 (희귀 질환, 사기 탐지)
예시:
적합
일반적인 이진/다중 클래스 분류 문제
개 vs. 고양이 분류 (개와 고양이가 거의 같은 비율로 존재할 때)
이메일이 긍정/부정인지 분류
클래스 분포가 균형적인 경우
제품의 품질 검사 (양품/불량품 비율이 비슷할 때)
부적합
희귀 질환 검출 (환자가 1%인데 99%를 "정상"으로 예측해도 Accuracy가 높음)

정밀도(Precision) & 재현율(Recall)

: Precision과 recall은 positive class로 예측한 샘플에 대한 평가지표

정밀도(Precision)

예측을 Positive로 한 대상 중, 예측과 실제 값이 Positive로 일치한 데이터 비율
Precision=TPTP+FPPrecision = \frac{TP}{TP+FP}
높은 정밀도는 모델이 긍정 클래스를 예측할 때 신뢰할 수 있음을 의미함
정밀도가 높으면 거짓 긍정이 적어 긍정 예측의 정확성이 높음
Precision : 양성 예측 중 실제 양성 비율
적합한 경우 : 거짓 양성(FP, False Positive)이 중요한 경우
부적합한 경우: 거짓 음성(FN)이 중요한 경우
예시:
적합
FP를 줄여야 하는 문제 (오진이 큰 피해를 주는 경우)
스팸 필터링: 정상 이메일을 스팸으로 잘못 분류하면 안 됨.
법률 판결 (유죄 예측 모델): 결백한 사람을 유죄로 판결하면 큰 문제가 됨.
광고 추천 시스템
사용자가 관심이 없는 광고를 추천하면 안 되므로 Precision을 높이는 것이 중요.
부적합
암 진단: 암 환자를 놓치면 안 되므로 Recall을 높이는 것이 중요

재현율(Recall)

실제 Positive 중, 모델의 예측과 실제값이 Positive로 일치한 데이터 비율
Recall=TPTP+FNRecall = \frac{TP}{TP + FN}
높은 재현율은 모델이 실제 긍정 사례를 잘 포착하고 있음을 의미함
재현율이 높으면 거짓 부정이 적어 긍정 클래스를 놓치는 경우가 적음
Recall : 실제 양성 중 모델이 잡아낸 비율
적합한 경우 : 거짓 음성(FN, False Negative)이 중요한 경우
부적합한 경우 : 거짓 양성(FP)이 중요한 경우
예시:
적합
FN을 줄여야 하는 문제 (중요한 경우를 놓쳐서는 안 되는 문제)
암 진단: 암 환자를 놓치면 심각한 문제가 발생하므로 Recall이 중요.
사기 탐지: 사기 거래를 놓치는 것이 더 큰 문제이므로 Recall을 높여야 함.
보안 시스템
악성코드 탐지 시스템에서 Recall이 높아야 함 → 악성코드를 놓치면 큰 피해 발생.
부적합
스팸 필터에서 Recall만 높이면 모든 이메일을 스팸으로 분류할 가능성이 있음

Trade-off. Precision and Recall

Precision과 Recall은 trade-off 관계임
Threshold ↓ (낮음)
더 많은 샘플을 양성(Positive)으로 예측
FN(거짓 음성) 감소 → Recall 증가
FP(거짓 양성) 증가 → Precision 감소
Threshold ↑ (높음)
더 적은 샘플을 양성으로 예측 (보수적인 판별)
FN 증가 → Recall 감소
FP 감소 → Precision 증가

F1 Score

: F1 스코어는 정밀도(Precision)와 재현율(Recall)의 조화 평균으로, 두 지표의 균형을 평가하는 지표
F1=2×precision×recallprecision+recallF1 = \frac{2\times precision \times recall}{precision + recall}
Precision과 Recall의 조화평균으로 계산되는 지표임
두 지표 간 trade-off를 반영하여 균형 잡힌 성능 평가가 가능함
0에서 1 사이의 값을 가지며, 1에 가까울수록 좋은 성능을 의미함
F1-score : Precision과 Recall의 조화 평균
적합한 경우 : Precision과 Recall이 모두 중요한 경우 (클래스 불균형 문제에서 적합)
부적합한 경우 : Precision 또는 Recall 중 하나만 중요할 때
예시:
적합
Precision과 Recall이 둘 다 중요한 문제
희귀 질환 예측: 환자를 놓치면 안 되지만, 오진도 줄여야 함.
사기 탐지 시스템: 사기를 놓치면 안 되지만, 정상 사용자를 사기로 오진하는 것도 줄여야 함.
클래스 불균형이 있는 데이터에서 모델 비교
부적합
법률 시스템에서는 Precision이 더 중요 (무고한 사람을 유죄로 판결하면 안 됨)

ROC curve & AUC

: ROC(Receiver Operating Characteristic) Curve는 임곗값을 변화시키면서 TPR(True Positive Rate, 민감도)FPR(False Positive Rate, 위양성률)의 관계를 시각화한 곡선

TPR(True Positive Rate, Recall)

TPR=TPTP+FNTPR = \frac{TP}{TP+FN}

FPR (False Positive Rate)

FPR=FPFP+TNFPR= \frac{FP}{FP+TN}

AUC (Area Under the Curve)

AUC=01TPR(FPR)d(FPR)AUC = \int_{0}^{1}{TPR(FPR)d(FPR)}
AUC(Area Under the Curve)는 ROC 곡선 아래 면적으로, 모델이 임의의 Positive 샘플을 Negative 샘플보다 더 높은 확률로 예측할 가능성을 나타내는 지표임
AUC 값은 0~1 사이의 범위를 가지며, 1에 가까울수록 모델의 분류 성능이 우수함
불균형 데이터에서도 비교적 안정적인 성능 평가가 가능함
클래스가 극도로 불균형할 경우, FPR이 과소평가되어 AUC 값이 과대평가 될 위험이 있음

이상적인 경우 (AUC = 1)

모델이 두 클래스를 모두 올바르게 예측했을 때의 이상적인 상황일 때
분포 간에 중복이 없고, 이 모델은 양성 클래스와 음성 클래스를 완벽하게 구별할 수 있음

AUC = 0.7 인 경우

양성 및 음성 클래스를 70%로 구분 가능

AUC = 0.5 인 경우

모델은 양성 및 음성 클래스를 구분할 수 없음
랜덤 분류기 (Random classifier)

AUC = 0 인 경우

모델이 역으로 클래스를 예측
음수 클래스 → 양수 클래스로, 양수 클래스 → 음수 클래스로 예측
ROC-AUC : 모델의 전체적인 분류 성능 평가
적합한 경우 : 전체적인 모델 성능 비교, 클래스가 균형적인 경우
부적합한 경우 : 클래스 불균형이 심한 경우 (PR-AUC가 더 적합)
예시:
적합
모델 성능 비교 (전체적인 성능 평가 필요할 때)
여러 모델을 비교하여 가장 안정적인 모델을 찾는 데 유용.
의료 진단 시스템 평가
Threshold를 조정하며 최적의 임곗값을 찾을 때
부적합
사기 탐지와 같은 클래스 불균형 문제에서는 PR-AUC가 더 적합

 PR curve & PR AUC

: PR-ROC (Precision-Recall Curve)는 분류 모델의 정밀도(Precision)와 재현율(Recall) 간의 관계를 나타낸 그래프
PR curve는 x축에 Recall, y축에 Precision을 두어, 모델이 양성 클래스를 얼마나 잘 예측했는지를 나타냄
PR 곡선 아래 면적이 클수록 모델의 성능이 좋으며, 이 면적을 PR AUC라고 함
클래스 불균형 데이터에서 유리: 양성 클래스의 비율이 매우 낮을 때도 성능을 정확히 평가할 수 있음
True Negative를 무시: PR 곡선은 음성 클래스를 고려하지 않으며, 양성 클래스에 대한 예측 성능에 집중하므로, 이상 탐지나 사기 탐지 등에서 적합함
PR-AUC : 클래스 불균형 문제에서 모델 평가
적합한 경우 : 클래스 불균형이 심한 문제 (희귀 질환, 사기 탐지 등)
부적합한 경우 : 클래스가 균형적인 경우 (ROC-AUC가 더 적합)
예시:
적합
희귀 질환 예측 (의료 데이터)
전체 환자 중 1%만이 질병을 가짐 → Accuracy나 ROC-AUC로 평가하면 높은 값이 나와도 실제 성능이 낮을 수 있음.
PR-AUC를 사용하면 실제 양성 샘플에 대한 예측 성능을 정확하게 평가 가능.
온라인 사기 탐지
사기 거래가 전체 거래의 0.1% 이하 → ROC-AUC는 무의미할 수 있음.
PR-AUC를 사용하여 Precision과 Recall의 균형을 평가.
부적합
강아지 vs. 고양이 분류 (클래스 비율이 비슷하면 ROC-AUC가 더 적절함)

ROC curve & PR curve 과정

Threshold가 낮을수록 (예: 0.0~0.1)
모델이 거의 모든 샘플을 양성으로 예측 → TP(참 양성)와 FP(거짓 양성) 모두 증가
ROC 커브: (1,1)에서 시작 (TPR = 1, FPR = 1)
PR 커브: Recall(재현율)은 1에 가까워지지만, Precision(정밀도)은 낮아짐
Threshold가 중간일 때 (예: 0.5, 기본값)
모델이 적절한 균형을 유지하며 양성과 음성을 구분
ROC 커브: 곡선이 중앙에서 변화하며 적절한 TPR과 FPR을 형성
PR 커브: Precision과 Recall이 균형을 이루는 중간 영역
Threshold가 높을수록 (예: 0.9~1.0)
모델이 보수적으로 양성을 예측 → FP(거짓 양성) 거의 없음, 하지만 FN(거짓 음성) 증가
ROC 커브: (0,0) 근처로 이동 (FPR = 0, TPR = 0)
PR 커브: Recall이 낮아지고, Precision이 높아짐

Log loss

Log loss는 분류 문제의 대표적인 평가지표이며 교차 엔트로피(cross-entropy)라 부르기도 함
실제 값을 예측하는 확률에 로그를 취하여 부호를 반전시킨 값
즉, 분류 모델 자체의 잘못 분류된 수치적인 손실값(loss)을 계산
Logloss는 낮을수록 좋은 지표
Logloss=1Ni=1n(yilog(y^)+(1yi)log(1y^))Logloss = -\frac{1}{N}\sum\limits_{i=1}^n (y_ilog(\hat{y}) + (1-y_i)log(1-\hat{y}))
yiy_i : 실제 클래스 (0 또는 1)
y^ŷ: 모델이 예측한 확률 값 (0~1 사이)
NN : 샘플 개수
예를 들어서 100% 확률로 답을 구한 경우 log loss는 -log(1.0) =0이 됨. 그러나 50%의 확률로 답을 구한경우 log loss는 -log(0.5)로 약 0.69가 됨
log loss는 낮을 수록 좋은데, 낮은 확률로 답을 구한 경우 log loss가 더 높은 것을 볼 수 있음
즉, 확률이 낮아질수록 log loss는 기하급수적으로 증가하고, log loss는 확률이 낮을 때 패널티를 더 많이 부여하기 위해 음의 로그 함수를 사용함
Log loss : 모델의 예측 확률과 실제 값 간의 차이를 평가
적합한 경우: 확률 기반 모델 평가 (예: 신용 점수, 의료 예측 등)
부적합한 경우 : 단순히 최종 클래스 예측만 중요한 경우
예시:
적합
신용 대출 승인 예측 (금융 모델링)
고객의 부도 확률을 예측하는 모델에서 단순한 "승인/거절" 예측이 아니라 정확한 확률이 중요함.
Log Loss를 최소화하는 방식으로 학습하면, 모델이 신뢰할 수 있는 확률을 출력하도록 최적화 가능.
의료 진단 확률 예측
모델이 "암일 확률이 0.9"라고 예측하는 것과 "0.6"이라고 예측하는 것은 큰 차이가 있음.
Log Loss를 사용하면 모델이 확률을 얼마나 신뢰할 수 있는지 평가 가능.
부적합
개 vs. 고양이 분류 (확률이 아니라 최종 분류가 중요함)

Cohen’s Kappa efficient

: 두 명 이상의 평가자 간의 일치도(범주형 자료에서)를 측정하는데 사용되는 통계량
κ=pope1pe=11po1pe\kappa = \frac{p_o-p_e}{1-p_e} = 1-\frac{1- p_o}{1-p_e}
pop_o (P_observed) : 관측된 일치도 (평가자 간의 실제 일치하는 비율)
pepₑ (P_expected) : 기대되는 일치도 (무작위로 예측할 경우의 평가자 간의 일치 비율)
po=TN+TPTP+FP+FN+TNp_o = \frac{TN + TP}{TP + FP + FN + TN}
pe=(TN+FN)(TN+FP)(TP+FP+FN+TN)+(FN+TP)(FP+TP)(TP+FP+FN+TN)p_e = \frac{(TN + FN)(TN+FP)}{(TP + FP + FN + TN)}+\frac{(FN+TP)(FP+TP)}{(TP + FP + FN + TN)}
κκ = 1 → 완벽한 예측
κκ = 0 → 랜덤 예측과 동일한 수준
κκ < 0 → 랜덤 예측보다도 못함
Kappa 계수 해석
κ
Interpretation
0.000 ~ 0.200
Slight
0.201 ~ 0.400
Fair
0.401 ~ 0.600
Moderate
0.601 ~ 0.800
Substantial
0.801 ~ 1.000
Almost Perfect
Cohen’s Kappa efficient : 불균형 문제에서 정확도보다 더 신뢰할 수 있는 평가가 필요할 때
적합한 경우 : 클래스 불균형이 있는 경우 (불균형 데이터 평가에 적합)
예시:
적합
의료 영상 판독 평가 (방사선 판독 일관성 분석)
여러 의사가 동일한 엑스레이 영상을 보고 동일한 진단을 내리는지 평가할 때 사용.
Accuracy만 보면 우연히 맞출 가능성이 있지만, Cohen’s Kappa를 사용하면 실제 일관성을 측정 가능.
다중 클래스 분류 평가
학생들의 성적을 A/B/C/D로 분류하는 모델에서 각 등급이 균등하지 않을 때 Accuracy 대신 Kappa Score를 사용하여 평가 가능.

MCC (Matthews correlation coefficient)

: 이진 분류에 사용되는 지표
MCC=TP×TNFP×FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)MCC = \frac{TP \times TN - FP\times FN}{\sqrt{(TP+FP)(TP+FN)(TN+FP)(TN+FN)}}
=TP/NS×PSP(1S)(1P)= \frac{TP/N - S\times P}{\sqrt{SP(1-S)(1-P)}}
NN = TP + TN + FP + FN = 전체 관측치의 개수
SS = (TP + FN)/N = 전체 관측치 중 참인 관측치의 개수의 비율
PP = (TP + FP)/N = 전체 관측치 중 참이라 예측한 관측치의 개수의 비율
MCC : TP, FP, TN, FN을 모두 고려하는 강력한 평가지표
적합한 경우 : 클래스 불균형 문제에서 균형 잡힌 평가 필요할 때
예시:
적합
희귀 질환 진단
FN(거짓 음성)을 줄이는 것도 중요하지만, Precision도 고려해야 함 → MCC를 사용하면 균형 잡힌 평가 가능.
사기 탐지 시스템
Accuracy나 F1-score는 사기 거래(양성 클래스)가 매우 적은 경우 성능을 과대평가할 수 있음.
MCC는 모든 오류 유형을 반영하므로 사기 탐지 모델 평가에 적절함.

분류모델의 모델 유형별 이상적인 평가지표

문제 유형
추천되는 평가지표
클래스 균형이 맞는 경우
Accuracy, F1-score, ROC-AUC
클래스 불균형 문제 (예: 희귀 질환, 사기 탐지)
F1-score, PR-AUC, MCC
FP(거짓 양성)를 줄여야 하는 경우 (스팸 필터, 법률 판결 등)
Precision
FN(거짓 음성)를 줄여야 하는 경우 (암 진단, 보안 시스템 등)
Recall
모델의 확률 기반 평가가 필요한 경우 (신용 평가, 의료 예측 등)
Log Loss
다중 클래스 분류 문제
Cohen’s Kappa, MCC

References

Recall, Precision, F1, ROC, AUC, and everything, medium (link)
AUC-ROC와 PR-ROC: 이진 분류 모델 평가의 핵심 지표, tistory (link)
Understanding AUC — ROC and Precision-Recall Curves, medium (link)
Matthews Correlation Coefficient, github (link)