我正在使用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"指的是哪个变压器。