决策树信息熵计算《机器学习实战》读书笔记(数据分析学习DAY2)

博主分享了关于决策树的学习经历,重点介绍了信息熵的概念,它是衡量数据纯度的指标,用于评估特征值的选择。信息熵越高,表示数据的不确定性越大。通过计算每个标签出现的概率并应用对数公式,博主展示了如何计算信息熵。代码示例展示了如何在Python中实现这一计算。明日将继续深入学习决策树并复习计量知识。
摘要由CSDN通过智能技术生成

今天课多,并且终于周五了
稍微学习一下休息了

今天开始学习决策树机器学习
第一部分为信息熵
其概念为 某信息出现的概率的以2为底的对数的期望
sigma ( pi * log(pi,2))

其主要作用为帮助我判断特征值的优劣。
如某一特征值统一性高,则拥有较高的信息增益,可以当作此类的代表

具体代码如下:

from math import log
def calcshannonEnt (dataSet):
    numEntries = len(dataSet) #返回数据集中所含数据的数量
    labelCounts={}#以每个标签为一类,计算每个标签对应的出现次数,并保存为字典
    for featVec in dataSet: #遍历每一行
        currentLabel = featVec[-1]#提取当前循环的对象的最后一个元素
        if currentLabel not in labelCounts.key():
            labelCounts[currentLabel] = 0 #若是第一次提取到的对象,则建立键并值为0
        labelCounts[currentLabel] += 1 #累计一次
    shannonEnt = 0.0
    for ket in labelCounts:
        prob =  float(labelCounts[key])/numEntries #计算p 该键出现次数/总数据数
        shannonEnt -= prob * log(prob,2) #累加概率以及对应log的乘积,计算期望得到信息熵
    return shannonEnt

明天继续学习决策树
以及复习计量知识

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值