분류의 성능 평가 지표
- 정확도
- 오차행렬
- 정밀도
- 제햔울
- F1 스코어
- ROC AUC
1. 정확도
정확도는 실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표
불균형한 데이터의 경우에는 정확도는 적합한 평가 지표가 아니다.
2. 오차행렬
오차행렬은 학습된 분류모델이 예측을 수행하면 얼마나 헷갈리고 있는 지도 함께 보여주는 지표
이진분류의 예측 오류가 얼마인지와 어떠한 유형의 오류가 발생하고 있는지도 보여준다.
정확도 =예측결과와 실제 값이 동일한 건수 / 전체 데이터의 수
ㅇ (TN + TP) / (TN + FP + FN +TP)
3. 정밀도와 재현율
정밀도와 재현율은 Positive 데이터 세트의 예측 성능에 좀 더 초점을 맞춘 성과지표이다.
- 정밀도 = TP / (FP + TP)
- 재현율 = TP / (FN + TP)
정밀도(Precision): 예측을 positive로 한 대상 중에 예측과 실제 값이 positive로 일치한 데이터의 비율을 뜻한다.
분모→ FP +TP 는 예측을 Positive로한 데이터 건수
분자→ TP 예측과 실제 값이 Positive로 일치한 데이터 건수
재현율(Recall) = 민감도(Sensitivity): 실제 값이 positive인 대상 중에 예측과 실제 값이 positive로 일치한 뎅터의 비율을 뜻한다.
분모 → FN +TP 는 실제 값이 positive인 모든 데이터 건수이다.
분자 → TP는 예측값과 실제값이 positive로 일치하는 데이터 건수
💡 재현율이 중요 지표인 경우는 실제 Positive 양성 데이터를 Negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우
재현율과 정밀도 모두 TP를 높이는데 동일하게 초점을 맞추지만
재현율은 FN(실제 Positive 예측 Negative)를 낮추는데
정밀도는 FP를 낮추는데 초점을 맞춘다
⇒ 즉, 가장 좋은 성능펵아는 재현율과 정밀도 모두 높은 수치를 얻는것.
4. 정밀도/재현율 트레이드오프
분류하는 업무의 정밀도 또는 재현율이 특별히 강조돼야 할 경우 분류 결정의 임계값(Threshold)를 조정해 정밀도, 재현도 수치를 높일 수 있다.
⇒ 단, 어느 한쪽을 강제로 높이면 다른 하나의 수치는 떨어진다.
💡 사이킷런의 분류 알고리즘은 예측 데이터가 특정 레이블(결정 클래스 값)에 속하는 지를 계산하기 위해 먼저 개별 레이블별로 결정 확률을 구한다.
- predict_proba : 개별 데이터별로 예측 확률을 반환하는 매서드반환 결과가 예측 결과 클래스 값이 아닌 예측 확률 결과이다.
- ⇒ 테스트 피처 데이터 세트를 파라미터로 입력해주면 테스트 피처 레코드의 개별 클래스 예측 확률을 반환한다.
분류결정에서 임계값은 Positive 예측값을 결정하는 확률의 기준이 된다.
'✨Data Science > machine learning' 카테고리의 다른 글
머신러닝 학습절차 (0) | 2023.05.11 |
---|---|
<머신러닝> train 데이터와 test 데이터 (0) | 2023.05.09 |
<머신러닝> 기본 (0) | 2023.05.09 |
넘파이/ 맷플롯립 (0) | 2023.04.18 |