카테고리 없음

머신러닝_Confusion Matrix

멍주다배 2025. 1. 6.

Confusion Matrix (혼동행렬)

머신러닝에서 분류 모델의 성능을 평가할 때 사용하는 지표입니다.

혼동행렬을 사용해 모델이 단순히 ‘잘 예측했는지, 아닌지’로만 판단하지 않고 구체적으로 분석해 성능을 파악할 수 있습니다.

행렬 값을 통해 모델이 어떤 부분에서 예측을 어려워하는지, 오류를 보이는지 확인할 수 있습니다.

 

 실제        \       예측   P (Positive) N(Negative)
P (Positive) T (True) / F (False) TP FN
N(Negative) F (False) / T (True) FP TN
  • 예측 P (맞게 예측), N (틀리게 예측)
  • 실제 P (참인 값), N (거짓인 값)
  • T(정확히 예측), F (잘못된 예측)

"어떻게 예측했는가 + 어떤 값으로 예측 했는가"

  • TP: (참인 값을) 참인 값으로 맞게 예측 = 올바른 긍정 예측
    • 시민을 시민으로 예측
  • FP: (거짓인 값을) 참인 값으로 잘못 예측 = 잘못된 긍정 예측
    • 마피아를 시민으로 예측
  • FN: (참인 값을) 거짓인 값으로 잘못 예측 = 잘못된 부정 예측
    • 시민을 마피아로 예측
  • TN: (거짓인 값을) 거짓인 값으로 맞게 예측 = 올바른 부정 예측
    • 마피아를 마피아로 예측

정분류율과 오분류율

정분류율 (Accuracy): 전체 데이터 중 모델이 올바르게 분류(예측)한 비율

  • 정확도라고도 함
  • 전체 중에 잘 예측한 것 - 참을 참으로, 거짓을 거짓으로
  • 100개를 분류했는데 그 중 90개를 맞췄을 경우, 정확도는 90%
  • 정확도가 항상 적절한 성능 평가 지표가 아닐 수 있음
    • 데이터의 클래스가 심하게 불균형할 경우, 편향된 학습으로 정확도의 신뢰도가 떨어질 수 있음
    • 전체 메일 100개 중 일반 메일은 90개, 스팸 메일은 10개라고 가정할 때
      • 모델은 일반 메일에 대한 학습만 잘 이루어져 있기 때문에, 스팸 메일을 모두 놓친다 해도 일반 메일은 대부분 정확하게 분류할 수 있음.
      • 이 때, 정확도는 높게 나올 수 있지만 평가 결과를 신뢰할 수 없음.
    • 데이터 분석을 통한 특성에 따라 정밀도, 재현율, F1 스코어 등을 같이 확인해야 함

오분류율 (Error Rate): 전체 데이터 중 모델이 잘못 분류(예측)한 비율

  • 전체 중에 잘못 예측한 것 - 참을 거짓으로, 거짓을 참으로
  • 1 - 정분류율
  • 100개를 분류했는데 그 중 10개를 틀렸을 경우, 오분류율은 10%

 

민감도, 특이도, 정밀도

민감도 (Sensitivity): 참인 값을 참으로 올바르게 예측한 비율

  • 모델의 완전성을 평가하는 지표인 재현율(Recall)과 동일
  • 실제 암 환자 중 암으로 정확하게 진단한 비율
    • 민감도가 높다 = 안 놓치고 잘 예측했다! (모델이 참을 잘 발견하고 있음)
    • 최대한 놓치지 않고 실제 값을 잘 찾아야 할 경우, 민감도 측정
  • 민감도만 높으면 정밀도가 극단적으로 떨어질 수 있음
    • 모든 경우를 Positive로 예측하면(FN = 0) 재현율이 높아지므로 (1)
    • 민감도가 높다해도 거짓인 경우에 대해 어떻게 처리하고 있는지 확인하기 힘듦,,

특이도 (Specificity): 거짓인 값을 거짓으로 예측한 비율

정밀도 (Precision): 참으로 예측한 데이터 중 실제 참인 값의 비율

  • 모델이 암이라고 예측한 환자 중 실제 암인 환자의 비율
    • 정밀도가 높다 = 아닌 사람 잡지말자! 억울한 사람 안돼! (모델이 참이라고 자신있게 예측)
    • 정말 올바르게 예측해야 할 경우, 정밀도 측정
  • 정밀도만 높으면 재현율이 극단적으로 떨어질 수 있음
    • 확실한 데이터만 Positive로 예측하면(FP ↓) 정밀도가 높아지므로
    • 참 값인 데이터 중 놓치는 부분이 많아도 정밀도는 높을 수 있음,,
      • 극소수의 암 환자만 암으로 판정하면 정밀도는 높지만 나머지는 모두 음성 판정이므로 재현율이 매우 낮아짐

 

민감도와 정밀도 비교

민감도 정밀도
실제 P 데이터 중 모델이 P라고 예측한 비율 모델이 P라고 예측한 것 중 실제 P 데이터의 비율
거짓 음성(False Negative)을줄이는 것이 중요할 때 거짓 양성(False Positive)을 줄이는 것이 중요할 때
FP가 높으면 모델이 실제 Negative 데이터를 Positive로 잘못 예측하는 경우가 많음 FN이 높으면 모델이 실제 Positive 데이터를 놓치는 경우가 많음
질병이 있는 사람에게 건강하다고 잘못 판단하는 것을 최대한 줄여야 하는 경우 스팸이라고 예측한 메일 중 진짜 스팸 메일일 확률을 높여야 할 경우
불균형 데이터에 취약

 

📍민감도와 정밀도 둘 다 중요한데, 하나의 성능을 올리면 다른 성능이 떨어지는 관계를 가지므로 주의해야 함

 

 

F1 Score

정밀도와 재현율의 조화 평균

  • 정밀도와 재현율 사이의 균형을 고려하여, 동일한 가중치를 부여해 평균 계산
  • 민감도와 정밀도 둘 다 고려해 균형을 맞추는 것이 중요하므로, F1 score로 평가하는 경우가 많음
  • 데이터의 클래스가 불균형할 경우 유용

표로 익히기

민감도

 

정밀도

 

특이도