개요
모델 성능 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 |