【发布时间】:2022-10-04 16:31:34
【问题描述】:
我正在运行文本分类任务并使用sklearn.metrics.classification_report。我注意到在很多情况下也会显示支持为 0 的标签,但这是预期的行为吗?
举一个具体的例子,假设我手头的任务有五个标签0、1、2、3和4。我想确保我的模型能够在标签0 上正确训练,因此我创建了一个仅包含这些标签的单独数据集。第一个 epoch 之后的分类报告如下所示:
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中包含的标签。因此,报告不仅不应该显示1、2 和3,而且如果行为应该是一致的,它也不应该显示4。
我检查了我的数据并确保它只包含0,所以这不是数据问题,我还仔细检查以确保在调用函数时我没有交换y_true 和y_pred。
有谁知道为什么会发生这种行为?有没有办法解决它?谢谢。
【问题讨论】:
标签: python machine-learning scikit-learn