본문 바로가기

파이썬/모델 성능평가

F1 score와 accuracy, 분류기의 성능 평가 지표

 

머신러닝에서 분류기의 성능을 평가하는 방법은 여러가지가 있다. 오늘은 그 중에서 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로 호출할 수 있다.

 

 

출처: machinelearningmastery.com

 

F1 score은 정밀도와 재현율의 조화 평균으로 정밀도와 재현율이 비슷할 수록 F1 score도 높아진다. 0~1의 값을 가지며 일반적으로 f1 score가 높을수록 분류기 성능이 좋다고 할 수 있다.

 

 

F1 score 외에 Accuracy도 분류기의 성능 평가 지표로 사용되는데, 정확도는 전체 데이터에서 맞게 예측한 수로 역시 0~1 사이의 값을 가지며 높을수록 좋다.

(TP+NP)/ALL DATA

 

 

F1 score와 Accuracy 모두 사이킷런의 metrics에서 호출가능하다.