매직코드
article thumbnail
Published 2021. 7. 19. 09:00
파이썬 머신러닝 03. 평가 ML&DL/study

머신러닝 모델은 평가는 정확도, 정밀도, 재현율, 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지표를 많이 사용하지만 모델에 따라 다른 성가지표를 사용할 수 있음

profile

매직코드

@개발법사

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!