机器学习之-决策树-具体怎么实现及应用

1、对决策树的应用的评价:

决策树是最经常使用的数据挖掘算法,流行的原因是使用者不用了解机器学习算法,不用深究它是如何工作的。

2、决策树从数据中挖掘规则:

决策树很多任务都是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列的规则,机器学习算法最终将使用这些机器从数据集中创造的规则。

3、决策树的优缺点及适用数据类型:

优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据

缺点:可能产生过度匹配问题,过拟合

适用数据类型:数值型和标称型。

4、构造决策树的基础就是划分数据集:

划分数据集的大原则就是:将无序的数据变得有序。

当前数据集上哪个特征在划分数据分类时起决定性作用,找到这个特征后,数据集就被划分成几个数据子集,然后查看划分的分支上的数据子集是不是都是同一类型,若是同一类型,则无需划分,若不是同一类型则需要再找起决定性作用的特征,对这个分支的数据子集进行划分,直到所有分支下的数据子集属于同一类型。

5、决策树的一般流程:

a)收集数据:可以使用任何方法。

b)准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。

c)分析数据:可以使用任何方法,构造树完成之后,应该检查图形是否符合预期。

d)训练算法:构造树的数据结构。

e)测试算法:使用经验树计算错误率。

f)使用算法:此步骤可以适用于任何监督学习算法,而使用决策树可以更好的理解数据的内在含义。

6、构造出决策树之后,一定要显示化,不然体现不出决策树的优势。

7、之后就可以用决策树进行分类了。

8、由于构造决策树的耗时较长,因此不能在每次使用决策树时重新构造决策树,而是需要调用已经构建的决策树,这就需要将构建好的决策树序列化的保存到磁盘里,当需要使用的时候直接从磁盘里读取决策树。

9、实践中利用信息增益选取特征的技巧:

a)首先计算整个数据集的信息熵。

b)循环遍历每个特征,根据这个特征的值将数据集拆分成数据子集,然后计算各个特征子集相对于整个数据集的概率,并且计算各个特征子集的信息熵,用概率乘以信息熵就是这个特征的经验条件熵。

c)用a)中的整个数据集的信息熵减去b)中的每个特征的经验条件熵,就是各个特征的信息增益。

d)找到信息增益最大的那个特征,就是最优划分特征。

10、用matplotlib的annotate画决策树的一些操作:

画节点框的方式:先定义一种节点:decisionNode=dict(boxstyle="sawtooth",fc="1"),其中boxstyle还可以选择round4,用于选择矩形框的样式,而fc取值从0到1,是矩形框的颜色。

画箭头的方式:先定义一种箭头:arrow_args=dict(arrowstyle="<-"),其中arrowstyle就是箭头样式。

实际画节点框和箭头的函数:annotate(nodeText,xy=parentPt,xycoords=‘axes fraction’,xytext=centerPt,textcoords='axes fraction',va="center",ha=center",bbox=nodeType,arrowprops=arrow_args)其中主要赋值的就是nodeText(这个是文本框里的文字内容)、parentPt(这个是箭头的起始位置)、centerPt(这个是文本框的中心位置)、bbox就是之前定义的节点框的样式,而arrowprops就是之前定义的箭头的样式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值