머신러닝 모델 평가 지표 정리 1
분류(Classification) 모델 평가 지표
- 정확도 (Accuracy): 전체 예측 중 올바르게 예측한 비율(데이터가 불균형할 경우에는 부적절할 수 있음)
- 정밀도 (Precision): Positive로 예측한 샘플 중 실제 Positive인 비율을 나타내며 > FP을 최소화
- 재현율 (Recall):실제 Positive인 샘플 중 모델이 올바르게 Positive로 예측한 비율 > FN 최소화
- F1 Score: 정밀도와 재현율의 조화 평균(정밀도와 재현율 모두 고려하는 지표)
- ROC 곡선 (ROC Curve) , AUC (Area Under the ROC Curve):이 모델의 분류 성능을 시각화하고 측정하는 데 사용
1. 이진 분류 평가지표- 오차행렬 개념
오차 행렬(confusion matrix)은 학습된 분류 모델이 예측을 수행하면서 실제 값과 예측 값의 차이를 분류한 것이다.
아래와 같은 평가지표를 모델에 따라서 다르게 사용한다.
1. 정확도 (Accuracy): 전체 예측(TN+FP+FN+TP) 중 올바르게 예측(True - ) 한 비율
TN + TP / 전체
주의 >> 데이터가 불균형할 경우에는 부적절할 수 있음)
2. 정밀도 (Precision): Positive로 예측한 샘플( - Positive) 중 실제 Positive인 비율(TP)을 나타냄 > FP을 최소화
TP / TP + FP
3. 재현율 (Recall):실제 Positive인 샘플(FN , TP) 중 모델이 올바르게 Positive(TP)로 예측한 비율 > FN 최소화
TP / FN + TP
4. F1 Score: 정밀도(Precision)와 재현율(Recall)의 조화 평균(정밀도와 재현율 모두 고려하는 지표)
2. 중요도 판단
각 평가지표 간의 중요도 판단을 설명하기 위해 코로나의 양성/음성을 예측하는 분류 모델을 가정해 보겠다.
1. 일반적으로 데이터셋이 불균형한 경우가 많으므로, 정확도보다 정밀도(Precision)와 재현율(Recall)을 주요한 지표로 고려한다.
예를 들어, 코로나 양성/음성 판정을 예측하는 분류 모델을 구현했다고 가정해 보자.
코로나는 바이러스 특성상, 위의 4가지 분류 가장 위험한 경우는 양성을 음성으로 예측한 경우 (FN)이다.
따라서, 코로나 예측의 경우에는 FN 최소화에 중점을 둔 재현율 (Recall)을 가장 주요한 평가지표로 고려해야 한다.
2. 정밀도(Precision)가 더 중요한 지표로 고려되어야 하는 상황은 언제일까?
같은 예시로 설명하면, 음성을 양성으로 예측하게 되면, 중요한 위험이 따르는 경우이다.
결국은 재현율은 FN(False Negative), 정밀도는(False Positive)를 최소화하는 데에 초점을 맞춘 지표이다.
따라서 두 가지 지표를 동시에 높은 수준으로 개선하기는 어렵다. Trade -off 관계에 있다.
*사이킷런에서는 재현율과 정밀도를 API로 제공한다.
from sklearn.metrics import accuracy_score, precision_score, recall_score, confusion_matrix
'Python > Machine Learning' 카테고리의 다른 글
[ML] 임계값 설정과 평가지표 & ROC 변동 (1) | 2024.03.30 |
---|---|
[ML] 머신러닝 평가지표 - 회귀 모델 MSE, RMSE, MAE (0) | 2023.09.16 |
[Machine Learning] 하이퍼 래퍼 XGBoost API - 위스콘신 유방암 예측 (0) | 2023.08.29 |
[Machine Learning] 회귀 , Kaggle 자전거 대여 수요 예측 - 2 (0) | 2023.08.24 |
[Machine Learning] 회귀 , Kaggle 자전거 대여 수요 예측 - 1 (0) | 2023.08.23 |