文章目录
- 一、决策树
- 1.ID3(利用信息增益选择属性)
- 1.计算根节点的信息熵
- 2.计算每个属性的信息熵
- 3.划分
- 2.C4.5(利用信息增益率)
- 3.基尼指数
- 二、剪枝
- 1.预剪枝
一、决策树
1.ID3(利用信息增益选择属性)
实际上决策树就是一个迭代的计算信息熵的过程。
1.计算根节点的信息熵
这一步就是计算label的信息熵
可以看见label(好瓜)是二分类,有8个是,9个否。
2.计算每个属性的信息熵
每个属性都有几个值,分别查看每个值对应的label并带入公式。
这是关于色泽的计算,青绿有6个,其中3个是和3个否。
乌黑有6个,其中4个是和2个否。
浅白有5个,其中1个是和4个否。
计算信息增益。每个属性都可以这样获得一个增益,我们需要选择增益最大的作为节点,即属性的熵最小。
3.划分
可以看见纹理的增益最大,那么根节点就是纹理了。
纹理有三个取值,就分成三个子节点。每个子节点拥有划分后的数据集,例如最左边的节点的数据的纹理全部是清晰。如此根据新的数据集重复上述操作。
2.C4.5(利用信息增益率)
C4.5是ID的一种改进。我们依旧需要计算信息增益,在此基础上还要计算分割增益(IV)。
IV的计算与计算每个属性的熵不同,它不关注label。它关注属性的分类,D是样本数目,Dv是属性每个分类的样本数目。
3.基尼指数
CART 决策树根据基尼指数进行分割。CART 算法一定是二叉树。
总的基尼指数:
分割后的基尼指数,用来计算增益率(与ID3一样计算所有的属性分割后的基尼指数):
举例:
gini(T)是总的基尼指数,gini(T1)和gini(T2)是分割后节点的基尼指数,根据公式Gini_index获得ginis1(T)。
二、剪枝
1.预剪枝
预剪枝通过一系列参数来限制决策树的展开,减少过拟合的风险。书中介绍的方法是在进行节点展开时计算展开前后的精确度,如果划分后精确度提升就要划分。
此外,预剪枝也可以通过设置一系列参数进行,例如限制树的层数或当某个划分中的样本数小于某个值就停止划分。