决策树原理加例子

发布时间 2024-01-07 15:38:14作者: 广爷天下无双

网站
1:https://zhuanlan.zhihu.com/p/197476119 #综合
2:https://blog.csdn.net/u010916338/article/details/94653402 #信息增益率
3:https://zhuanlan.zhihu.com/p/493238757 #熵最大值证明
4:https://zhuanlan.zhihu.com/p/456351465 #基尼系数

理论
1、熵代表集合里面结果的不确定性,熵越高不确定性越高或者混乱程度越高。
2、计算公式

一般[0,1],理论[0,log2为底n]
3、信息增益公式

越大越好。
4、ID3偏好特征多的变量。
所以增加惩罚项。
5、C4.5

虽然提高了分类效果,C4.5还是有一些缺点:
C4.5生成的是多叉树,在计算机中二叉树模型会比多叉树运算效率高
C4.5只能用于分类任务
熵模型里面含有大量的对数运算, 是非常耗时的。
6、CART


CART分类树建立算法流程,之所以加上建立,是因为CART分类树算法有剪枝算法流程。算法输入训练集D,基尼系数的阈值,样本个数阈值。输出的是决策树T。

算法从根节点开始,用训练集递归建立CART分类树。

对于当前节点的数据集为 D,如果样本个数小于阈值或没有特征,则返回决策子树,当前节点停止递归。
计算样本集 D 的基尼系数,如果基尼系数小于阈值,则返回决策树子树,当前节点停止递归。
计算当前节点现有的各个特征的各个特征值对数据集 D 的基尼系数,对于离散值和连续值的处理方法和基尼系数的计算见第二节。缺失值的处理方法和 C4.5 算法里描述的相同。
在计算出来的各个特征的各个特征值对数据集 D 的基尼系数中,选择基尼系数最小的特征A和对应的特征值a。根据这个最优特征和最优特征值,把数据集划分成两部分

,同时建立当前节点的左右节点,做节点的数据集 D 为
,右节点的数据集 D 为

对左右的子节点递归的调用 1-4 步,生成决策树。
可能会有变量多次被使用到。