콘텐츠로 이동

혼동행렬

정의와 설정

혼동행렬(분할표라고도 한다)은 예측된 이름표와 실제 이름표를 비교하여 분류모형의 성능을 요약한다. 이항 분류에서는 2×2 표다.

\[ \begin{array}{c|cc} & \text{Predicted Negative} & \text{Predicted Positive} \\ \hline \text{Actual Negative} & \text{TN} & \text{FP} \\ \text{Actual Positive} & \text{FN} & \text{TP} \end{array} \]

네 가지 결과

  • 참음성(TN): 음성으로 예측했고 실제로 음성이다. 옳은 예측.
  • 위양성(FP): 양성으로 예측했으나 실제로는 음성이다. 제1종 오류.
  • 위음성(FN): 음성으로 예측했으나 실제로는 양성이다. 제2종 오류.
  • 참양성(TP): 양성으로 예측했고 실제로 양성이다. 옳은 예측.

전체 관측치 수는 \(n = \text{TN} + \text{FP} + \text{FN} + \text{TP}\)이다.

대출 연체 예측

45,342건의 대출 관측치(연체 대 상환완료)로 학습한 로지스틱 회귀 모형의 결과는 다음과 같다.

                      Predicted
                   Default  Paid Off
Actual Default       14,336   8,335
Actual Paid Off       8,148  14,523

여기서,

  • TN = 14,523: 상환완료를 옳게 예측
  • FP = 8,148: 연체로 예측했으나 실제로는 상환완료(허위경보)
  • FN = 8,335: 상환완료로 예측했으나 실제로는 연체(놓친 연체)
  • TP = 14,336: 연체를 옳게 예측

정확도

가장 기본적인 성능 지표는 정확도, 즉 옳은 예측의 비율이다.

\[ \text{Accuracy} = \frac{\text{TP} + \text{TN}}{n} \]

위 예에서는 \(\text{Accuracy} = \frac{14{,}336 + 14{,}523}{45{,}342} \approx 0.6365\)(63.65%)이다.

그러나 정확도만 보는 것은 오도할 수 있으며, 특히 한 범주가 다른 범주보다 훨씬 흔한 불균형 자료에서 그렇다. 범주별 지표를 함께 살피는 편이 낫다(다음 절 참조).

범주별 비율

양성 범주(예: "연체")

  • 민감도(재현율): 실제 양성 중 얼마나 찾아냈는가?

$\(\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}\)$

  • 특이도: 실제 음성 중 얼마나 옳게 가려냈는가?

$\(\text{Specificity} = \frac{\text{TN}}{\text{TN} + \text{FP}}\)$

위 예에서는,

  • 재현율 \(= 14{,}336 / (14{,}336 + 8{,}335) \approx 0.6323\) (실제 연체의 63.23%를 탐지)
  • 특이도 \(= 14{,}523 / (14{,}523 + 8{,}148) \approx 0.6406\) (실제 상환완료의 64.06%를 식별)

유병률 조정

양성 범주의 유병률이 훈련자료와 검정자료에서 다르면 혼동행렬도 그에 따라 달라진다. 드문 사건이 주된 관심사인 의학이나 이상거래 탐지에서 특히 중요한 문제다.

시각화

혼동행렬은 셀 값과 색의 진하기를 함께 쓰는 열지도로 자주 표현한다.

                 Predicted
                Neg    Pos
Actual Neg  [14523]  [8148]
Actual Pos  [ 8335] [14336]

이 형태는 모형이 어디서 틀리는지 한눈에 보여준다. 비대각 원소가 클수록 오분류율이 높다.

같은 표를 두 방향으로 나눈다

혼동행렬에서 파생되는 지표가 너무 많아 헷갈린다면, 외울 것이 사실 하나뿐이라는 점을 기억하면 된다. 네 칸을 행으로 나누느냐 열로 나누느냐가 전부다. 아래 그림은 위의 같은 표를 두 번 그린 것이다. 칸 안의 도수는 완전히 같고, 아래 붙은 비율만 다르다.

같은 혼동행렬을 행 기준과 열 기준으로 각각 정규화한 그림

왼쪽은 행으로 나눈 것이다. 분모가 실제 범주이므로 "실제로 연체한 22,671건 중 몇 건을 잡았나"를 묻는다. 아래쪽 행에서 \(14{,}336/22{,}671 = 0.6323\)이 재현율이고 위쪽 행에서 \(14{,}523/22{,}671 = 0.6406\)이 특이도다. 이 두 값은 자료에 양성이 얼마나 흔한지와 무관하다. 각 행 안에서만 계산되기 때문이다.

오른쪽은 열로 나눈 것이다. 분모가 예측 범주이므로 "연체라고 말한 22,484건 중 몇 건이 맞았나"를 묻는다. \(14{,}336/22{,}484 = 0.6376\)이 정밀도이고, \(14{,}523/22{,}858 = 0.6354\)가 음성예측도다. 이쪽 값들은 유병률에 민감하다. 실제 연체 비율이 절반에서 5%로 떨어지면 오른쪽 위 칸(위양성)이 상대적으로 커져 정밀도가 급락하지만, 왼쪽 그림의 재현율과 특이도는 그대로다.

이 자료에서는 네 비율이 모두 \(0.63\) 근처라 구분이 잘 드러나지 않는데, 그것 자체가 이 모형에 대한 평가다. 동전을 던지는 것보다 아주 조금 나은 수준이며, 정확도 \(0.6365\) 역시 같은 이야기를 한다. 재현율과 정밀도가 이렇게 비슷하게 나오는 것은 두 범주의 크기가 거의 같은(\(22{,}671\) 대 \(22{,}671\)) 특수한 상황 때문이다. 불균형 자료에서는 두 값이 크게 갈라지며, 그때 비로소 "어느 방향으로 나눴는가"가 결정적인 질문이 된다.

연습문제

연습문제 1. 모형 평가

어떤 스팸 분류기가 전자우편 1000건의 검정자료에서 다음 혼동행렬을 냈다.

스팸으로 예측 스팸 아님으로 예측
실제 스팸 85 15
실제 스팸 아님 30 870

(a) 정확도, 정밀도, 재현율, 특이도, F1 점수를 계산하라.

(b) 놓친 스팸의 비용이 허위경보 비용의 3배라면 분류 문턱을 낮춰야 하는가 높여야 하는가?

(c) 위양성률은 얼마인가?

풀이

(a) TP=85, FN=15, FP=30, TN=870

정확도 \(= (85+870)/1000 = 0.955\)

정밀도 \(= 85/(85+30) = 0.739\)

재현율 \(= 85/(85+15) = 0.850\)

특이도 \(= 870/(870+30) = 0.967\)

F1 \(= 2 \times 0.739 \times 0.850/(0.739+0.850) = 0.791\)

(b) 놓친 스팸(FN)이 더 비싸므로 문턱을 낮춰 재현율을 높여야 한다(스팸을 더 많이 잡되 위양성을 더 감수한다).

(c) FPR \(= FP/(FP+TN) = 30/900 = 0.033\)

정확도만 보면 안 되는 이유

이 분류기의 정확도는 95.5%로 훌륭해 보인다. 그러나 모든 메일을 "스팸 아님"으로 예측하는 무의미한 분류기의 정확도도 \(900/1000 = 90\%\)다. 즉 실제 분류기가 벌어들인 개선폭은 5.5%포인트뿐이며, 그마저도 대부분 흔한 범주에서 나온 것이다. 유병률이 낮을수록 이 착시가 심해진다. 스팸 비율이 1%였다면 아무것도 안 하는 분류기의 정확도가 99%다.


정리하며

혼동행렬이 모든 분류 지표의 출발점이다.

\[ \begin{array}{c|cc} & \text{예측 양성} & \text{예측 음성}\\\hline \text{실제 양성} & TP & FN\\ \text{실제 음성} & FP & TN \end{array} \]
  • 네 칸에서 모든 지표가 나온다. 정확도·정밀도·재현율·특이도가 모두 이 네 수의 조합이다.
  • 정확도만 보면 위험하다. 양성이 \(1\%\) 인 자료에서 모두 음성으로 예측하면 정확도가 \(99\%\) 다. 불균형 자료에서 정확도는 무의미하다.
  • 두 오류가 비대칭일 수 있다. 거짓 양성과 거짓 음성의 비용이 다르면 어느 쪽을 줄일지 정해야 하며, 그것이 문턱 선택이다.
  • 9장의 두 오류와 같은 구조다. \(FP\) 가 제1종, \(FN\) 이 제2종 오류에 대응한다.
  • 행과 열의 방향을 확인한다. 라이브러리마다 배치가 다르므로 confusion_matrix 의 출력 순서를 반드시 확인해야 한다.

다음 절 정밀도와 재현율로 넘어간다.