AI 공부/딥러닝
평가 지표
AI Sonny
2022. 11. 7. 17:18
728x90
1. Accuracy(정확도)
- Accuracy는 전체 예측 건수에서 정답을 맞힌 건수의 비율
Accuracy의 특징
- 가장 직관적으로 모델의 성능을 나타낼 수 있는 평가지표이다.
- domain의 편중(bias)문제가 발생할 수 있다.
- 예를 들어, 더운 지역에 눈이오는 날 수를 예측한다고 할 때, 모두 '오지 않는다'라고만 분류기를 만들어도 분류기는 상당히 높은 정확성을 보일 것이다. 이처럼 data자체의 domain이 불균형할 경우 문제가 생길 수 있다.
2. Precision(정밀도) / Recall(재현율)
Precision의 특징
- Precision(정밀도)은 True라고 분류한 것들 중에서 실제로 True인 것의 비율
- PPV(Positive Predictive Value) Positive 정답률이라 불립니다.
Recall의 특징
- Recall(재현율)은 실제 True인 것 중에서 True라고 예측한 것의 비율
- Sensitivity 혹은 Hit rate이라고 불린다.
- Precision과 Recall은 상호보완적이기 때문에, Recall을 올리면 Precision이 내려가고, Precision을 올리면 Recall이 내려갈 수 밖에 없다.
- 이를 보완한 것이 Recall과 Precision의 조화평균인 F1 score입니다.
3. F1-score
- F1-score는 Recall과 Precision의 조화평균으로 모델을 평가한다.
- 0에서 1사이의 값을 가지며 1에 가까울수록 좋다.
F1-score의 특징
- 산술평균이 아니라 조화평균을 이용하는 이유는 두 지표(Precision, Recall)를 모두 균형있게 반영하기 위해서이다.
- Accuracy와 달리 클래스 데이터가 불균형할 때도 사용하기 좋다.
3-1. Macro-F1
Macro-F1의 특징
- Macro-F1 역시 0과 1사이의 값을 가지며 1에 가까울수록 좋다.
- Macro-F1의 경우 모든 class의 값에 동등한 중요성을 부여한다.
- 즉, 비교적 적은 클래스(rare classes)에서 성능이 좋지 않다면, Macro-F1의 값은 낮게 나타날 것이다.
- Macro-F1은 먼저 class와 label의 각각 F1-score를 계산한 뒤 평균내는 방식으로 작동한다.
- 이외에도 많은 F1 기반 평가산식이 존재하며, python 패키지의 sklearn.metrics.f1_score를 통해 ‘micro’, ‘macro’, ‘samples’,’weighted’, ‘binary’ f1-score를 계산할 수 있습니다.
4. AUC(Area under the ROC Curve)
- ROC curve는 여러 임계값을 기준으로 Recall-Fallout의 변화를 시각화 한 것이다.
- Fall-out(FPR : False Positive Rate)은 실제 False인 데이터 중에서 모델이 True로 분류한 비율을 나타낸 것이다.
- ROC curve는 그래프이기 때문에 명확한 수치로써 비교하기 어렵다. 따라서 그래프 아래의 면적 값을 이용하고 이것이 AUC(Area Under the ROC Curve)이라 한다.
AUC의 특징
- AUC의 최댓값은 1이고 Fall-out에 비해 Recall값이 클수록(좋은 모델일수록) 1에 가까운 값이 나온다.
5. Logloss
- Logloss는 다중 클래스 분류 모델의 평가 방법으로 쓰인다.
- Logloss는 확률 값 자체를 평가 지표로 사용한다.
Logloss의 특징✏️
- Logloss는 분류모델에서 운이 좋아서 그 값을 맞게 예측한 사람과, 실제로 그 값을 맞게 예측한 사람을 분류하는 것에 유용하다.
- 0.2의 확률로 1이라고 예측한 사람보다, 0.9의 확률로 1이라고 예측한 사람이 실제값이 1일 때 더 많은 점수를 얻는다.
- Logloss 값은 0에 가까울수록 정확하게 예측한 것이고, 확률이 낮아질 수록 값이 급격하게 커진다.
이 글은 데이콘 (https://dacon.io/en/forum/405817) 출처로 내가 다시 따라서 정리해봤다!
728x90