인공지능/머신러닝

Confusion Matrix 혼동 행렬 쉽게 이해하기

해피밀세트 2021. 8. 23. 00:02

 

 

이전에도 포스팅했지만 여전히 헷갈리기 때문에 더 쉽게 정리했습니다.

이전 포스팅 :  https://truman.tistory.com/179

 

혼동행렬 / 정확도 / 정밀도 / 재현율 / F1 점수

1. 혼동행렬 (confusion matrix) 모델의 성능을 평가할때 사용되는 지표 예측값이 실제 관측값을 얼마나 정확히 예측했는지 보여주는 행렬 예상(예) 예상(아니오) 실제(예) TP FN 실제(아니오) FP TN TP(True

truman.tistory.com

 

1. Confusion Matrix 그리기

  • 모델의 성능을 평가할때 사용되는 지표
  • 예측값이 실제 관측값을 얼마나 정확히 예측했는지 보여주는 행렬

실제값과 예측값이 동일하면 T (True),  틀리면 F (False)로 표시한다.

 

예측값을 기준으로 따라 Positive로 예측했다면 P, Negative로 예측했다면 N을 붙여준다.

 

 

2. Confusion Matrix 평가하기

1) Accuracy (정확도)

Accuracy = (TP+TN) / (TP+FP+TN+FN)

             = (100+30) / (100+20+50+30)

             = 130 / 200 = 0.65

 

 

2) Recall (재현율) / Specificity  (특이도) / Precision (정밀도)

다양한 평가 지표들을 계산하기 위해 표를 늘린다.

각 행과 열을 더한 걸 분모로, 기존 Confusion Matrix 값을 분자로 계산한다.

 

각 평가 지표들의 이름이다.

  • TPR = True Positive Rate = Recall(재현율) = Sensitivity(민감도)
  • FNR = False Negative Rate
  • FPR = False Positive Rate
  • TNR = True Negative Rate = Specificity(특이도)
  • PPV = Positive Predictive Value = Precision(정밀도)
  • FDR = False Discovery Rate
  • FOR = False Omission Rate
  • NPV = Negative Predictive Value

 

 

3) F1-score (조화 평균)

F1-score = 2 / (1/Precision + 1/Recall)

            = 2 * (Precision*Recall) / (Precision+Recall)

 

 

4) ROC (Receiver Operating Characteristic), AUC (Area Under Curve)

ROC curve (왼쪽), AUC (오른쪽)

x축 = FPR, y축 = Recall 일때, FPR을 높이면 Recall도 올라간다.

이러한 곡선을 ROC curve 라고한다. (1-Specivity 라고도 함.)

ROC curve 아래의 면적을 AUC라고 하며, 면적이 1에 가까울수록 좋다. (0.5<= AUC <=1)


출처

Confusion Matrix : https://www.youtube.com/watch?v=agHHunpcAtw 

ROC curve : https://glassboxmedicine.com/2019/02/23/measuring-performance-auc-auroc/

AUC : https://www.researchgate.net/figure/An-example-of-ROC-curves-with-good-AUC-09-and-satisfactory-AUC-065-parameters_fig2_276079439

 

반응형

'인공지능 > 머신러닝' 카테고리의 다른 글

회귀분석 코딩하기 (R, 파이썬)  (0) 2020.06.11
회귀분석  (0) 2020.06.11
평균, 분산, 상관분석  (0) 2020.06.09
군집화  (0) 2020.06.08
연관규칙 / 연관성 분석  (0) 2020.05.28