Blog

분류 성능 평가 지표 ─ Precision(정밀도), Recall(재현율), F1 Score, ROC Curve 본문

Machine Learning

분류 성능 평가 지표 ─ Precision(정밀도), Recall(재현율), F1 Score, ROC Curve

지요낫 2021. 4. 13. 20:00

 

 분류 성능 평가 지표

-오차행렬 (Confusion Matrix)

 

 

행렬 요소의 Negative, Positive는 예측 입장 !

 

 

 

 Precision(정밀도)

모델이 True라고 분류한 것 중에서 실제 True인 것의 비율

 

$$(Precision) = \frac{TP}{TP + FP}$$

 

→ 양성 예측의 정확도

 

 

 

 Recall(재현율)

실제 True인 것 중에서 모델이 True라고 예측한 것의 비율
= Sensitivity(민감도), True Positive Rate(TPR)

 

 

$$(Recall) = \frac{TP}{TP + FN}$$

 

 

 

즉, Precision이나 Recall은 모두 실제 True인 정답을 모델이 True라고 예측한 경우에 관심이 있으나, 바라보고자 하는 관점만 다릅니다. Precision은 모델의 입장에서, 그리고 Recall은 실제 정답(data)의 입장에서 정답을 정답이라고 맞춘 경우를 바라보고 있습니다.

Precision과 Recall은 상호보완적으로 사용할 수 있으며, 두 지표가 모두 높을 수록 좋은 모델입니다.

 

 

Precision과 Recall은 Trade-off 관계

→ True로 분류되는 Threshold(임계값)를 낮추면 Recall 증가, Precision 감소

 

 

 

 F1 Score

Precision과 Recall의 조화평균

 

$$조화평균 = \frac{n}{\frac{1}{a_1} + \frac{1}{a_2} + ... + \frac{1}{a_n}}$$

 

$$F = 2 * \frac{Precision * Recall}{Precision + Recall}$$

 

→ 조화평균을 이용하면 산술평균을 이용하는 것보다 큰 비중이 끼치는 bias가 줄어든다고 볼 수 있음

 

 

 

 ROC(Receiver Operating Characteristic) 곡선

각 임계값에서 민감도(재현율)에 대한 1-특이도 그래프

 

*특이도(Specificity) = True Negative Rate(TNR)

실제 False인 것 중에서 모델이 False라고 예측한 것의 비율

 

*1-특이도 = False Positive Rate(FPR)

 

$$(Specificity) = \frac{TN}{TN + FP}$$

 

 

ROC 곡선 예시

 

→ 곡선이 왼쪽 위에 가까울수록 더 좋은 임계값

 

 

 

 AUC(Area Under the Curve)

ROC 곡선 아래의 면적

 

 

 

 

참고

[1] sumniya.tistory.com/26
[2] 파이썬 라이브러리를 활용한 머신러닝

 

 

 

 

Comments