반응형
안녕하세요,
roc_auc_score / accuracy / f1_score의 차이와 선택 기준에 대하여 알아보겠습니다.
roc_auc_score, accuracy, f1_score는 모두 모델의 성능을 평가하는 지표지만,
평가하는 관점과 사용하는 상황이 다릅니다.
1. ROC_AUC_Score (Receiver Operating Characteristic - Area Under the Curve)
ROC AUC는 이진 분류 모델에서 주로 사용되는 성능 지표로, 모델의 분류 성능을 종합적으로 평가합니다.
- ROC 곡선: 모델의 **참 양성 비율 (True Positive Rate, TPR)**과 **거짓 양성 비율 (False Positive Rate, FPR)**을 각각 y축과 x축에 나타낸 그래프입니다.
- AUC (Area Under the Curve): ROC 곡선 아래 면적을 나타내며, 0.5에서 1 사이의 값이 됩니다. 0.5는 랜덤 분류, 1에 가까울수록 좋은 성능을 의미합니다.
- 장점: 임곗값(Threshold)에 관계없이 모델의 분류 능력을 평가할 수 있어 불균형 데이터셋에서도 유용합니다.
- 단점: 모델이 예측한 확률 점수를 활용하는 것이므로, 단순한 분류 결과에 비해 계산이 복잡합니다.
2. Accuracy (정확도)
Accuracy는 전체 예측 중 정답의 비율을 계산하는 가장 기본적인 성능 지표입니다.
- 장점: 계산이 간단하고 직관적입니다.
- 단점: 데이터 클래스가 불균형할 때는 부적합합니다. 예를 들어, 90%가 '0'인 데이터셋에서 무조건 '0'으로 예측해도 90%의 정확도가 나오기 때문에, 불균형 데이터에서 정확한 성능을 반영하지 못합니다.
3. F1 Score
F1 Score는 Precision(정밀도)과 Recall(재현율)을 조합한 지표로, 이진 분류에서 주로 사용됩니다.
불균형 데이터에서 특히 유용합니다.
- Precision (정밀도): 모델이 '긍정 클래스'라고 예측한 것 중에서 실제로 긍정인 비율입니다.
- Recall (재현율): 실제로 긍정 클래스인 것 중에서 모델이 긍정이라고 예측한 비율입니다.
- 장점: Precision과 Recall을 동시에 고려하므로, 특히 한쪽 클래스가 더 중요한 경우에 유용합니다.
- 단점: 분류의 임계값에 따라 값이 달라지며, 다른 지표에 비해 해석이 직관적이지 않을 수 있습니다.
정리
- ROC_AUC_Score: 전체적인 분류 성능을 측정하며, 불균형 데이터에서도 성능을 파악하기 좋습니다.
- Accuracy: 전체 예측 중 맞춘 비율이지만, 데이터가 불균형할 경우 부적절할 수 있습니다.
- F1 Score: Precision과 Recall의 조화를 중시하며, 특히 불균형 데이터에서 주로 사용됩니다.
선택 기준
- 클래스가 불균형한 데이터에서는 ROC_AUC_Score 또는 F1 Score를 사용해 성능을 평가하는 것이 좋습니다.
- 클래스가 균형 잡힌 데이터에서는 Accuracy를 사용하는 것이 간단하고 직관적입니다.
감사합니다.
반응형
'BigData' 카테고리의 다른 글
빅데이터 분석기사 _3유형 정리 (1) | 2024.11.21 |
---|---|
numpy의 concatenate() 함수를 사용할때 zero-dimensional arrays cannot be concatenated 오류 (1) | 2024.11.17 |
MAE / MSE / RMSE 차이와 선택 기준은? (2) | 2024.11.15 |
빅분기_실기_OneHotEncoding후 predict()할때 발생하는 오류 (1) | 2024.11.13 |
python을 이용한 머신러닝과 딥러닝은 뭐가 다를까? (2) | 2024.11.12 |