본문 바로가기

데이터 분석

정밀도와 재현율

혼동행렬(Confusion Matrix)

정밀도(precision)

  • TP / (FP + TP)
  • True로 예측한 값 중 예측을 맞춘 비율

재현율(recall)

  • TP / (FN + TP)
  • 실제 True 중 예측을 맞춘 비율

정밀도와 재현율의 관계

  • 트레이드 오픈 관계
    • A가 높아지면 반대로 B는 감소하는 관계
  • Score를 높이는 경우( = 예측 정확도를 높게 설정하는 경우)
    • 혼동행렬의 Prediction 중 FALSE는 증가하고, TRUE는 감소
      • 높은 확률에서만 TRUE로 보기 때문에 TRUE는 감소
    • FP가 감소하게 되어 precision의 분모가 적어져서 결국 precision의 값은 증가
  • Score를 낮추는 경우( = 예측 정확도를 낮게 설정하는 경우)
    • 혼동행렬의 Prediction 중 FALSE는 감소하고, TRUE는 증가
      • 낮은 확률에서도 TRUE로 보기 때문에 TRUE는 증가
    • FN이 감소하게 되어 recall의 분모가 적어져서 결국 recall의 값은 증가

정리

  • True를 A, False를 B라고 가정
  • A를 더 많이 해야 하는 경우
    • B를 A로 판단해도 문제 없음 => BARS(D)
    • A를 B로 판단하면 문제가 됨
    • Score를 Down
    • Recall을 증가시켜야 함
  • B를 더 많이 해야 하는 경우
    • A를 B로 판단해도 문제 없음 => ABPS(U)
    • B를 A로 판단하면 문제가 됨
    • Score를 Up
    • Precision을 증가시켜야 함

사용 사례

  • 암 예측 문제
    • 암인 경우 = A, 암이 아닌 경우 = B
    • 암(A)을 암이 아닌 것(B)으로 판단하면? => 문제가 됨. 치료시기를 놓침
    • 암이 아닌 것(B)을 암(A)으로 판단하면? => 문제 없음. 검사 결과는 틀렸지만 실제 생명에 문제가 되지 않음. 추가 검사를 통해 정확도 개선 가능
    • A를 더 많이 해야 하는 경우임
    • Score를 낮추고, Recall을 증가시켜야 함

'데이터 분석' 카테고리의 다른 글

ROC AUC  (0) 2021.05.07
log를 이용한 정규분포 변환(python)  (0) 2020.07.23
스피어만 상관계수(python)  (0) 2020.07.23
distplot를 이용한 정규분포 확인(python)  (0) 2020.07.23
지수와 로그  (0) 2020.05.26