首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >科学学习的分类报告是否应该显示0支持的样本?

科学学习的分类报告是否应该显示0支持的样本?
EN

Stack Overflow用户
提问于 2022-10-04 00:19:35
回答 1查看 168关注 0票数 0

我正在运行一个文本分类任务,并使用sklearn.metrics.classification_report。我注意到,在许多情况下,支持0的标签也会显示出来,但这是否是预期的行为呢?

给出一个具体的例子,假设我手头的任务有五个标签:01234。我想确保我的模型能够在标签0上进行正确的训练,所以我创建了一个单独的数据集,只包含这些标签。第一个时代之后的分类报告如下所示:

代码语言:javascript
复制
              precision    recall  f1-score   support

           0     1.0000    0.8929    0.9434      9713
           1     0.0000    0.0000    0.0000         0
           2     0.0000    0.0000    0.0000         0
           3     0.0000    0.0000    0.0000         0

    accuracy                         0.8929      9713
   macro avg     0.2500    0.2232    0.2359      9713
weighted avg     1.0000    0.8929    0.9434      9713

据我所知(如果我错了,请纠正我),左边列上的标签是包含在y_true中的标签。因此,报告不仅不应该显示123,而且也不应该显示4,如果行为应该是一致的。

我已经检查了我的数据,并确保它只包含0,因此它不是数据问题,我还进行了双重检查,以确保在调用函数时没有交换y_truey_pred

为什么会发生这种行为?有办法解决吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-04 07:33:36

左边的标签是预测的标签。换句话说,在某些情况下(大约11%),您的模型仍然可以预测类1、2和3(但不是4),在理想情况下它应该预测0。

编辑:准确地说,classification_report()y_truey_pred上运行sklearn.utils.multiclass.unique_labels() (除非显式指定标签列表),这与本例中预测的标签相同。

剩下的只是包装precision_recall_fscore_support()The support is the number of occurrences of each class in y_true.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73941985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档