분류 성능 평가 지표
Confusion maxtrix
- 실제 클래스와 예측된 클래스의 매칭을 이용해 분류 모델을 평가하는 도구
- 위의 그림은 이진 분류 문제를 예시로 들어 실제 클래스도 Positive/Negative로 구성되고, 분류 모델은 샘플들을 Positive 또는 Negative로 분류하게 된다.
** 통계학에서는 FP를 Type I error(=False alarm), FN를 Type II error(=Missed detection)이라고 한다.
Accuracy
- 분류 모델을 평가하기에 가장 단순한 지표지만, 불균형 클래스를 가진 데이터셋에서는 평가하기 어렵다.
Precision (=PPV)
- 분류모델이 Positive로 판정한 것 중, 실제로 Positive인 샘플의 비율
- 다른 용어로 PPV(Positive Predictive Value)라고도 한다.
Recall (TPR, Sensitivity)
- 실제 Positive 샘플 중, 분류 모델이 Positive로 판정한 비율
- TPR(True Positive Rate, 양성률) 또는 Sensitivity(민감도)라고도 함
F1 score
- 분류 모델의 Precision과 Recall 성능을 동시에 고려하기 위한 지표로, Precision과 Recall의 조화평균으로 정의
- 0과 1 사이의 값으로, 1에 가까울수록 분류 성능이 좋다.
Precision-Recall Curve
- Precision과 Recall의 (1)trade-off한 관계를 분류 모델의 (2) decision threshold를 통해 조절할 수 있다.
** (1) precision이 올라가면 recall이 떨어지고, recall이 올라가면 precision이 떨어지는 현상
** (2) decision threshold란 분류 모델의 결과인 [0, 1] 사이의 값을 positive 또는 negative로 결정하는 경계를 의미
그렇다면, 분류 결정 임곗값을 어떻게 설정해야 하는가?
정밀도(precision)과 재현율(recall) 중에 더 중요한 지표가 무엇인지 판단하고 임계값을 조정할 수 있다.
그러면, 각 지표를 언제 쓰면 좋을까?
정밀도(precision)는 실제 Negative인 데이터 예측을 Positive로 잘못 판단하게 되면 업무 상 큰 영향이 발생하는 '스팸 메일' 등을 분류하는 경우에,
재현율(recall)은 실제 Positive인 데이터 예측을 Negative로 잘못 판단하게 되면 업무 상 큰 영향이 발생하는 암 진단, 금융사기를 판별하는 경우에 중요하다.
+ 분류 결정 임곗값이 낮아질수록 positive로 예측할 확률이 높아지는데, 그러면 recall이 증가한다.
+ 기본 임계값이 0.5인데 0.5보다 크면 무조건 positive로, 0.5보다 작으면 무조건 negative로 예측한다.
+ 만약 임곗값을 0.4로 낮추면 positive로 예측하는 경우가 더 많아지기 때문에 recall이 증가한다.
+ Threshhold가 0일 때는 모든 데이터를 positive로 판단하겠다는 것이므로 recall은 1이 나온다.
AUROC
- x축을 1-specificity(특이도)로, y축을 sensitivity(민감도)로 한 그래프를 ROC curve라고 한다.
- ** x축을 FPR, y축을 TPR(recall, sensitivity)
- 그리고 이때의 그래프 면적을 AUROC(Area Under ROC)라고 한다.
- 이 AUROC는 모든 threshold에 대해, 그리고 양성을 얼마나 잘 찾는지에 초점을 맞춘 평가 지표이다.
단순히 전체 데이터 중 몇개를 맞췄는지 평가하는 Accuracy의 한계를 극복하기 위해 precision과 recall이라는 개념이 만들어졌다.
Precision과 Recall은 상대적으로 더 중요한 '불량'에만 초점을 맞춰 평가하는 방식이지만, 정밀도와 재현율이라는 서로 다른 두 개의 값으로 성능이 표현된다는 한계가 있었다. (precision과 recall의 trade-off)
이를 극복하기 위해 precision과 recall의 조화평균인 F1-score 이라는 하나의 값으로 성능을 표현할 수 있게 되었지만, F1-score는 threshold에 따라 다른 값이 나온다는 한계가 있었다. (따라서, F1-score로 성능을 표기하기 위해서는 threshold도 같이 명기해야 함)
F1-score의 불편함을 극복하기 위해 AUROC라는 지표를 사용하게 되었는데, 이는 모든 threshold에 대한 recall 성능을 측정한 뒤, 그래프 아래 면적을 측정한 값이기 때문에 모든 threshold에 대해 불량에 초점을 맞춘 점수를 하나의 값으로 표현할 수 있게 되었다.
[ML] 분류 성능 지표: Precision(정밀도), Recall(재현율), F1-score
분류 모델이 얼마나 잘 학습되었는지에 대한 성능 지표는 Accuracy (정확도), Precision (정밀도), Recall (재현율) 등이 있습니다. 각각의 성능 지표 전에 confusion matrix 먼저 알아보도록 하겠습니다. 1) Con
ai-com.tistory.com
[ML] 평가 - 정밀도 (Precision)와 재현율 (Recall)의 Trade-off
정밀도와 재현율의 Trade-off 개요 Trade-off: 한 쪽이 높아지면 한 쪽이 낮아짐 정밀도와 재현율이 이런 관계를 가지고 있음 >정밀도가 더 중요한 경우 실제 Negative 음성인 데이터 예측을 Positive 양성
velog.io
Precision & Recall | F1-Score | AUROC : 일상 사례로 쉽게 이해하기
스마트 팩토리용 검사 설비를 구매하는 기업 대표 입장이 되어 다양한 평가지표의 의미를 느껴봅니다. Accuracy, Precision, Recall, F1-Score, AUROC 등 다양한 평가지표의 장단점을 이해해봅니다.
ffighting.net