Q왜 아래 그림으로 혼동행렬을 이해하는 것을 추천할까요?
A : 사이킷런과 기준이 같기 때문입니다.
Q : 정확도로 제대로 된 모델의 성능을 측정을 하기 어려운 사례는 어떤게 있을까요?
A : 클래스가 불균형한 데이터일 때, 제대로된 평가를 내리기 어렵습니다.
EX ) 불균형한 데이터예시
금융 => 은행 대출 사기, 신용카드 사기, 상장폐지종목 여부
제조업 => 양불(양품, 불량품) 여부
헬스케어 => 희귀질병(암 진단여부)
IT관련 => 게임 어뷰저, 광고 어뷰저, 그외 어뷰저
대회에서 어뷰저 관련 내용을 찾을 때는 Fraud 등으로 검색하면 여러 사례를 찾을 수 있습니다.
혼동행렬
실제 결과 | |||
예측된 결과 | 거짓 0 | 참 1 | |
거짓 0 |
TN 예측 거짓 / 실제 거짓 아닌 것을 올바르게 틀리다고 예측함 |
FP 예측 참 / 실제 거짓 1종오류 (남자가 임신) 아닌 것을 올바르지 않게 맞다고 예측함 |
|
참 1 |
FN 예측 거짓 /실제 참 2종오류 맞는 것을 올바르지 않게 틀리다고 예측함 |
TP 예측 참 / 실제 참 맞는 것을 올바르게 맞다고 예측함 |
1종오류
실제는 임신이 아닌데(0), 임신(1)로 예측
스팸메일이 아닌데 스팸메일로 예측
무고한 피고인에게 유죄를 선고
2종오류
실제는 임신인데(1), 임신이 아닌 것(0)으로 예측
암인데 암이 아닌 것으로 예측
화재가 났는데 화재가 아니라고 예측
precision(정밀도) 와 recall(재현율)
precision(정밀도) |
recall(재현율) |
|
중요한 경우 |
실제 Negative 음성인 데이터 예측을 Positive 양성으로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우 |
실제 Positive 양성인 데이터 예측을 Negative 음성으로 잘못 판단하면 업무상 큰 영향이 발생하는 경우 |
예시 |
|
|
지나치게 높을 경우 |
참으로 예측한 경우가 필요 이상으로 적다. | 참으로 예측한 경우가 필요 이상으로 많다. |
낮을 경우 | 참이 아닌데도 참이라고 한 것이 많다. |
참인데 못 찾은 것이 많다. |
예프리 (예측값이 1인 것을 기준으로 하는 계산) |
실리콜 (실제값이 1인것을 기준으로 하는 계산) |
Precision-Recall Tradeoff
threshold(한계점 ) | precision(정밀도) | recall(재현율) |
내릴떄 | 내려가고 | 올라간다 |
올릴떄 | 올라가고 | 내려간다 |
중요할떄 threshold를 올릴수잇다 |
중요할떄 threshold를 내릴수 있다 |
정밀도(Precision)와 재현율(Recal)은 상호 보완적인 지표입니다
머신러닝모델의 성능을 올려서 예측한다면 가장 좋겠지만 이는 현실적으로 불가능합니다
대신 precision이 더 중요한 경우에는 threshold를 올리고 recall이 중요한 경우에는 threshold를 내릴 수 있습니다.
머신러닝의 모델의 성능이 동일할떄 한쪽을 강제로 올리면 한쪽은 강제로 내려갑니다
이러한 관계를 Precision-Recall Tradeoff 라고 하며 둘의 관계를 파악하여 밸런스를 맞춰야 합니다
EX) 자동차보험의 경우 precision과 recall이 교차하는 0.2~0.3 사이의 threshold가 적당해 보입니다.
AUC
- TPR = TP / (TP + FN)
실제 양성 샘플 중에 양성으로 예측된 것의 비율을 나타낸다
TP와 FN은 어떻게 예측되었든 상관없이 모두 실제로는 양성 샘플입니다
TP가 많고 FN이 적을수록 TPR은 1에 가까워집니다
- FPR = FP / (FP+TN)
FPR은 실제 음성 샘플 중에 양성으로 잘못 예측된 것의 비율을 나타냅니다
FP가 적고 TN이 많을수록 FPR은 0에 가까워집니다
TPR은 1에 가까울 수록 좋고, FPR은 0에 가까울 수록 좋습니다
threshold 변화에 따른 ROC 커브 위의 점 위치 변화
두 그룹을 더 잘 구별할 수 있을수록 ROC 커브는 좌상단에 붙게 된다.
2편에서 계속
참고자료
출처및
멋쟁이 사자처럼 AI School 7기 수업내용
'TIL > 머신러닝' 카테고리의 다른 글
11/28 월 머신러닝 "불균형 데이터 SMOTE" -2 (0) | 2022.11.30 |
---|---|
11.23일 수업 TIL Gradient Boosting Machine (XGBoost, lightGBM,CatBoost ) (0) | 2022.11.26 |
11.24일 얕은복사,깊은복사 / 혼동행렬 (0) | 2022.11.24 |
11.22 오후 Learning rate ,bgd, SGD,모멘텀 (2) | 2022.11.22 |
11.22 오전 머신러닝 최적화 ,경사하강법 (1) | 2022.11.22 |
댓글