决策树
2016-02-23 18:12
393 查看
决策树:(decision tree)是一种基本的分类和回归方法。 由结点(node)和有向边(directed edge)组成,结点分为内部节点(internal node)和叶节点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个类。
决策树学习 本质 上是从训练数据集中归纳出一组分类规则。
$$ \dot {x} $$
计算信息熵
测试代码
决策树学习 本质 上是从训练数据集中归纳出一组分类规则。
$$ \dot {x} $$
计算信息熵
#to compute the information entropy from math import log def calcShannonEnt(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 * 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 #reload(trees.py) myDat,labels = createDataSet() #print myDat
测试代码
#from trees import * #import trees import trees reload(trees) myDat,labels = trees.createDataSet() print myDat print trees.calcShannonEnt(myDat) myDat[0][-1] = 'maybe' print trees.calcShannonEnt(myDat)
相关文章推荐
- bootstrap模态框关闭
- 打造高效率产品测试体系--产品测试管理(深圳,2016.3.18~19)
- Android 三大图片缓存原理、特性对比
- .Net网站架构设计(二)Web服务器集群架构
- 全屏背景-Quick-cocos2dx
- 理解javascript this 值
- SQL Server 历史SQL执行记录
- iOS小明开发笔记(二十) (retain、strong、weak、assign区别)
- AsyncTask
- 面向对象之包
- ADB命令小结
- jquery时间倒计时
- 运行独立python 引用其他目录包
- Eclipse 搭建Struts2
- Spark 资源池简介
- js验证textarea里面是否有换行符
- sql替换字符
- 其它
- Android Service与IntentService区别
- java动态控制线程的启动和停止