决策树的Python代码分析(一)
2015-06-09 15:41
302 查看
参考书籍:《机器学习实战》
熵的计算
熵的计算的代码很容易理解,主要掌握有
1.字典的自动添加能力,字典的keys方法;
2.列表的len的方法,取最后的元素使用-1这个索引值
3.for循环语句
4.if 语句
熵的计算
from math import log
def calcShannonEnt(dataSet): numEntries = len(dataSet) //求dataset的元素个数,dataSet的类型是列表 labelCounts = {} //创建空列表 for featVec in dataSet: //对dataSet的每一个元素进行处理 currentLabel = featVec[-1] //将dataSet的每一个元素的最后一个元素选择出来,dataSet的元素也是列表 if currentLabel not in labelCounts.keys(): //对字典的keys方法了解 labelCounts[currentLabel] = 0 //若没有该键,则使用字典的自动添加进行添加值为0的项,取0是因为下一行代码 labelCounts[currentLabel] += 1 shannonEnt = 0.0 for key in labelCounts: prob = float(labelCounts[key]) / numEntries shannonEnt -= prob * log(prob,2) return shannonEnt
熵的计算的代码很容易理解,主要掌握有
1.字典的自动添加能力,字典的keys方法;
2.列表的len的方法,取最后的元素使用-1这个索引值
3.for循环语句
4.if 语句
相关文章推荐
- 笔试 - 高德软件有限公司python问题 和 答案
- python路上的陷阱及调试
- python igraph whl文件的安装
- python json string和dict的转化
- 在win7(32)以及xp上python环境的搭建
- python学习之旅(一)-----字典
- python win7(64位)环境配置以及相关工具包的安装
- Python--模块
- python 遍历删除日志
- python-GUI的几个模块
- python windows错误码
- python 抽象方法 抽象类实现
- Python入门教程--字符串(二)
- Python入门教程--字符串(一)
- python xml.etree.ElementTree解析
- Python学习日记---字典
- python 通过phantomjs 调用highcharts 生成图片 雷达图,柱状图
- python实现杨辉三角
- python ddos
- Python批量删除指定文件夹下的指定类型的文件