由于现在有两个指标:查准率和召回率,如果有一个算法的查准率是0.5,召回率是0.4;另一个算法的查准率是0.02,召回率是1.0。那么两个算法到底哪个好呢?
为了解决这个问题,我们引入了F1Score的概念:
其中P是查准率(Precision),R是召回率(Recall)。这样就可以用一个数值直接判断哪个算法性能更好。极端情况下,如果查准率或召回率有一个为0,那么F1Score将会为0。而理想情况下,查准率和召回率都为1,在算出来的F1Score为1。一般而言,一个好的模型既要有较高的查准率P,同时也要有较高的召回率R,只有这样F1Score的值才能更大。
在scikit-learn里,计算F1Score的函数是sklearn.metrics.f1_score()。