[민감도(sensitivity)]
환자를 찾아냄 (양성을 찾음), 질병이 있는 사람을 질병이라 진단
[특이도(specificity)]
정상을 찾아냄 (음성을 찾음), 정상인 사람을 정상으로 진단
민감도와 특이도는 서로 반대로 움직이는 경향을 보인다.
True or False | 예측 | 예측 결과 | 실제 결과 | |
True Positive, TP | + | 양성 | +양성 양성이 맞음 |
양성 |
True Negative, TN | + | 음성 | +음성 음성이 맞음 |
음성 |
False Positive, FP | - | 양성 | -양성 양성이 틀림 |
음성 |
False Negative, FN | - | 음성 | -음성 음성이 틀림 |
양성 |
민감도(sensitivity)
양성으로 예측한 사람 중 실제 양성인 사람 (TP) / 실제 양성인 사람 (TP + FN)
특이도(specificity)
음성으로 예측한 사람 중 실제 음성인 사람 (TN) / 실제 음성인 사람 (TN + FP)
예시
실제 class | 예측 | 진단 결과 |
0 | 0 | TN |
0 | 0 | TN |
1 | 1 | TP |
0 | 1 | FP |
1 | 1 | TP |
1 | 0 | FN |
TP : 2 | TN : 2 | FP : 1 | FN : 1
민감도 = TP / TP + FN = 2/3 = 0.66
특이도 = TN / TN + FP = 2/3 = 0.66
주어진 과제에 따라 민감도를 높일지, 특이도를 높일지 결정해야한다.
예를 들어 매우 심각한 질병이라면 질병을 잘 찾는데 집중해야하기 때문에
민감도를 높이고 특이도를 낮추는 것이다.
위 개념을 이해한 뒤 정밀도(Precision), 재현율(Recall), F1 score를 살펴보자
정밀도 (Precision)
모델이 1이라고 예측한 것 중에 실제로 1인 것
모델이 1이라고 예측 : TP, FP
실제 1인 값 : TP
TP / (TP + FP)
재현율 (Recall)
실제로 1인 것 중에 모델이 1로 예측한 것
실제로 1인 값 : TP, FN
모델이 1로 예측한 값 : TP
TP / (TP + FN)
F1 Score
정밀도와 재현율의 조화평균
Class imbalanced 상황에서 주로 사용되는 평가지표
https://steadiness-193.tistory.com/257
위 포스팅에서 만든 데이터셋을 이용한다.
sklearn.metrics 패키지에 있는 정확도, 정밀도, 재현율, f1 score을 모두 불러온다.
학습을 시킨뒤
평가지표 비교
정확도는 80.22를 보여준 반면에 재현율은 66.02%로 제일 낮게 나왔다.
즉, 실제로 1인 값들 중 모델이 1로 예측한 것들의 비율이 66% 밖에 되지 않는 것이다.
정밀도와 재현율의 조화평균인 f1 score도 자연스레 정확도보다 낮게 나왔다.
분류에서는 주로 정확도를 이용하지만,
평가 지표가 어떤 것이며 비중을 어디에 두는지에 따라 다르게 판단하고 해석해야 할 것이다.
참조
adnoctum.tistory.com/981
'Machine Learning > 분류(Classification)' 카테고리의 다른 글
Classification - 모델 평가 : roc_auc_score (0) | 2020.09.13 |
---|---|
Classification - predict_proba (log_loss) (0) | 2020.09.12 |
Classification - LGBMClassifier (0) | 2020.09.10 |
Classification - XGBClassifier (0) | 2020.09.09 |
Classification - RandomForestClassifier (0) | 2020.09.08 |