You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为多类多输出数据生成带标签名的sklearn分类报告

解决方法

直接给classification_report传入target_names参数,参数值取拟合完成的MultiLabelBinarizer实例的classes_属性,即可输出原始标签名。

修改后代码

原有F1分数计算逻辑无需改动,仅修改分类报告生成部分即可:

from sklearn.metrics import classification_report
print(classification_report(
    m.transform(y_test_true_f),
    m.transform(y_pred_f),
    target_names=m.classes_
))

原理说明

  • 完成fit()操作的MultiLabelBinarizer实例m,会将所有识别到的原始标签按固定顺序存储在m.classes_属性中,顺序和二值化矩阵的列索引完全一一对应:数字索引i对应的原始标签就是m.classes_[i]。
  • classification_report默认用列索引作为行名展示,传入target_names参数后,会按顺序替换对应索引位置的显示名称。

若原始标签包含中文、长文本或特殊字符,输出表格可能出现对齐错位,属于控制台显示问题,不影响指标计算结果的准确性。

内容的提问来源于stack exchange,提问作者tanmay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:09:20