본문 바로가기

연구실 공부

성능 평가 지표(정확도(accuracy), 재현율(recall), 정밀도(precision), F1-score)

728x90

딥러닝 모델을 평가할 때 사용하는 지표들에 대한 간략한 설명입니다.

먼저 용어를 살펴보겠습니다.

  • True Positive: 모델(분류기)이 '1'이라고 예측했는데 실제 값도 '1'인 경우
  • True Negative: 모델(분류기)이 '0'이라고 예측했는데 실제 값도 '0'인 경우
  • False Positive: 모델(분류기)이 '1'이라고 예측했는데 실제 값은 '0'인 경우로, TypeⅠ 오류라고도 함
  • False Negative: 모델(분류기)이 '0'이라고 예측했는데 실제 값은 '1'인 경우로 TypeⅡ 오류라고도 함

정확도(accuracy)

전체 예측 건수에서 정답을 맞힌 건수의 비율입니다. 이때 맞힌 정답이 긍정(positive)이든 부정(negative)이든 상관없습니다. 식으로 표현하면 아래와 같습니다.

(True Positive + True Negative) / (True Positive + True Negative + False Positive + False Negative)

 

재현율(recall)

실제로 정답이 1이라고 할 때 모델(분류기)도 1로 예측한 비율입니다. 따라서 처음부터 데이터가 1일 확률이 낮을 때 사용하면 좋습니다. 식으로 표현하면 아래와 같습니다.

True Positive / (True Postivie + False Negative)

 

정밀도(precision)

모델(분류기)이 1이라고 예측한 것 중에서 실제로 정답이 1인 비율입니다. 식으로 표현하면 아래와 같습니다.

True Positive / (True Positive + False Positive)

 

F1 - score

일반적으로 정밀도와 재현율은 트레이드오프(trade-off) 관계입니다. 정밀도가 높으면 재현율이 낮고, 재현율이 높으면 정밀도가 낮습니다. 이러한 트레이드오프 문제를 해결하려고 정밀도와 재현율의 조화 평균(harmonic mean)을 이용한 것이 F1-score입니다. 이때 조화 평균을 구하는 식은 아래와 같습니다.

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