Confusion matrix(혼동 행렬)?

  • 모델링 성과를 평가하는 지표 중 하나
  • (당연하지만) 분류에 한정되어 사용

  • 여기서 Actual은 실제 값을 뜻하며, Predicted는 예측한 결과물을 뜻한다.
  • 즉, TP(True Positive)와 TN(True Negative)가 높을수록 좋은 성능을 보여준다

Precision
  • TP / TP+FP
  • 즉, 내가 예측한 값 중에서 정답이 있을 경우(1에 가까울수록 좋다)

Recall(= sensitivity 민감도)
  • TP / TP+FN
  • 즉, 실제 1인 값 중에서 1이라고 예측한 것이 있을 경우(1에 가까울수록 좋다)


Accuracy 

  • TP + TN / TP+FP + TN + FN
  • 전체 경우의 수 중에서 정답으로 분류한 비율(1에 가까울수록 좋다)

F1 Score?


  • 왜 사용하는가? --> Precisoin 과 Recall의 밸런스를 고려하여 정확도 측정
  • Precison과 Recall이 한쪽만 높게 될 경우 문제가 된다. 
  • 하지만 특별한 상황의 경우 두 지표중 한쪽에 weight 를 두고 평가하게 된다. 아래의 예시 참고


Precision vs Recall?

  • 만약 탐정이 "도둑"을 예측한다고 해보자.
  • 이 때, Precision이 30%(== 탐정이 "도둑"이라고 예측한것 중, 진짜 도둑인 것의 비율)은 용납할 수 있다.
  • 하지만, Recall이 30%라면(진짜 도둑들중에서 탐정이 도둑이라고 예측한 것의 비율), 이 부분은 용납되기 어렵다. 
  • 안타깝게도, precision과 recall은 일종의 trade-off 관계를 가지게 되어, precision이 높으면 recall이 낮고.. 하는 관계를 가진다.


  • 그림에서 볼 수 있는 것처럼, recall은 우하향하게 되면 끊임없이 낮아지고, 상승하게 되면 꾸준히 완만하게 상승한다
  • 하지만, Precision은 꾸준히 상승하지만 "일시적으로" 낮아질 수 있다.


+ Recent posts