본문 바로가기
DataScience/MachineLearning

[평가지표] Confustion Matrix

by mkk4726 2023. 7. 14.

0과 1, 두 가지로 분류하는 이진분류 문제에서 Confusion Matrix는 굉장히 중요합니다.

특히 0과 1의 비율이 맞지 않는 경우 accuracy만으로 모델을 평가하기엔 한계가 있습니다.

 

처음에는 헷갈릴 수 있는 개념이나 알고보면 굉장히 단순한 개념입니다.

Accuracy, Precision, Recall, F1-Score에 대해 하나씩 정리해보겠습니다.

 

1. Confusion Matrix 란?

그림1. Confusion Matrix

0과 1로 분류하는 문제에는 당연히 0과 1로 예측한 것과 0과 1이 정답인 것이 있습니다.

 

실제 값과 예측값이 맞는 경우를 True라고 칭하고 앞 글자에 T로 표시합니다. ( TN, TP )

실제값과 예측값이 틀린 경우를 False라 칭하고 앞 글자에 F로 표시합니다. ( FN, FP )

 

1로 예측한 것을 Positive라 칭하고 뒤에 P로 표시합니다. ( FP , TP )

0으로 예측한 것을 Negative라 칭하고 뒤에 N으로 표시합니다. ( TN, FN )

 

따라서 다음과 같이 정리할 수 있습니다.

 

1. TP ( True Positive )  : 1로 예측했고 정답인 것 

2. TN ( True Negative ) :  0으로 예측했고 정답인 것 

3. FP ( False Positive ) - Type 1 Error : 1로 예측했고 오답인 것 

4. FN ( False Negative ) - Type 2 Error : 0으로 예측했고 오답인 것

 

 

그림2. Confusion Matrix 예시

그림2에 대해 Accuracy, Precision, Recall, F1-score을 구해보겠습니다.

2. Accuray 

Accuracy는 전체 예측 중 정답인 비율입니다.

 

- $Accuracy = \frac{TP + TN}{TP + TN + FN + FP}$

 

따라서 그림 2에서는 $\frac{30 + 930}{30 + 930 + 30 + 10}=0.96$입니다.

 

96%는 나쁘지 않은 수치이지만 FN이나 FP에 민감한 경우 다른 지표가 필요합니다.

특히 코로나와 같은 전염병을 예방하기 위해서나 암 검사와 같이 잘못된 음성이 큰 피해를 줄 수 있을 때는 FN에 더 집중해서 살표볼 필요가 있습니다.

잘못 음성이라고 판단해서 감염자가 거리를 활보하거나 제때 치료를 받지 못한다면 큰 피해로 이어질 수 있습니다.

 

3. Precision vs Recall

- $ Precision = \frac{TP}{TP + FP} $

- $ Recall = \frac{TP}{TP +FN}$

그림3. Precision

먼저 Precision은 양으로 예측한 것 중에 진짜 양인 것의 비율입니다. ( 양 = 1 , 음 = 0 )

그림 3과 같고 $\frac{30}{30+30}=0.5$입니다.

그림4. Recall

Recall은 실제 양인 것 중에 양으로 예측한 비율입니다.

그림 4와 같고 $\frac{30}{30+10}=0.75$입니다.

 

특히 Recall은 앞서 언급한 것처럼 FN이 낮아야하는 경우에 주로 사용되는 경우입니다.

정확히는 false alarm은 크게 상관없지만 actual positive를 찾지 못할 경우 큰 피해를 입는 경우로,

암 진단과 같은 경우가 있습니다.

 

Precision과 Recall은 상호보완적인 관계입니다.

Precision을 높이기 위해서는 진짜 확실한게 아니면 다 0으로 예측하면 되고,

Recall을 높이기 위해서는 전부다 1로 예측하면 되기 때문입니다.

따라서 이 2가지를 모두 고려해야 합니다.

 

4. F1-Score

$F1-score = 2*\frac{Precision*Recall}{Precision + Recall} =\frac{2}{\frac{1}{Recall}+\frac{1}{Precision}}$

 

F1-Score는 위의 2가지를 모두 고려하기 위해 필요한 지표로 Precision과 Recall의 조화평균 값입니다.

 

 

 

 

 


- 출처

그림1 : https://subscription.packtpub.com/book/big-data-and-business-intelligence/9781838555078/6/ch06lvl1sec34/confusion-matrix

 

 

- Reference

https://www.analyticsvidhya.com/blog/2020/04/confusion-matrix-machine-learning/?utm_source=blog&utm_medium=auc-roc-curve-machine-learning

 

'DataScience > MachineLearning' 카테고리의 다른 글

선형함수 정리 (Linear Regression, Ridge, Lasso, Elastic Net)  (0) 2023.07.28
[평가지표] AUC-ROC Curve  (0) 2023.07.14
와디즈 - 모델링  (0) 2022.04.10
ML - NaiveBayes, Scikit learn  (0) 2021.10.31
ML - NaiveBayes  (0) 2021.10.31

댓글