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

如何获取决策树模型各类标签准确率及整体准确率

解决Top5类别标签的分类别准确率与整体准确率计算问题

嘿,我来帮你搞定这个问题!咱们先理清楚核心逻辑:你需要的每个类别准确率,本质是该类别中真实标签出现在模型Top5预测结果里的样本数,除以该类别的总样本数;而整体准确率可以基于分类别的结果推导出来,下面是具体的实现步骤和代码示例:

1. 先获取模型输出的Top5类别标签

首先你得从决策树模型里拿到每个样本的Top5预测类别(而不是默认的Top1),可以通过预测概率来提取:

# 假设clf是你训练好的决策树分类器
probs = clf.predict_proba(X_train)  # 获取每个样本对应所有类别的概率

# 提取概率最高的Top5类别索引(argsort后取最后5个,再反转成从高到低)
top5_indices = probs.argsort(axis=1)[:, -5:][:, ::-1]

# 把索引转换成对应的类别标签(clf.classes_是模型训练时的类别列表)
top5_labels = clf.classes_[top5_indices]

2. 统计每个类别的正确预测数与总样本数

接下来遍历所有样本,针对每个类别统计:该类别一共有多少样本,其中有多少样本的真实标签出现在模型的Top5预测里:

from collections import defaultdict

# 真实标签集合
y_true = Y_train

# 用字典存储每个类别的统计数据:正确数、总样本数
class_stats = defaultdict(lambda: {'correct': 0, 'total': 0})

for true_label, pred_top5 in zip(y_true, top5_labels):
    # 累加该类别的总样本数
    class_stats[true_label]['total'] += 1
    # 如果真实标签在Top5预测里,正确数+1
    if true_label in pred_top5:
        class_stats[true_label]['correct'] += 1

3. 计算每个类别的准确率

有了统计数据,直接计算每个类别的准确率就很简单了:

# 生成每个类别的准确率字典
class_accuracy = {
    cls: stats['correct'] / stats['total'] 
    for cls, stats in class_stats.items()
}

# 打印结果
print("每个类别Top5准确率:")
for cls, acc in class_accuracy.items():
    print(f"类别 {cls}: {acc:.4f}")

4. 基于分类别结果计算整体准确率

这里有两种常用的计算方式,你可以根据需求选择:

方式1:总正确样本数 / 总样本数

这是最直接的Top5整体准确率,反映所有样本中真实标签在Top5里的比例:

total_correct = sum(stats['correct'] for stats in class_stats.values())
total_samples = sum(stats['total'] for stats in class_stats.values())
overall_acc = total_correct / total_samples

print(f"\n整体Top5准确率(总正确数/总样本数):{overall_acc:.4f}")

方式2:加权平均准确率

如果你的数据集存在类别不平衡(比如某些类别样本特别多),加权平均会更合理——用每个类别的样本占比作为权重,乘以该类别的准确率后求和:

weighted_overall_acc = sum(
    acc * (class_stats[cls]['total'] / total_samples) 
    for cls, acc in class_accuracy.items()
)

print(f"加权平均整体Top5准确率:{weighted_overall_acc:.4f}")

补充说明

  • 如果你之前用accuracy_score()得到的是Top1准确率,和这里的Top5准确率逻辑完全不同,所以需要自定义计算
  • 分类别准确率可以帮你快速定位模型对哪些类别识别能力强,哪些弱,方便后续优化模型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:08:59