티스토리 뷰
오차 행렬, 로그 손실, ROC 곡선과 AUC.
오차 행렬
실제와 예측의 차이를 나타내는 행렬
TP(실제 양성 예측 양성) / +와+
FN(실제 양성 예측 음성) / +와 -
FP(실제 음성 예측 양성) / -와 +
TN(실제 음성 예측 음성) / -와-
정확도
실제 예측한 정확도.
즉, 전후가 같은 부호인지를 보면 된다.
(TP+TN) /(TP+FN+FP+TN)
그러나 평가지표로 정확도를 사용하는 경우는 많지 않다.
TN의 특수성 때문. 매일 비가 안온다고 예측해도 10일 1일꼴로 비가온다고 했을 때 정확도가 90%다.
우수성을 담보할 수 없다.
정밀도
precision = TP/(TP+FP) = 비가 실제로 온다고 예측 / (비가 실제로 온다 예측 + 예측했지만 비가 오지 않았다.)
정밀도는 음성을 양성으로 잘못 판단하면 문제가 발생하는 경우에 사용.
스팸 메일 필터링 - 만약 스팸 메일이 아닌데 스팸 메일이라고 잘못 판단하는 경우
스팸 메일 양성, 일반 메일 음성이라면 실제 음성 예측 양성(FP) 일 때 메일을 못 받을 수 있다.
이럴 때는 TP가 FP보다 더 높아야 메일을 받을 수 있다. -> 스팸 메일 검출도가 더 높음
문제가 되는 상태를 양성, 정상인 상태를 음성으로 보통 정한다.
재현율
재현율은 실제 양성 값 중 양성으로 잘 예측한 값.
민감도 또는 양성 비율이라고도 함.
TP / (TP+FN)
양성을 음성으로 잘못 판단하면 문제가 되는 경우에 사용.
암인데 암이 아니라고 진단하면(실제 양성 예측 음성-FN) 문제 발생.
F1 Score(중요)
F! Score는 정밀도와 재현율을 조합한 평가지표.
정밀도와 재현율의 조화 평균을 구한다.
F1 = 2*(정밀도*재현율) / (정밀도+재현율)
로그 손실
분류 문제에서 타깃값을 확률로 예측할 때 기본적으로 사용하는 평가지표.
값이 작을수록 좋은 지표(손실은 작을수록 좋다)
Yi = 실제 값, Y=예측값 확률
logloss = -(1/N) 시그마 ( Yi*log(Y) + (1-Yi) *log(1-Y) )
ROC 곡선과 AUC
ROC는 참 양성비율 (TPR)에 대한 거짓 양성 비율(FPR) 곡선
AUC는 ROC 곡선 아래 면적
TNR = TN / (FP + TN) = 특이도라고도 한다.
FPR = 1-TNR = FP / (FP+TN)
ROC곡선은 민감도(재현율)에 대한 1- 특이도 곡선
100% 완벽하게 분류하면 AUC가 1, 완전 무작위로 분류하면 0.5
모델 성능이 좋을수록 AUC가 크다.
ROC AUC는 캐글에서 종종 사용하는 평가지표
출저 : 머신러닝 딥러닝 문제해결 전략