본문 바로가기
Data Science

머신러닝 임계값 Threshold, ROC, AUC

by 한입만쥬 2023. 8. 9.

Tradeoffs : Recall vs Precision

high precision & high recall 가지는 것은 수학적으로 불가능해서 둘을 조화롭게 밸런스 하는 것인 F1 score 사용할 수 있음

  • 정밀도와 재현율을 조정하면 트레이드 오프가 있다. 한 쪽을 강제로 높이면 다른 쪽은 떨어지기 쉬움
  • F1 Score: 정밀도와 재현율을 결합한 지표, 어느 한쪽으로 치우치지 않는 수치를 나타낼때 상대적으로 높은 값을 가짐.
  • F1 = 2 * (precision * recall/precision + recall)

임계값 Threshold : 0~1

= 0 or 1 으로 분류할 때의 커트라인/기준점

  • 임계값 = 1일 때 FPR=0, TPR=0
  • threshold INC -> precision inc(FP dec), recall dec(FN inc, FPR dec) -> low FRP
  • threshold DEC -> precision dec(FP inc), recall inc (FN dec) -> high FPR, TPR
  • FPR 증가하는 정도보다 TPR이 빠르게 증가하면 이상적 (왼쪽 위 꼭지점에 가까울수록 좋음)

threshold 어떤 기준으로 잡아야 하나?!

진짜만 고심해서 선별해야하는지, 아니면 진짜가 아니더라도 더 많은 여학생이 선별되게 해야하는지에 따라 선택!

  1. 여학생을 뽑아서 여자 목욕탕을 보낼 것이다. threshold 어디로?

-> 오른쪽 (남자를 잘못 보내면 안되니까)

  1. 여학생들에게 립스틱을 지원해줄거다. threshold 어디로?

-> 왼쪽 (남자에게 줘도 되니까)

  1. Cancer 분류 할 때
  • 확실한 P 징후만 P로 분류 -> 100% Precision (but.. 1000명 중 1명만 P)
  • 조금이라도 이상 있으면 P로 -> 100% Recall (but.. 아닌 사람도 P)
  • 이걸 0~1까지 설정할 수 있는데, BEST는 어떻게 찾을까? 하나하나 해보려면 너무 많은 오차 행렬을 만들어야 한다. 이럴 때 수많은 오차행렬을 만드는 대신 ROC를 사용할 수 있다!

ROC Curve

  • ROC (Receiver Operating Characteristic Curve)
  • 'TP Rate(sensitivity) vs FP Rate(specificity)' 그래프로 재현률(Sensitivity)을 좀 더 명확하게 판단하기 위함 -> 판별 기준이 낮을수록 Positive로 예측하는 수가 증가함
  • ROC는 0~1 까지의 그래프로 그려진다. (비율이니까)
    • x : FPR, y: TPR(recall/sensitivity)
  • FP 얼마나 수용할지에 따라서 optimal threshold는 y=0 or y=1인 포인트이다.

AUC Score

  • AUC (Area Under the Curve) - ROC들의 성능을 비교할 때 사용
  • AUC는 클수록 좋다 - 1에 가까울수록 분류 모델의 성능이 좋다고 판단
    • FPR이 작을 때 얼마나 큰 TPR인지에 따라 결정됨
  • AUC는 0.5(diagonal dashed line)보다 크면 무작위로 만든 분류모델보다는 성능이 좋다고 판단. 반대로 0.5보다 작으면 분류 모델에 문제가 있다고 판단