Confusion Matrix란?

혼동 행렬(confusion matrix)은 점수 하나를 네 개의 개수로 나눠 보여 줍니다. 이탈 예측 모델이라면 네 개수는 네 가지 질문에 답합니다. 떠나는 고객을 몇 명 잡아냈는지, 몇 명을 놓쳤는지, 남는 고객을 몇 명 잘못 지목했는지, 몇 명을 올바르게 제외했는지입니다.

CUBIG의 UCI Iranian Churn 실험(2026년 10월)은 평가 고객 630명(이 중 이탈 고객 99명)에 대한 로지스틱 회귀의 혼동 행렬을 보고합니다. 데이터 준비 전에는 이탈 고객 42명을 찾아냈고 57명을 놓쳤으며, 이탈하지 않은 고객 8명을 잘못 지목했고 523명을 올바르게 분류했습니다. 같은 모델 설정과 같은 평가 레코드로 준비 후 결과를 보면 각각 78, 21, 41, 490이었습니다.

네 칸은 다음과 같습니다.

  • 참양성(true positive): 모델이 해당 사례를 지목했고 실제로 그 결과가 일어났습니다
  • 거짓양성(false positive): 모델이 지목했지만 실제로는 그 결과가 일어나지 않았습니다(오경보)
  • 거짓음성(false negative): 모델이 지목하지 않았지만 실제로는 그 결과가 일어났습니다(놓침)
  • 참음성(true negative): 모델이 지목하지 않았고 실제로도 그 결과가 일어나지 않았습니다

정밀도와 재현율, F1 점수를 비롯해 흔히 쓰는 분류 지표 상당수가 이 개수로 계산됩니다.

혼동 행렬은 정확도와 어떻게 다른가요?

  • 정확도는 전체 예측 중 맞힌 비율을 나타내는 숫자 하나입니다.
  • 혼동 행렬은 오류를 종류별로 나눠 두므로, 모델이 사례를 놓치는지 오경보를 내는지 팀이 확인할 수 있습니다.
  • 한쪽 결과가 드물면 드문 사례 대부분을 놓쳐도 정확도는 높게 유지될 수 있습니다. Iranian Churn 실험에서 정확도는 0.8968이었지만 모델은 이탈 고객 99명 중 57명을 놓쳤습니다. 올바르게 찾아낸 이탈 고객이 42명에서 78명으로 늘었을 때도 정확도는 0.9016으로 조금 오르는 데 그쳤습니다.

AI 업무에서 혼동 행렬은 어디서 한계를 드러내나요?

혼동 행렬은 하나의 평가 레코드 집합에서 하나의 임곗값을 기준으로 한 결과입니다. 판정 임곗값을 바꾸면 네 개수도 달라집니다. 다른 테스트 세트로 모델을 평가하면 이전 개수와 더는 비교할 수 없습니다.

두 혼동 행렬을 비교하려면 같은 평가 세트와 같은 임곗값으로 모델을 평가해야 합니다. CUBIG의 AI-ready data platform인 Syntitan에서 Ready for Model은 같은 평가 조건으로 데이터 준비 전후 결과를 비교합니다. 그래서 Iranian Churn의 두 혼동 행렬을 나란히 놓고 읽을 수 있습니다. 이탈 고객 78명을 찾아내는 대가로 오경보 41건을 받아들일 수 있는지는 이탈 고객을 놓쳤을 때의 비용과 불필요한 고객 유지 연락에 드는 비용에 따라 달라집니다.

자주 묻는 질문

혼동 행렬의 네 가지 구성 요소는 무엇인가요?

참양성, 거짓양성, 거짓음성, 참음성입니다. 네 값을 함께 보면 어떤 예측이 맞았고 모델이 어떤 종류의 오류를 냈는지 알 수 있습니다.

정확도 대신 혼동 행렬을 쓰는 이유는 무엇인가요?

정확도는 모든 오류를 숫자 하나로 합칩니다. 혼동 행렬은 놓침과 오경보를 따로 보여 주므로, 한쪽 결과가 드물거나 두 오류의 비용이 다를 때 특히 중요합니다.

혼동 행렬은 임곗값에 따라 달라지나요?

그렇습니다. 임곗값을 낮추면 보통 더 많은 사례를 지목하므로 참양성과 거짓양성이 함께 늘어나는 경향이 있습니다. 따라서 혼동 행렬은 항상 그 결과를 만든 임곗값과 함께 읽어야 합니다.