如何告诉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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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