信息熵的计算
来源:互联网 发布:retas studio mac 编辑:程序博客网 时间:2024/04/29 04:11
最近在看决策树的模型,其中涉及到信息熵的计算,这里东西是由信号处理中来的,理论部分我就不再重复前人的东西了,下面给出两个简单的公式:
当然学习过信号与系统的童鞋一定觉得这不是香农提出的东西吗?O(∩_∩)O~没错,就是这个东西,只不过我们用在了机器学习上,好了下面就看代码吧,这些代码也很简单,我们知道信息熵越大表示所含信息量越多。
下面是计算信息熵的方法,以及测试代码:
import math def cacShannonEnt(dataset): numEntries = len(dataset) labelCounts = {} for featVec in dataset: currentLabel = featVec[-1] if currentLabel not in labelCounts.keys(): labelCounts[currentLabel] = 0 labelCounts[currentLabel] +=1 shannonEnt = 0.0 for key in labelCounts: prob = float(labelCounts[key])/numEntries shannonEnt -= prob*math.log(prob, 2) return shannonEnt def CreateDataSet(): dataset = [[1, 1, 'yes' ], [1, 1, 'yes' ], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']] labels = ['no surfacing', 'flippers'] return dataset, labels myDat,labels = CreateDataSet()print(cacShannonEnt(myDat))
第一个函数式计算信息熵的,第二个函数是创建数据的。
- 信息熵的计算
- 信息熵的计算心得
- 信息与熵的计算
- 图像信息熵计算的OpenCV代码
- 计算信息熵的简单做法
- <PY>计算信息熵
- 信息熵计算权重
- python 计算信息熵和信息增益
- 决策树中熵和信息增益的计算
- 为什么在计算信息熵的时候要用log?
- 如何通过计算信息熵,进行决策树的分裂
- 利用灰度计算信息熵
- 归纳决策树ID3(信息熵的计算和计算原理写的很清楚)
- 云计算下的信息的概念
- 信息的存储与值的计算
- 不均衡信息费用的计算
- 一条SQL搞定信息增益的计算
- 一条SQL搞定信息增益的计算
- 提高程序运行效率的10个简单方法
- BitCoin、XXCoin吃C盘的解决方案
- SQlite
- 看“优秀技术领导者的修成之道”之感
- [C#基础教程]之Equals,ReferenceEquals,==的区别
- 信息熵的计算
- 互联网产品经理和软件行业需求分析师
- [C#基础知识]之 .net中的泛型全面解析
- MFC 对话框屏蔽ESC Enter退出
- 互联网产品经理和软件行业需求分析师
- 随意修改串口信息来匹配调试或烧录
- rainlendar
- 復星CEO:未來十年政府不用調控 房價自然會降
- div 100% height