deep learning/computer vision

Classification Evaluation Metrics

문과 열등생 2024. 2. 9. 14:34

Confusion Matrix(혼동 행렬, 오차 행렬)

분류 모델(classifier)의 성능을 측정하는 데 자주 사용되는 표로 모델이 두 개의 클래스를 얼마나 헷갈려하는지 알 수 있다.

  • T(True): 예측한 것이 정답
  • F(False): 예측한 것이 오답
  • P(Positive): 모델이 positive라고 예측
  • N(Negative): 모델이 negative라고 예측
  • TP(True Positive): 모델이 positive라고 예측했는데 실제로 정답이 positive (정답)
  • TN(True Negative): 모델이 negative라고 예측했는데 실제로 정답이 negative (정답)
  • FP(False Positive): 모델이 positive라고 예측했는데 실제로 정답이 negative (오답)
  • FN(False Negative): 모델이 negative라고 예측했는데 실제로 정답이 positive (오답)

Accuracy(정확도)

모델이 전체 문제 중에서 정답을 맞춘 비율

하지만 데이터가 불균형할 때(ex) positive:negative=9:1)는 Accuracy만으로 제대로 분류했는지는 알 수 없기 때문에 Recall과 Precision을 사용한다.

0 ~ 1 사이의 값을 가지며, 1에 가까울수록 좋다.

\(Accuracy = {TP + TN \over TP + TN + FP + FN}\)

 

Precision(정밀도) = PPV(Positive Predictive Value)

모델이 positive라고 예측한 것들 중에서 실제로 정답이 positive인 비율로, 참으로 예측한 것의 정답 비율

실제 정답이 negative인 데이터를 positive라고 잘못 예측하면 안 되는 경우에 중요한 지표가 될 수 있다.

Precision을 높이기 위해선 FP(모델이 positive라고 예측했는데 정답은 negative인 경우)를 낮추는 것이 중요하다.

0 ~ 1 사이의 값을 가지며, 1에 가까울수록 좋다.

\(Precision = {TP \over TP + FP}\)

 

Recall(재현율) = Sensitivity(민감도) = TPR(True Positive Rate)

실제로 정답이 positive인 것들 중에서 모델이 positive라고 예측한 비율이다.

실제 정답이 positive인 데이터를 negative라고 잘못 예측하면 안 되는 경우에 중요한 지표가 될 수 있다.

Recall를 높이기 위해선 FN(모델이 negative라고 예측했는데 정답이 positive인 경우)을 낮추는 것이 중요하다.

0 ~ 1 사이의 값을 가지며, 1에 가까울수록 좋다.

\(Recall = {TP \over TP + FN}\)

 

F1 score

Recall과 Precision의 조화평균이다.

Recall과 Precision은 상호 보완적인 평가 지표이기 때문에 F1 score를 사용한다.

Precision과 Recall이 한쪽으로 치우쳐지지 않고 모두 클 때 큰 값을 가진다.

0 ~ 1 사이의 값을 가지며, 1에 가까울수록 좋다.

\(F1 Score = {2 * Precision * Recall \over Precision + Recall}\)

 

기타

그 외에도 Error Rate, Specificity, Fall Out 등이 있다.

Error Rate(오분류율)

모델이 전체 데이터에서 잘못 맞춘 비율이다.

\(Error Rate = {FP + FN \over TP + TN + FP + FN}\)

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

실제 정답이 negative인 것들 중에서 모델이 negative라고 예측한 비율이다.

\(Specificity = {TN \over TN + FP}\)

Fall Out(위양성률) = FPR(False Positive Rate)

실제 정답이 negative인 것들 중에서 모델이 positive라고 예측한 비율이다.

\(Fall Out = {1 - Specificity} = {1 - Tn \over TN + FP} = {FP \over FP + TN}\)

 

Multi classification의 Evaluation Method

Macro와 Micro의 개념을 사용할 수 있는데,

  • Macro : 모든 클래스의 평가 지표를 계산한 다음 평균을 활용하여 전체 결과값 도출
  • Micro : 개별 클래스의 평가 지표를 계산한 다음 이를 활용하여 전체 결과값 도출

Macro Precision

\(Macro Precision = {1 \over C} * {\sum_{i=1}^C Precision_i}\)

Macro Recall

\(Macro Recall = {1 \over C} * {\sum_{i=1}^C Recall_i}\)

Macro F1 Score

\(Macro F1 Score = {1 \over C} * {\sum_{i=1}^C F1 Score_i}\)

 

Micro Precision

\(Micro Precision = {\sum_{i=1}^C TP_i \over \sum_{i=1}^C (TP_i +FP_i)}\)

Micro Recall

\(Micro Recall = {\sum_{i=1}^C TP_i \over \sum_{i=1}^C (TP_i +FN_i)}\)

Micro F1 Score

\(Microm F1 Score = {2 * Micro Precision * Micro Recall \over Micro Precision * Micro Recall}\)