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

使用decision-tree-learner时预测误差率恒为0的问题求助

决策树预测误差率始终返回0的问题排查求助

背景与问题描述

我正在基于决策树学习算法构建模型,在数据集上开展测试,同时想要计算模型的预测误差率,用来绘制训练集与测试集的学习曲线。我设置了循环让算法执行n次(n为自定义值),用internal_nodes变量存储每次生成的内部节点数作为学习曲线的横坐标,每次调用都会返回这个值。

我编写了count_errors()函数来统计预测值与真实值的差异,但无论怎么测试,计算得到的误差始终是0。我单独测试了单次迭代的情况,算法运行流程看起来是正常的,所以推测问题出在误差计算的逻辑里,恳请大家帮忙排查问题。

相关代码片段

误差统计函数

def count_errors(examples, target, tree):
    counter = 0
    for ex in examples:
        # examples是包含示例列表的列表
        desired = ex[target]
        predicted = tree(ex) # 使用__call__(self,example)获取叶节点值
        if desired != predicted:
            counter += 1
    return float(counter / len(examples)) * float(100)

决策树的__call__方法

def __call__(self, example):
    """根据属性和分支对示例进行分类。"""
    attrvalue = example[self.attr] # attr是用于索引示例的整数列表
    return self.branches[attrvalue](example)

我的初步排查

  • 单次迭代时,算法生成决策树的流程无明显报错,看起来正常运行
  • 确认输入的examples数据格式符合预期(是包含示例的列表的列表)
  • 暂时未发现target参数的索引存在问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:40:56