如何告诉scikit-learn在二元分类中F-1/精确度/召回率得分是针对哪个标签计算的?

正如这篇文章中所解释的,计算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

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注