티스토리 뷰

반응형

오차 행렬, 로그 손실, 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는 캐글에서 종종 사용하는 평가지표

 

 

출저 : 머신러닝 딥러닝 문제해결 전략

https://wikidocs.net/book/13313

반응형