正如这篇文章中所解释的,计算F-1得分(即计算召回率和精确度)时,基于正类还是负类进行计算是非常重要的。例如,如果我有一个偏斜的数据集,其中1%的标签属于类别A,99%的标签属于类别B,并且我只是将A指定为正类并将所有测试项目分类为正类,我的F-1得分将会非常好。我如何告诉scikit-learn在二元分类中哪个类别是正类?(如果有帮助,我可以提供代码。)
回答:
对于二元分类,sklearn.metrics.f1_score
默认会假设1是正类,0是负类。如果你使用这些惯例(0
代表类别B,1
代表类别A),它应该会给你想要的行为。你可以通过向f1_score
函数传递pos_label
关键字参数来覆盖这种行为。
参见:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html