sklearn.metrics.classification_report支持字段显示标签的数字错误



我正在使用sklearn.metrics.classification_report来评估我的分类结果。

y_pred = np.argmax(model.predict(X_test), axis=1)
y_true = np.argmax(y_test, axis=1)
print(classification_report(y_true, y_pred, target_names=list(le.classes_)))

这是我的结果:

precision    recall  f1-score   support
Technology       0.00      0.00      0.00         1
Travel           0.00      0.00      0.00         5
Fashion          0.00      0.00      0.00        25
Entertainment    0.72      1.00      0.84       130
Art              0.00      0.00      0.00         7
Politic          0.00      0.00      0.00        12
avg / total       0.52      0.72      0.61       180

问题是我实际上有 7 个标签。订单是技术,旅游,时尚,娱乐,艺术,政治,体育。实际上,我的y_true结果中没有任何艺术标签,但报告按顺序列出,它列出了艺术,但跳过了体育。它写下了政治为艺术的结果,体育的结果进入了政治的行。

为什么它不跳过艺术?我不知道如何解决这个问题。

分类报告中的索引标签是参数"target_names"的值。请确保你为该论点提供了正确的值。

根据所需的输出,您应该有 target_names = ["技术"、"旅游"、"时尚"、"娱乐"、"政治"、"体育"]

我建议,请检查您的"le.classes_"的输出,我不确定"le"指的是哪个变压器。

相关内容

  • 没有找到相关文章

最新更新