hohoggq 2017-08-11 03:24 采纳率: 0%
浏览 861

决策树剪枝中,合并子树前后,熵的变化量如何计算?

小弟在学习决策树剪枝,有一部分需要判断合并两个子树前后,熵的变化量
熵的计算公式和变化量的计算公式如下:

 # 计算子树tb和fb在合并前后熵的变化量
 delta=entropy(tb+fb)-(entropy(tb)+entropy(fb)/2)

#计算熵,rows是一个数据表,uniquecounts计算该表最后一列每种值出现的次数,是一个dict

def entropy(rows):
    
        from math import  log
   
        log2 = lambda x:log(x)/log(2)
   
        results = uniquecounts(rows)

   
        ent = 0.0
    
        for r in results.keys():
        
            p = float(results[r])/len(rows)
       
            ent = ent-p*log2(p)
    
        return ent

计算熵变化量的那里,为啥有个除以2?
我觉得应该是
delta=entropy(tb+fb)-(entropy(tb)+entropy(fb))

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2018-06-14 16:19
    关注
    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码