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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图