计算信息熵的公式:n是类别数,p(xi)是第i类的概率

假设数据集有m行,即m个样本,每一行最后一列为该样本的标签,计算数据集信息熵的代码如下:

from math import logdef calcShannonEnt(dataSet):numEntries = len(dataSet) # 样本数labelCounts = {} # 该数据集每个类别的频数for featVec in dataSet:  # 对每一行样本currentLabel = featVec[-1] # 该样本的标签if currentLabel not in labelCounts.keys(): labelCounts[currentLabel] = 0labelCounts[currentLabel] += 1 shannonEnt = 0.0for key in labelCounts:prob = float(labelCounts[key])/numEntries # 计算p(xi)shannonEnt -= prob * log(prob, 2)  # log base 2return shannonEnt

Python计算信息熵相关推荐

  1. python计算信息熵_Python计算信息熵实例

    计算信息熵的公式:n是类别数,p(xi)是第i类的概率 假设数据集有m行,即m个样本,每一行最后一列为该样本的标签,计算数据集信息熵的代码如下: from math import log def ca ...

  2. python实现信息熵和条件熵

    信息熵 信息熵,可以用来衡量一个信息的复杂程度,通俗的理解就是表示了这件事的不确定性,如果其不确定性越大,则信息熵的值也就越大,反之,则越小. 对于随机事件X,用pxp_{x}px​表示事件x发生的概 ...

  3. 使用OpenCV和Python计算图像的“彩色度”

    使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...

  4. Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例

    Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录

  5. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集

    Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录

  6. Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日?

    Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日? 目录

  7. python计算特征的统计值并文本输出

    python计算特征的统计值并文本输出 # 输出统计分位数 df.describe(percentiles=[0.05, 0.25, 0.5, 0.75, 0.95]) featname:A => ...

  8. python计算特征与目标的相关性并可视化

    python计算特征与目标的相关性并可视化 pandas计算相关性 # 相关性 tips.corr() Out[2]: total_bill tip size total_bill 1.000000 ...

  9. python计算时间差

    python计算时间差 # 使用datetime 和 timedelta import datetime old_time = datetime.datetime.now() print(old_ti ...

最新文章

  1. Boost之正则表达式_[转]
  2. Spring Cloud Stream 使用延迟消息实现定时任务(RabbitMQ)
  3. [转]看刚毕业MM如何在北京买房
  4. border-radius的兼容问题
  5. 【Linux】一步一步学Linux——history命令(213)
  6. 【教程】jQuery打造动态下滑菜单
  7. Java Servlet教程– ULTIMATE指南(PDF下载)
  8. 逐行读文件_用python比较两个文件的内容是否相同
  9. JSP小项目,会员管理系统之实现注册功能
  10. 你真的会使用Eclipse的debug吗?
  11. [转载] Python numpy insert()、 delete()、append()函数的用法
  12. java canvas 画线_java – 在扩展Canvas时使用drawLine()绘制粗线
  13. 优点三维逆向建模——消除实景三维应用后顾之忧
  14. 5号字对应的数字字号_字号对照表
  15. Fiddler - IOS 开启证书(描述文件与设备管理 / 证书信任设置)
  16. 论文发表费用大概需要多少
  17. 地理(影像)配准中的变换方法的选择
  18. 野火指南者(STM32F103)移植LVGL
  19. 人工智能行业每日必读(02·04)
  20. 小米10谷歌连携失败_第一批用户反馈小米手表问题多,产品总监发长文解答

热门文章

  1. java基础之lambda表达式
  2. mysql 逻辑备份导入数据库_mysql逻辑备份(mysql dump的使用)
  3. SQL Server时间函数
  4. oracle scn隐藏参数,Oracle隐含参数scn不一致启动
  5. 消息中间件系列(五):MQ消息队列的12点核心原理总结
  6. 论文浅尝 | 弱监督关系抽取的深度残差学习方法
  7. AlphaFold 和 AI 蛋白质折叠革命的下一步是什么
  8. 一张图带你了解JRE、JDK、JVM
  9. Python:使用matplotlib进行绘图时中文变成乱码的解决
  10. Java基础语法之Map