머신러닝 모델은 평가는 정확도, 정밀도, 재현율, f1, roc_auc와 같은 성능 평가 지표 사용
오차행렬
예측 Negative | 예측 Positive | |
실제 Negative | TN (True Negative) |
FP (False Positive) |
실제 Positive | FN (False Negative) |
TP (True Positive) |
실제 값과 예측값 사이의 관계에 따라 4분행렬 기반으로 예측 성능 평가
정확도 = 예측 결과가 동일한 데이터 수 / 전체 데이터 수 = (TN + TP) / (TN + TP + FN + FP)
정밀도 = positive 예측 일치 / positive 예측 전체 = TP / (FP + TP)
재현율 = positive 예측 일치 / positive 실제값 전체 = TP / (FN + TP)
정밀도와 재현율을 구하는데 기준값(=임곗값)은 중간(0.5)이 기본값으로 설정
임곗값에 따라 정밀도와 재현율 값이 달라짐
F1 스코어
정밀도와 재현율을 결합한 지표로 어느 한쪽으로 치우지지 않는 수치를 나타낼 때 상대적으로 높은 값을 가짐
하지만 공식으로 계산한 f1 값에 따라 정밀도나 재현율이 한쪽으로 치우칠 수 있음
ROC 곡선과 AUC
민감도 = 양성을 양성으로 정확히 예측한 수준
특이성 = 음성을 음성으로 정확히 예측한 수준
ROC는 일종의 함수로 FPR(False Positive Rate)가 변할 때 TPR(True Positive Rate)가 어떻게 변하는지 나타내는 곡선
= 1 - 특이성에 따른 민감도 곡선
평가지표 결론
어떤 알고리즘을 사용하느냐에 따라 그 모델을 평가하는 지표를 고를 수 있음
대부분 ROC-AUC지표를 많이 사용하지만 모델에 따라 다른 성가지표를 사용할 수 있음
'ML&DL > study' 카테고리의 다른 글
파이썬 머신러닝 04-2. 언더피팅, 오버피팅과 해결방안 (0) | 2021.07.26 |
---|---|
파이썬 머신러닝 04-1. Mac에 Graghviz 설치하기 (0) | 2021.07.20 |
파이썬 머신러닝 02. 사이킷런 (1) | 2021.07.16 |
파이썬 머신러닝 공부 01. 넘파이, 판다스 (0) | 2021.07.13 |
머신러닝 알고리즘 8. 순환신경망 (RNN) (0) | 2021.06.18 |