Python3 机器学习之计算香农熵

from math import log
# 函数说明:计算给定数据集的经验熵(香农熵)
def calcShannonEnt(dataSet):numEntires = len(dataSet)                       #返回数据集的行数labelCounts = {}                                #保存每个标签(Label)出现次数的字典for featVec in dataSet:                         #对每组特征向量进行统计currentLabel = featVec[-1]                  #提取标签(Label)信息if currentLabel not in labelCounts.keys():  #如果标签(Label)没有放入统计次数的字典,添加进去labelCounts[currentLabel] = 0labelCounts[currentLabel] += 1              #Label计数shannonEnt = 0.0                                #经验熵(香农熵)for key in labelCounts:                         #计算香农熵prob = float(labelCounts[key]) / numEntires #选择该标签(Label)的概率shannonEnt -= prob * log(prob, 2)           #利用公式计算return shannonEnt                               #返回经验熵(香农熵)

Python3 机器学习之计算香农熵相关推荐

  1. 决策树算法(三)——计算香农熵

    写在前面的话 如果您有任何地方看不懂的,那一定是我写的不好,请您告诉我,我会争取写的更加简单易懂! 如果您有任何地方看着不爽,请您尽情的喷,使劲的喷,不要命的喷,您的槽点就是帮助我要进步的地方! 计算 ...

  2. 【CCAI大咖秀】AlphaGo/Mobileye教父:智能科学需要融合机器学习、计算神经科学与认知科学

    [CCAI大咖秀]AlphaGo/Mobileye教父:智能科学需要融合机器学习.计算神经科学与认知科学 8月26-27日,由中国人工智能学会(CAAI)发起并主办.中科院自动化研究所与CSDN共同承 ...

  3. 大咖云集,EI稳定检索,第14届机器学习与计算国际会议(ICMLC 2022)

    14th - ICMLC 2022 第14届机器学习与计算国际会议 2月18-21日 | 中国广州 关于我们 机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用于解决工程应用和科 ...

  4. 机器学习——科学计算库(Numpy,Matplotlib,Pandas)

    机器学习--科学计算库中主要介绍的内容是人工智能深度学习过程常用的几个python库,主要有Numpy,Matplotlib,Pandas等,具体如下所示 在学习的过程中,我也从网上借鉴了多位大佬的优 ...

  5. 机器学习 -- 决策树(Ⅱ香农熵)

    一.定义 香农熵定义为信息的期望值.在信息论与概率统计中,熵是表示随机变量不确定性的度量. 假定当前样本集合D中一共有n类样本,第i类样本为Xi ,那么Xi的信息定义为: 举例: 若小明和小华下棋,两 ...

  6. Python3机器学习工具包基础复习

    Python3进阶复习:Python3进阶复习_でこもり さなえ的博客-CSDN博客 机器学习四剑客:numpy.pandas.matplotlib.pyplot.PIL 实际上感觉 sklearn ...

  7. 机器学习:计算学习理论

    计算学习理论介绍 关键词: 鲁棒性 关键词: [机器学习基础]理解为什么机器可以学习1--PAC学习模型--简书 关键词:存在必要性:从机器学习角度出发 PAC学习理论:机器学习那些事 关键词:不错的 ...

  8. 机器学习实现计算不规则图形面积_不用任何数学方法,如何计算圆面积

    杀鸡用牛刀,我们用机器学习方法来算圆的面积. 询问任何人圆的面积是多少,他们都会告诉你不就是r²吗.但如果你问他们为什么,他们很可能并不知道. 这是因为圆的面积公式的证明在大多数情况下要么不直观,不令 ...

  9. 一周一论文(翻译)—— [PVLDB 12] Distributed GraphLab A Framework for Machine Learning 分布式机器学习图计算框架

    摘要 虽然高级别数据并行框架,像MapReduce,简化了大规模数据处理的设计和实现的系统,他们没有自然或有效地支持许多重要数据挖掘和机器学习算法并且导致学习系统效率低下.为了帮助填补这一重要空白,我 ...

最新文章

  1. python 和 matlab的caffe读数据细节
  2. HTML样式 - CSS
  3. 阿里云徐立:面向容器和 Serverless Computing 的存储创新
  4. abp vNext微服务框架分析
  5. android 获取图片主色调
  6. 分辨率到底是个什么概念?它和DPI之间是什么关系?
  7. 关于浏览器存储问题理解
  8. 使用GoodSync备份服务器文件
  9. 共有76款 WIKI系统开源软件
  10. app不走系统代理?如何抓包?
  11. Python operator.ge()函数与示例
  12. Android简单计算器实现
  13. Android 打包apk出错问题
  14. GC Garbage Collectors
  15. 手动编译源代码安装GR GSM
  16. 微信小程序计算圆周长和面积
  17. deap遗传算法 tirads代码解读
  18. 网址在线封装APK系统源码
  19. 解决ReactNative崩溃:Can't find variable: __fbBatchedBridge
  20. eclipse 恢复误删文件

热门文章

  1. Unity Point Light没用的问题
  2. TFT-LCD屏幕显示图片
  3. 使用VPN代理之后,无法使用Git拉取代码
  4. fan4801开关电源原理图_开关电源工作原理分析及图解
  5. Creo二次开发异步模式配置
  6. TTL电平、CMOS电平的区别
  7. 让百度、Google等各大搜索引擎收录你的博客
  8. python何时用try_什么时候使用Try Catch(转)
  9. IOT大世界大未来,微构科技物联网产业大数据应用简析
  10. 精细化工PLM的构建与法规匹配,看蓝莼PLM如何赋能精细化工企业数字化转型