Code&Data Insights

Evaluation | Classification Report - Accuracy, Precision, Recall, F1 Score 본문

Data Science/Machine Learning

Evaluation | Classification Report - Accuracy, Precision, Recall, F1 Score

paka_corn 2023. 7. 19. 10:32

분류 예측시 confusion matrix로 TN, FN, TP, FP 를 표현 할 수 있음. 

 

negative 0, positive 1

앞이 실제 값, 뒤가 예측값!!!  ( FN - N 예측값 : Negative) 

 

TN - 실제 데이터셋 Negative(0), 예측 값 Negative(0) => True!!! 

TP - 실제 데이터셋 Positive(1), 예측 값 Positive(1) => True!!! 

 

FP - 실제 데이터셋 Negative(0), 예측 값 Positive(1) => False

FN  - 실제 데이터셋 Positive(1), 예측 값 Negative(0) => False

 

 

 

정확도 Accuracy rate - 예측 결과와 실제 값이 동일한 건수 

계산? (TN + TP) / (TN + FN+TP+FP) 

 

 

 

정밀도 Precision - 데이터 셋 안에 Positive한 대상 중에 예측과 실제값이 얼마나 일치하는가?

- 실제 negative 음성인 데이터예측을 Positive 로 예측 

계산?

TP / (TP+FP ) FP : 예측값 Positive 

- 더 중요할 때 : 스팸메일 

 

 

 

재현율 Recall - 실제 값이 Positive인 대상 중 예측과 실제값이 얼마나 일치하는가?

- 실제 Positive 양성인 데이터예측을 negative로 예측 

계산?

TP / (TP+FN ) FN : 실제값 Positive 

- 암 진단, 금융사기 판별 

 

 

정밀도, 재현율는 Trade-off 동시에 둘다 만족 시킬수 없음!!! 

업무에 따라 정밀도나 재현율 중 더 강조되야 할 것을 조정 => (threshold 조정)

임계값(threshold)가 낮아질 수록 Positive로 예측할 확률이 높아짐 -> 재현율 증가 

=> 사이킷런 Estimator predict_proba() : 분류 결정 예측 확률 반환 

 

 

그래서 나온 게 F1 score인 것!! 

 

F1 score : 정밀도 와 재현율을 결합한 지표

-> 어느 한쪽으로 치우치지 않는 수치를 나타낼때 상대적으로 높은 값을 가짐!

 

 

 

 

ROC Curve

False Positive(예측값: Positive) 가 변할때 TP가 어떻게 변하나? 

-> 1에 가까울수록 좋은 수치! 

 

 

 

 

 

 

 

Comments