I have three classifiers that classify same dataset with these results:

classifier A:
              precision    recall   f1-score 
  micro avg       0.36      0.36      0.36      
  macro avg       0.38      0.43      0.36       
  weighted avg    0.36      0.36      0.32    

classifier B:
              precision    recall   f1-score 
   micro avg       0.55      0.55      0.55      
   macro avg       0.60      0.60      0.56       
   weighted avg    0.61      0.55      0.53       

classifier C:
               precision    recall   f1-score 
   micro avg       0.34      0.34      0.34       
   macro avg       0.36      0.38      0.32      
   weighted avg    0.39      0.34      0.32       

I want two select two best of them, and I know F1-score is a parameter for compare the classifiers because of its harmony between precision and recall. So, at first I select classifier B for its best F1-score. for next, both A and C have a same F1-measure, I want to ask how can I select between them?


2 Answers 2


f1-score combines precision and recall in a single figure. As both are pretty similar in A and C cases, f1-score is similar too.

Your choice depends on what it is less harmful in your categorization: false positives or false negatives.

I do recommend you to read the 3rd chapter of "DEEP LEARNING:From Basics to Practice" volume 1 by Andrew Glassner. There you have the three concepts (precision, recall and f1-score) described in a very illustrative way.

  • $\begingroup$ they are not comparable if we dont have FP or FN? $\endgroup$
    – Saha
    Dec 28, 2018 at 12:07
  • $\begingroup$ You do not need direct access to FN or FN values. Precision and recall only varies in a part of their fraction formulas which includes FN or FP, so your displayed values reflect their relationship. What Nga Dao and I mean is that your choice depends on the impact of false positives or false negatives in your system. Nga Dao example is quite nice. $\endgroup$
    – David
    Dec 29, 2018 at 8:16

It depends on your application. Assume that you design a classifier model to predict whether a person has cancer. If you wanna say confidently that a person has cancer, you probably prefer a classifier with high precision. On the other hand, if you want to make sure all people with cancer will be caught, you probably prefer a classifier with high recall.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.