这是继hello world之后的第一次更新,主要是因为在下一次上课的时候我就要鼓起勇气去讲课了,所以要在这里记录下来,好了,现在开始吧......
1 决策树是什么呢?
我的理解是:比如一个人要决定一件事,就拿买一件东西来说,这个东西有很多衡量指标,比如价钱,质量,以后的用途等等。这个人要做的就是在这些衡量指标中衡量最后得出一个结果:买或者不买。
现在是官方解释:根据数据的属性采用树状结构建立决策模型。决策树模型常常用来解决分类和回归问题。常见的算法包括 CART (Classification And Regression Tree)、ID3、C4.5、随机森林 (Random Forest) 等。
决策树是附加概率结果的一个树状的决策图,是直观的运用统计概率分析的图法。机器学习中决策树是一个预测模型,它表示对象属性和对象值之间的一种映射,树中的每一个节点表示对象属性的判断条件,其分支表示符合节点条件的对象。树的叶子节点表示对象所属的预测结果。
2 决策树的实例
下面是来自老师发的课件上的数据表
然后是根据ID3算法得出的决策树
天气
晴 多云 雨
湿度 P 风
高 正常 有风 无风
N P N P
我也不知道为什么从课件上复制下来的图为什么粘贴不上来,这样应该也能看懂。
3 应用ID3画出决策树
先明确几个需要算的值:
1.信息熵
2.条件熵
3.互信息
一,现在开始算信息熵:
类别出现概率:
|S|表示例子集S的总数,|ui|表示类别ui的例子数。
对9个正例和5个反例有:
P(u1)=9/14 P(u2)=5/14
H(U)=(9/14)log(14/9)+(5/14)log(14/5)=0.94bit
二,接下来是条件熵:
属性A1取值vj时,类别ui的条件概率:
A1=天气取值 v1=晴,v2=多云,v3=雨
在A1处取值晴的例子5个,取值多云的例子4 个,取值雨的例子5 个,故:
P(v1)=5/14 P(v2)=4/14 P(v3)=5/14
取值为晴的5 个例子中有2 个正例、3个反例,故:
P(u1/v1)=2/5, P(u2/v1)=3/5
同理有:P(u1/v2)=4/4, P(u2/v2)=0
P(u1/v3)=2/5, P(u2/v3)=3/5
H(U/V)=(5/14)((2/5)log(5/2)+(3/5)log(5/3))+(4/14)((4/4)log(4/4) +0)+(5/14)((2/5)log(5/2)+(3/5)log(5/3)) = 0.694bit
三, 然后是互信息:
对 A1=天气处有:
I(天气)=H(U)- H(U|V)= 0.94 - 0.694 = 0.246 bit
类似可得:
I(气温)=0.029 bit
I(湿度)=0.151 bit
I(风)=0.048 bit
四,最后就可以画树了
ID3算法将选择互信息最大的特征天气作为树根,在14个例子中对天气的3个取值进行分枝,3
个分枝对应3
个子集,分别是:
F1={1,2,8,9,11},F2={3,7,12,13},F3={4,5,6,10,14}
其中F2中的例子全属于P类,因此对应分枝标记为P,其余两个子集既含有正例又含有反例,将递归调用建树算法。
附:递归建树
(1)F1中的天气全取晴值,则H(U)=H(U|V),有I(U|V)=0,在余下三个特征中求出湿度互信息最大,以它为该分枝的根结点,再向下分枝。湿度取高的例子全为N类,该分枝标记N。取值正常的例子全为P类,该分枝标记P。
(2)在F3中,对四个特征求互信息,得到风特征互信息最大,则以它为该分枝根结点。再向下分枝,风取有风时全为N类,该分枝标记N。取无风时全为P类,该分枝标记P。
4 介绍一下剪枝操作
在分类模型建立的过程中,很容易出现过拟合的现象。过拟合是指在模型学习训练中,训练样本达到非常高的逼近精度,但对检验样本的逼近误差随着训练次数而呈现出先下降后上升的现象。过拟合时训练误差很小,但是检验误差很大,不利于实际应用。
决策树的过拟合现象可以通过剪枝进行一定的修复。剪枝分为预先剪枝和后剪枝两种。
预先剪枝指在决策树生长过程中,使用一定条件加以限制,使得产生完全拟合的决策树之前就停止生长。预先剪枝的判断方法也有很多,比如信息增益小于一定阀值的时候通过剪枝使决策树停止生长。但如何确定一个合适的阀值也需要一定的依据,阀值太高导致模型拟合不足,阀值太低又导致模型过拟合。
后剪枝是在决策树生长完成之后,按照自底向上的方式修剪决策树。后剪枝有两种方式,一种用新的叶子节点替换子树,该节点的预测类由子树数据集中的多数类决定。
另一种用子树中最常使用的分支代替子树。预先剪枝可能过早的终止决策树的生长,后剪枝一般能够产生更好的效果。但后剪枝在子树被剪掉后,决策树生长的一部分计算就被浪费了。
5 一些代码(Matlab)和应用论文
https://blog.csdn.net/lfdanding/article/details/50753239
基于决策树的乳腺癌病历文本的挖掘与决策_龚乐君