지난번에는 Roc 커브 그리기에 대해 배웠다면
이번에는 Precision Recall curve 그래프를 가기전에
Precision과 Recall, 그리고 Accuracy가 무엇인지 보고 가겠습니다!!
우선 Precion과 Recall 둘 다 모델의 성능을 평가하는 지표로 사용할 수 있습니다.
예를 들어, 암환자를 판별해 내는 모델이라고 해보죠.
실제 암환자를 분류해낸다면 True라고 가정합니다.
아래의 Confusion matrix (오차행렬)을 봐보겠습니다.
예측 True (암 O) |
예측 False (암 X) |
|
실측 True (암 O) |
TP | FN |
실측 False (암 X) |
FP | TN |
그렇다면 여기서 Precision의 수식과 설명은 아래와 같습니다.
즉, 제가 암환자라고 예측한 값이 실제 암환자들과 얼마나 일치하는 가에 대한 성능을 말합니다.
Precision = sensitivity = 정밀도 = 민감도
모두 같은 말 입니다.
그렇다면 Recall은??
실제 암환자들을 얼마나 내 예측값과 일치하는가(재현율)에 대해 얘기하는 것이라고 할 수 있어요.
Focusing해서 다시 얘기해보면
Precision은 내 예측값이, Recall은 실측값에 Focusing 되어 있지요.
수식자체도 Precision에서는 FP가 포함되어 있지요
반면에, Recall은 FN을 포함하고 있어요. 실측값에 대한 Focusing인 거죠.
Accuracy는
말그대로 정확도여서, 전체 중에 True, False를 맞춘 것의 비율입니다.
예를들어, 100명중에 암환자가 20명이 있으면 20%의 비율인 것이죠.
그럼 정확도는 100% - 20% = 80%가 되어야 합니다.
(내가 만든 모델이 정확하다면!!)
다음에는 위의 내용을 꼭 숙지하셔서 Precision & Recall Curve에 대해 혼돈이 없길 바랄게요!!
'IT > 파이썬' 카테고리의 다른 글
데이터 추출하기 - 정규분포 vs. 임의복원추출 (0) | 2021.04.19 |
---|---|
[그래프] ROC커브 그리기 (0) | 2021.04.17 |
Isolation Forest와 One-Class SVM (0) | 2021.02.23 |
[그래프] 3D 그래프 그리기 (0) | 2021.02.19 |
GridSearchCV 2탄 (for문 활용) (0) | 2021.02.18 |