如何告诉 scikit-learn 给出了 F-1/precision/recall 分数的标签(在二进制分类中)?

How to tell scikit-learn for which label the F-1/precision/recall score is given (in binary classification)?

this article 中所述,对于计算 F-1 分数(即计算召回率和精确率)而言,这些计算是基于正面还是负面 class 很重要。例如,如果我有一个偏斜的数据集,其中 1% 的标签属于 A 类标签,99% 的标签属于 B 类标签,而我只是将 A 分配为阳性类别,并且 class 将所有测试项目确认为阳性,我的 F-1 分数会很好。我如何告诉 scikit-learn 哪个类别是二进制 classification 中的正类别? (如果有帮助,我可以提供代码。)

对于二进制class化,sklearn.metrics.f1_score默认会假设1是正数class,0是负数class。如果您使用这些约定(0 用于类别 B,1 用于类别 A),它应该会为您提供所需的行为。可以通过将 pos_label 关键字参数传递给 f1_score 函数来覆盖此行为。

参见:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html