본문 바로가기
수학

분류 성능 지표 제대로 알고 넘어가기 (정분류율, 특이도, 민감도, 재현율, F1 score, 정확도 등)

by judy@ 2021. 5. 8.

데이터 마이닝 "분류 성능 지표" 제대로 알고 넘어가기

머신 러닝 알고리즘이나 딥러닝 모델을 활용하여 예측 모델을 만들었을 때, 

모델의 성능을 평가(검증)하기 위해 활용하는 다양한 지표가 존재합니다.

 

결국 "모델이 잘 만들어졌는가"를 확인하기 위한 지표이므로 대체로 유사해보이지만, 

모델의 형태나 예측 목적에 따라 적절한 지표를 사용해야 합니다.

 

자주 사용하지만, 사용할 때마다 잊어 다시 확인하곤 하기에, 

이번 기회에 개념을 다시 한 번 짚고 넘어가려 합니다.


개념 확립에 앞서, 이해를 돕기 위한 심플한 예제를 정하겠습니다.

 

- 환자의 병원 전자의무기록(EMR) 데이터를 이용해 골다공증 여부를 예측하는 모형을 생성함.

  • 골다공증: Positive(1)
  • 정상: Normal(0)

I. 분류 성능 지표 Matrix

  Condition (정답)  
Positive Negative
Prediction
(예측)
Positive 1. TP 2. FP Positive predictive value
TP/(TP+FP)
Negative 3. FN 4. TN Negative predictive value
TN/(FN + TN)
  Sensitivity
TP/(TP + FN)
Specificity
TN/(FP + TN)
 

 

  • True: 정답과 예측 동일
  • False: 정답과 예측 다름
  • Positive: 1 레이블      #골다공증
  • Negative: 0 레이블   #정상
  1. TP(True Positive): 정답 1을 1로 예측           # 골다공증 환자를 골다공증 환자로 예측
  2. FP(False Positive): 정답 0을 1로 예측         # 정상 환자를 골다공증 환자로 예측
  3. FN(False Negative): 정답 1을 0으로 예측    # 골다공증 환자를 정상 환자로 예측
  4. TN(True Negative): 정답 0을 0으로 예측    # 정상 환자를 정상으로 예측

II. 지표 상세

1. Accuracy vs. Error Rate (정분류율 vs. 오분류율)

#01 Accuracy(정분류율)

Accuracy = ( TN + TP ) / (TN + TP + FN + FP)

: 정분류율은 전체 데이터 중 정답을 제대로 예측한 것의 비율.

- 즉, 전체 환자 중 골다공증 환자로 예측된 골다공증 환자와 정상으로 예측된 정상 환자를 의미

 

#02 Error Rate(오분류율)

1 - Accuracy = ( FN + FP) / (TN + TP + FN + FP)

: 오분류율은 1에서 정분류율을 뺀 것으로, 전체 데이터 중 잘못 예측한 것의 비율

- 즉, 전체 환자 중 골다공증 환자로 예측된 정상 환자와 정상으로 예측된 골다공증 환자를 의미

 

▷ 정분류율과 오분류율을 더하면 1이 됨. 

▷ 정분류율이 높고, 오분류율이 낮을수록 좋음.

2. Specificity vs. Sensitivity (특이도 vs. 민감도)

#01 Sensitivity(민감도)

Sensitivity(민감도) = TP / (TP + FN)

: 민감도는 정답의 Positive 데이터 중 Positive로 예측된 데이터의 비율, True Positive Rate(TPR)

- 즉, 골다공증인 환자 중 골다공증으로 예측된 환자의 수를 의미

#02 Specificity (특이도)

Specificity (특이도) = TN / (FP + TN)

: 특이도는 정답의 Negative 데이터 중 Negative로 예측된 데이터의 비율, True Negative Rate(TNR)

- 즉, 정상인 환자 중 정상으로 예측된 환자의 수를 의미

 

▷ 민감도와 특이도는 잘 예측된 확률을 보는 것(1을 1로, 0을 0으로)

▷ 민감도와 특이도는 함께 높을수록 좋음

 

 

3. Precision vs. Recall and F1 Score (정확도 vs. 재현율 그리고. F1 Score) 

#01 Precision(정확도)

Precision(정확도) = TP / (TP + FP)

: 정확도는 Positive 라고 예측한 것 중 실제 정답이 Positive인 것의 비율

- 즉, 골다공증이라고 예측된 환자 중 실제 골다공증 환자의 수를 의미

 

#02 Recall(재현율) 

Recall(재현율) = TP / (TP + FN)

: 재현율은 민감도와 같음. 정답의 Positive 데이터 중 Positive로 예측된 데이터의 비율

- 즉, 골다공증인 환자 중 골다공증으로 예측된 환자의 수를 의미

 

▷ 정확도와 재현율은 Positive 에 중점을 둔 지표들

▷ 정확도와 재현율 또한 함께 높을수록 좋음

 

#03 F1 Score

F1 = 2 x (Precision x Recall) / (Precision + Recall)

: Precision 과 Recall의 조화 평균(harmonic mean).  최대 1의 값을 가질 수 있음.

 

▷ F1 Score는 정확도와 재현율이 모두 높을수록 1에 가까운 값을 가짐

 


이로써 이진 분류 성능 지표 정리를 마무리하였습니다.

 

부족한 부분이 많겠지만, 처음부터 완벽할 수는 없으니, 부족한 부분은 차차 보완해보겠습니다 ㅎㅎ

피드백은 언제나 환영입니다!!

반응형