目录
kd树是一个二叉树
但是决策树不是
而是多叉树
一,决策树模型与学习
1.决策树模型
圆圈为内部节点,表示特征(属性)
叶子节点是类别。
2.决策树与if-then规则![](https://i-blog.csdnimg.cn/blog_migrate/2f1525aacb23447f744add772878e3d1.png)
if then 规则满足互斥完备规则
3.决策树与条件概率分布
单元C表示乌云密布,狂风大作
4.决策树学习
3个特征,2类
举出一个实例
二,特征选择
1.特征选择问题
选择不同的特征放在根节点,那么得到的决策树是不一样的。
2.信息增益![](https://i-blog.csdnimg.cn/blog_migrate/427905a4904a54d33b7e8526824c94cd.png)
筛子点每个点概率都为1/6,此时的熵最大。
例题解说
从而我们可以得到训练数据集的经验熵
我们以年龄这个属性为例子:
那么什么是经验条件熵呢?
然后算出经验条件熵:
接下来我们来看有工作这个属性:
经验熵为:
经验条件熵:
下面是看有房子这个特征:
信息增益就是经验熵减去经验条件熵。
有自己的房子这个特征信息增益最大,选择他为最优特征
选为根节点。
3.信息增益比
在比较信息增益时:
有自己的房子>信贷情况>有工作
- 有没有可能信贷情况的取值较多
- 导致了它的信息增益大于有工作
- 为了消除特征属性中域的个数对信息增益的影响,我们引出了信息增益比
我们可以分别算出(与类别属性无关)
不同特征的信息熵。
- g(D,A)就是信息增益比
- HA(D)不同属性间的信息熵
- gR(D,A)是信息增益比
我们observe:
- 在比较信息增益时,我们有信贷情况大于有工作,说明对类别属性影响更大
- 但是消除了特征属性的取值个数不同后
- 比较信息增益比,那么有工作大于信贷情况
信息增益 倾向于取值较多的特征
信息增益比 倾向于取值较少的特征
三,决策树的生成
算法解说
1.ID3算法(采用信息增益选取最优特征)
- 不需要特征选择,类别属性都是晴天,生成但结点数T
- 特征集A为空基,也不需要特征选择,20天数据里面只有类别 (18天晴天,2天阴天)记录晴天
2.C4.5的生成算法(采用信息增益比为最有特征)
(1)数据集可以是连续数据(非离散)
(2)摆脱了特征属性的取值过多对判断最有特征的影响
例题讲解
伊普西隆表示尽可能小的数
开始选择有自己的房子为根节点
然后对D2的子集继续分类
求没有自己房子的经验熵
经验条件熵:
那么在没有自己房子的人中的经验条件熵就求出来了
接着我们去计算有工作的经验条件熵:
信贷情况的经验条件熵:
整理出来:
有工作信息增益最大,下一个结点为有工作
整个决策树只用了两个特征