오차율과 정확도는 모든 문제에 활용되진 못한다.
예를 들어, 정보 검색 중에 일반적으로 확인하고 싶어하는 것은 검색된 자료 중 사용자가 관심 있어 할 내용의 비율, 사용자가 좋아하는 내용을 검색하여 제공할 수 있는 확률 등이 있다.
정밀도 precision 과 재현율 recall 은 이러한 요구에 맞는 성능 측도이다.
이진 분류 문제에서 실제 클래스와 학습기가 예측 분류한 클래스의 조합은
true positive, true negative, false positive, false negative 4가지 형탤로 요약된다.
이러한 분류 결과는 혼동 행렬이라고 부르며 다음 표와 같이 나타난다.
예측 값 | ||
실제 값 | 양성 | 음성 |
양성 | TP | FN |
음성 | FP | TN |
정밀도와 재현율은 다음과 같이 정의된다.
P = TP / TP + FP
R = TP / TP + FN
a = np.random.randint(0,100,4).reshape(2,2)
a
>>>
array([[89, 25],
[71, 26]])
TP = a[0][0]
TP
>>>
89
FN = a[0][1]
FN
>>>
25
FP = a[1][0]
FP
>>>
71
TN = a[1][1]
TN
>>>
26
precision = TP / (TP + FP)
precision
>>>
0.55625
recall = TP / (TP + FN)
recall
>>>
0.7807017543859649
'개념 정리 > implement' 카테고리의 다른 글
implement_cost_matrix (0) | 2023.01.03 |
---|---|
ROC 와 AUC (0) | 2023.01.03 |
모델 성능 측정(performance measure)_오차율과 정확도 (0) | 2023.01.01 |
implement_bootstrapping (0) | 2022.12.31 |
implement_crossValidation (0) | 2022.12.31 |