머신러닝에서 분류기의 성능을 평가하는 방법은 여러가지가 있다. 오늘은 그 중에서 F1 score와 Accuracy에 대해 공부해보았다. F1 score의 개념을 알려면 우선 재현율과 정밀도의 개념을 알아야 한다.
결과/실제 | True(참) | False(거짓) |
True(참) | TP(True Positive) | FP(False Positive) |
False(거짓) | FN(False Negative) | TN(True Negative) |
분류기를 만들어서 예측을 했을 때의 결과값은 총 4가지이다.
1. 실제 참, 예측 참
2. 실제 참, 예측 거짓
3. 실제 거짓, 예측 참
4. 실제 거짓, 예측 거짓
정밀도(precision score)은 예측이 참인 것 중에 실제도 참인 것의 비율이다.
TP/TP+FP
재현율(recall score)은 실제 참인 것 중에 예측도 참인 것의 비율이다.
TP/TP+FN
각각은 사이킷런의 metrics에서 precision_score, recall_score로 호출할 수 있다.
F1 score은 정밀도와 재현율의 조화 평균으로 정밀도와 재현율이 비슷할 수록 F1 score도 높아진다. 0~1의 값을 가지며 일반적으로 f1 score가 높을수록 분류기 성능이 좋다고 할 수 있다.
F1 score 외에 Accuracy도 분류기의 성능 평가 지표로 사용되는데, 정확도는 전체 데이터에서 맞게 예측한 수로 역시 0~1 사이의 값을 가지며 높을수록 좋다.
(TP+NP)/ALL DATA
F1 score와 Accuracy 모두 사이킷런의 metrics에서 호출가능하다.
'파이썬 > 모델 성능평가' 카테고리의 다른 글
회귀 평가지표 - MAE, MSE, R² (0) | 2021.09.30 |
---|---|
ROC 곡선(ROC curve)과 AUC란? 직접 그려보기 (0) | 2021.07.13 |
그리드 서치로 최적화 하이퍼파라미터 찾기 (GridSearchCV) (0) | 2021.06.29 |
validation set이란? test set과의 차이점과 사용 방법 (0) | 2021.06.27 |
쉽게 알아보는 K겹 교차검증(K-fold cross validation) 개념과 코드 (0) | 2021.06.06 |