使用python对信息熵进行计算

本文深入探讨了决策树类算法在机器学习中的应用,特别关注于如何利用信息熵选择重要特征属性,以此来划分数据集,提升模型的训练效果。通过具体的Python代码示例,展示了香农熵的计算过程。

在机器学习中的决策树类算法中主要依靠信息熵的大小来选择重要的特征属性作为节点换分数据集从而获得训练结果

#-*-coding:utf-8-*-
from math import log
import operator

def calcShanonEnt(dataSet):
    '''
    计算给定数据集的香农熵
    :param dataSet:
    :return:shanonEnt
    '''
    numEntries = len(dataSet)
    labelCounts={}
    for featVec in dataSet:
        currentLabel = featVec[-1]
        if currentLabel not in labelCounts.keys():
            labelCounts[currentLabel]=0
        labelCounts[currentLabel] +=1
    shanonEnt = 0.0
    for key in labelCounts:
        prob= float(labelCounts[key])/numEntries
        shanonEnt -= prob*log(prob,2)
    return shanonEnt

作者:WangB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值