입문자를 위한 머신러닝 - 오차행렬

Page content

용어 정리

  • 영어로는 confusion matrix로 불리우지만, 번역하면서 다양한 단어가 등장하고 있다. 오차행렬, 혼동행렬
  • 제목은 오차행렬이라고 표현했지만, 영어 단어를 그대로 살려 confusion matrix라고 활용한다.

Confusion Matrix

  • 분류 모형을 통해 머신러닝을 학습하게 되면 confusion matrix 표를 우선 작성하게 된다.

  • 이 표에서 무엇을 볼 수 있는가?

    • 우선 전체 데이터의 크기를 확인할 수 있다. (165명)
    • 예측값 YES는 (100+10) 110명이고, 예측값 NO는 (50+5) 55명이다.
    • 실제값 YES는 (100+5) 105명이고, 실제값 NO는 (50+10) 60명이다.
  • 기본 영어를 정의해본다.

    • 상상을 한다. 당뇨병과 같은 질병을 진단하는 분류기를 만든다고 가정 해본다.
    • True Positives(TP): 실제로 질병을 가지고 있었고(True), 또한 양성(Positives)이라고 예측한 것이다.
    • True Negatives(TN): 실제로 질병을 가지고 있지 않았고 (True), 또한 음성(Negatives)이라고 예측한 것이다.
    • False Positives(FP): 질병을 가지고 있지 않았는데, 양성(Positives)이라고 예측한 것이다. 결과적으로 False
    • False Negatives(FN): 질병을 가지고 있는데, 음성(Negatives)이라고 예측한 것이다. 결과적으로 False

Level 01. 혼동행렬을 활용한 여러 지표들

  • 정분류율
    • (TP+TN) / Total = (100 + 50) / 165 = 0.91
  • 오분류율 (Error Rate)
    • (FP+FN) / Total = (10 + 5) / 165 = 0.09
  • 민감도=재현율 (Sensitivity or Recall)
    • 실제값 YES (100+5) 중에서 실제 TP로 분류된 경우를 말한다.
    • 100 / (100 + 5) = 0.95
    • True Positive Rate (TPR)이라고 부른다.
  • Fall-Out
    • 양성(10)이라고 예측했지만, 실제로는 음성(60)인 경우를 말한다.
    • 10 / (50+10) = 0.17
  • 특이도 (Specificity)
    • 정확히 Fall-Out과 반대되는 개념이다.
    • 음성(50)이라고 예측했는데, 실제로도 음성(60)인 경우를 말한다.
    • 50/(50 + 10) = 0.83
  • 정밀도 (Precision)
    • 정밀도는 양성(100)이라고 했는데, 실제로 양성인 경우를 말한다.
    • 100/(100 + 10) = 0.91

(계속)