혼동 행렬
평가
- 혼동 행렬
from sklearn.metrics import *
confusion_matrix(y_test, y_pred) - 정확도
accuracy_score(y_test, y_pred)
- 정밀도
precision_score(y_test, y_pred)
- 재현도
recall_score(y_test, y_pred)
- F1
f1_score(y_test, y_pred)
혼동 행렬 confusion matrix
예측 (음성 0) | 예측 (양성 1) | |
---|---|---|
실제 | ||
음성 (0) | 진음성 True Negative | 위양성 False Positive |
양성 (1) | 위음성 False Negative | 진양성 True Positive |
진/위 양성/음성
- 혼동행렬에서 양성/음성은 예측을 기준으로 말함
- 현실에서는 실제로 어떤지 알 수 없는 경우가 많음
- 진(True) → 예측이 맞음
- 위(False) → 예측이 틀림
정확도 accuracy
- 전체 중에 예측이 맞은 비율
- 특별히 음성/양성 구분에 관심이 없는 경우 사용
- 그러나 대부분은 양성에 더 관심이 있음
정밀도 precision
- 양성 예측 중에 맞은 비율
- 양성 예측이 중요한 경우 (예: 채용)
- 대체로 문턱값을 높이면(보수적 예측) 정밀도가 높아진다
재현도 recall
- 실제 양성 중 찾아낸 비율
- 양성을 찾아 내는 것이 중요한 경우 (예: 방역)
- 의학 등에서는 민감도(specificity)라고도 함
- TPR(True Positive Ratio)라고도 함
- 대체로 문턱값을 낮추면(적극적 예측) 재현도가 높아진다
특이도 specificity
- 실제 음성 중 찾아낸 비율
- 음성을 찾아 내는 것이 중요한 경우 (예: 방역)
- 대체로 양성 예측을 보수적으로 하면 특이도가 높아진다
- TN 대신 FP를 분자에 사용하면 FPR(FP/(TN+FP))=1-특이도