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 어떤 기준으로 잡아야 하나?!
진짜만 고심해서 선별해야하는지, 아니면 진짜가 아니더라도 더 많은 여학생이 선별되게 해야하는지에 따라 선택!
- 여학생을 뽑아서 여자 목욕탕을 보낼 것이다. threshold 어디로?
-> 오른쪽 (남자를 잘못 보내면 안되니까)
- 여학생들에게 립스틱을 지원해줄거다. threshold 어디로?
-> 왼쪽 (남자에게 줘도 되니까)
- 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보다 작으면 분류 모델에 문제가 있다고 판단
'Data Science' 카테고리의 다른 글
머신러닝 평가 지표 (Machine Learning Metrics ) (0) | 2023.08.31 |
---|---|
머신러닝 Train, Test Data 교차검증(k-fold, stratified k-fold, cross_val_score, GridSearch CV) (0) | 2023.07.27 |
데이터분석 머신러닝 개념, 종류 (0) | 2023.07.27 |
[HTML/DJANGO 웹개발 기초] GET, POST 방식 차이 예시 (0) | 2023.07.05 |
[Python] 반응형 웹사이트 크롤링 예제 (웹툰, 쇼핑몰) (0) | 2023.06.29 |