본문 바로가기

자연어 처리 과정

Confusion matrix

개요

모델 성능 Metrics 중 하나인 Confusion matrix에 대해 알아보자.

 

1. Confusion matrix

2. Confusion matrix의 경우의 수

3. Confusion matrix에서 구할 수 있는 성능 수식

4. 마무리

Confusion matrix

 

Confusion matrix의 경우의 수

우선, Confusion matrix에는 네 가지 경우가 존재한다.

 

TP: Label이 true인데, true라고 예측했을 때

FN: Label이 true인데, false라고 예측했을 때

TN: Label이 false인데, false라고 예측했을 때

FP: Label이 false인데, true라고 예측했을 때

 

쉽게 나만의 방식대로 표현하자면, 앞의 T/F는 예측과 label이 같은지 같지 않은지 표시하는 것이고

뒤의 P/N은 예측값을 표시하는 것이다.

 

* 즉, TP와 FN을 나만의 방식대로 해석하자면?

Label과 예측이 같다(T), 예측도 True라고 예측을 했다. (즉, label도 true인 것)

Label과 예측이 다르다(F), 예측이 false라고 예측했기 때문이다. (즉, label은 true인 것)

 

Confusion matrix에서 구할 수 있는 성능 수식

Precision

-> 예측이 positive인 것 중, 실제로 positive인 비율

 

 

Negative predictive value

-> 예측이 negative인 것 중, 실제로 negative인 비율

 

 

Sensitivity(Recall)

-> 실제로 positive인 것 중, 예측이 positive인 비율

 

 

Specificity

-> 실제로 negative인 것 중, 예측이 negative인 비율

 

 

Accuracy

-> 모델이 바르게 분류한 비율

 

F-1 score

-> 데이터가 불균형할 때(모델이 불균형하게 예측할 때) accuracy 대신 사용하는 Recall과 Precision의 조화평균

2를 곱해주는 이유는, 분모의 최대값은 2인데 precision * recall의 최대값은 1이므로 2를 곱해줘서

최대 f-1 score가 1이 될 수 있도록 하기 위해서이다.

 

 

 

마무리

이렇게 오늘은 우리의 모델이 얼마나 잘 예측을 하고 있는지 성능을 측정할 수 있는 Metrics 중 하나인 confusion matrix에 대해 알아보았다.

다음은 또 다른 Metrics인 ROC curves에 대해 알아보도록 하자.


reference

https://medium.com/swlh/how-to-remember-all-these-classification-concepts-forever-761c065be33

'자연어 처리 과정' 카테고리의 다른 글

Learning Rate Schedulers(PyTorch)  (0) 2023.01.16
torch.gather  (0) 2023.01.16
pytorch의 manual_seed  (0) 2023.01.13
What's the role of "pooler" in BERT?  (0) 2023.01.11
BERT  (0) 2023.01.09