데이터베이스

오분류표 (confusion matrix), 정분류율, 오분류율, 재현율(민감도), 정밀도, 정확도, 특이도, F1 Score, 정보검색모델

스윙스윙 2021. 8. 29. 21:58

▣ 오분류표 (confusion matrix), 정분류율, 오분류율, 재현율(민감도), 정밀도, 정확도, 특이도, F1 Score, 정보검색모델

  - 정분류율 (Accuracy): 전체 데이터 중 예측한게 맞을 확률

  - 오분류율 (Error Rate) : 1-정분류율

  - 재현율 or 민감도(Recall or Sensitivity) : 실제 Positive로 나온 데이터 중 Positive로 예측한 데이터

  - 정확도 or 정밀도(Precison) : 예측을 Positvie로 한 데이터 중 실제 Positive로 나온 데이터

  - 특이도(Specificity) : 실제 Negative로 나온 데이터 중 Negatvie로 예측한 데이터

  - F1 Score(조화평균) :  2*(정밀도*재현율)/(정밀도+재현율)=2*(Precision*Recall)/(Precision+Recall)

 

 

  실측치  
P N
예측치 P TP FP 정확도 or 정밀도(Precision)
=TP/(TP+FP)
N FN TN  
  민감도(Sensitivity)
재현율(Recall)
= TP/(TP+FN)
특이도(Specificity)
= TN/(TN+FP)
정분류율(Accuracy)
= (TP+TN)/(TP+FN+TN+FP)
오분류율(Error Rate)
= (FP+FN)/(TP+FN+TN+FP)
= 1-정분류율

* T : True, F: False, P : Positive, N : Negative

 

검색엔진 실측치
적합한(관련된) 문서수
적합(P) 부적합(N)
예측치
검색된 문서수
검색(P) 긍정 정답(TP) 긍정 오류(FP)
미검색(N) 부정 오류(FN) 부정 정답(TN)

 

  - ROC(Receiver Operation Characteristic) : 민감도와 1-특이도를 활용해 모형 평가

  - ROC CURVE 아래의 면적( AUC, area under curve)이 넓을수록 좋은 진단 방법

■ 보안_공격 여부(침입탐지)와 관련 4가지 상황

판단 실제 공격 여부
공격 있음(침입발생) 공격 없음(침입없음)
공격 판단 여부 공격이라고 판단(P)
탐지됨
공격 O 공격이라고 판단 O(TP) 공격 X 공격이라고 판단 O(FP)
1종 오류(오탐지)
공격 아님 판단(N)
탐지 안됨
공격 O 공격 아님 판단 X(FN)
2종 오류(미탐지)
공격 X 공격 아님 판단 X(TN)

 

■ 보안약점 탐지 4가지 상황

보안약점 탐지 여부 보안약점 존재 유무
보안약점 존재 보안약점 없음
보안약점 탐지(P) 보안약점 O 탐지 O(TP) 보안약점 X 탐지 O(FP)
1종 오류
탐지 안됨(N) 보안약점 O 탐지 X(FN)
2종 오류
보안약점 X 탐지 X(TN)

 

 

 


 - 재현율(Recall) = TP / (TP+FN) : 관련 있는 정보 중 실제 검색된 정보들의 비율

 - 정확도(Precision) = TP / (TP+FP) : 검색된 정보 중 실제 관련 있는 정보의 비율


재현율(Recall)은 75 / (75 + 45) = 0.625, 정확도(Precision)는 75 / (75 + 50) = 0.6


2017년 74번

정보검색 관련 이진 분류 기법 (binary
재현율 (Recall) : 관련 있는 정보 중 실제 검색된 정보들의 비율 -> TP / (TP + FN)
정확도 (Precision) 검색된 정보 중 실제 관련 있는 정보의 비율 -> TP / (TP + FP)


2020년 69번

정답 : 3번

검색엔진 실측치
적합한(관련된) 문서수
 
적합(P) 부적합(N)
예측치
검색된 문서수
검색(P) 긍정 정답(TP) 긍정 오류(FP)  
미검색(N) 부정 오류(FN) 부정 정답(TN)  
  P=10개    
  실측치  
P N
예측치 P TP FP 정확도 or 정밀도(Precision)
=TP/(TP+FP)
N FN TN  
  민감도(Sensitivity)
재현율(Recall)
= TP/(TP+FN)
특이도(Specificity)
= TN/(TN+FP)
정분류율(Accuracy)
= (TP+TN)/(TP+FN+TN+FP)
오분류율(Error Rate)
= (FP+FN)/(TP+FN+TN+FP)
= 1-정분류율

* T : True, F: False, P : Positive, N : Negative

 

일반적으로 쓰는 Accuracy 는 (tp+tn)/전체 인데, 이것은 정보 검색 모델에는 적합하지 않음

대부분 tp 보다는 tn 이 많게 때문에 틀린것을 틀리다고 분류해도 Accuracy 전체는 올라가기 때문임

이런 경우 처럼, tp와 tn 의 균형이 매우 불균형 한 경우 Accuracy 대신에 F-Score 라는 개념을 사용

 

전체 문서의 수 10개

1) 검색 결과 문서 수가 5개, 이 중 관련된 문서가 3개

   정확도(Precision) =(검색된 적합 문헌) / (검색 문헌)

                          = TP / (TP + FP) = 3/5 * 100 = 60%

2) 검색 결과 문서 수가 8개, 이 중 관련된 문서가 5개

   재현율(recall) = (검색된 적합 문헌) / (적합 문헌) 

                     = TP / (TP + FN) = 5/10 * 100 = 50%

3) 검색 결과 문서 수가 5개, 이 중 관련된 문서가 3개

   Precision = 0.6, recall = 0.3

   따라서, F1-스코어(F-score) = 2*(정확도*재현율)/(정확도+재현율)

                                      = 2*(0.6*0.3)/(0.6+0.3)

                                      = 2*0.18/0.9 = 0.4 = 40%

4) 검색 문서의 순위(rank) 순서대로 정확도와 재현도를 구하면

정확도는 변동(증감)하고 재현도는 단조적으로 증가함

순위 검색을 위해서도 결국은 Precision과 Recall 개념을 사용

하지만 이 둘은 trade-off 가 있기 때문에 Recall 을 일정수준에 고정시킨 후,

그 수준에서의 최고 Precision 값을 찾는것이 좋음


2020년 70번

정답 : 4번

* 예측, 실측 위치 주의

  예측
P N

P 40 (TP) 10 (FN)
N 15 (FP) 35 (TN)

1) 오류율(error rate) =  (FP+FN)/(TP+FN+TN+FP) = (15+10)/100 = 0.25

2) 특이도(specificity) = TN/(TN+FP) = 35/(35+15) = 0.7

3) 재현율(recall) = TP/(TP+FN) = 40/(40+10) = 0.8

4) 정확도(Precision) = TP/(TP+FP) = 40/(40+15) = 8/11, 재현율(Recall) = 4/5

   F측정값(F-measure) = 2*(정확도*재현율)/(정확도+재현율)

                              = 2*(8/11*4/5)/(8/11+4/5) = 16/21 = 0.7619... 

 

 


시스템 구조

2021년 79번

정답 : 4번

  실측치  
P N
예측치 P TP FP 정확도 or 정밀도(Precision)
=TP/(TP+FP)
N FN TN  
  민감도(Sensitivity)
재현율(Recall)
= TP/(TP+FN)
특이도(Specificity)
= TN/(TN+FP)
정분류율(Accuracy)
= (TP+TN)/(TP+FN+TN+FP)
오분류율(Error Rate)
= (FP+FN)/(TP+FN+TN+FP)
= 1-정분류율

  - F1 Score(조화평균) :  2*(정밀도*재현율)/(정밀도+재현율)=2*(Precision*Recall)/(Precision+Recall)