ID3
决策树关键问题:如何选择特征进行分支
ID3算法思想:选择信息增益最大的属性作为当前的特征对数据集进行分类。
信息熵(Information Entropy):信息的不确定性程度,变量的不确定性越大,熵的值越大;随机变量不确定性的度量叫熵。一个变量X,它可能的取值有n多种,分别是x1,x2,……,xn,每一种取到的概率分别是P1,P2,……,Pn,那么X的熵就定义为
知乎:信息熵是什么?
信息增益(Information Gain): 在一个条件下,信息不确定性减少的程度;信息增益=信息熵 - 条件熵
其中a是有V个不同取值的离散特征,使用特征a对样本集D进行划分会产生V个分支.
条件熵:已知随机变量X的条件下随机变量Y的不确定性
通俗理解决策树算法中的信息增益
https://blog.csdn.net/u011327333/article/details/51167952
ID3算法构建决策树存在的问题:
- 不能处理连续特征
- 用信息增益作为标准容易偏向于取值较多的特征
- 缺失值处理的问
- 过拟合问题
C4.5
信息增益比(Information Gain Ratio): 信息增益
与训练集D关于特征A的值的熵
之比:
C4.5生成算法与ID3的不同之处:使用信息增益比来选择特征
C4.5算法构建决策树存在的问题:
- 由于决策树算法非常容易过拟合,因此对于生成的决策树必须要进行剪枝.->
预剪枝
,后剪枝
- C4.5生成的是多叉树,即一个父节点可以有多个节点
- C4.5只能用于分类
- C4.5由于使用了熵模型,里面有大量的耗时的对数运算,如果是连续值还有大量的排序运算
https://mp.weixin.qq.com/s/EZY3l73aSAA88o-8zJp3ww
决策树剪枝
决策树学习的损失函数:
使损失函数最小,可动态规划实现。
预剪枝:决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶节点。有欠拟合风险
后剪枝:先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能提升决策树的泛化性能,则将该子树减去。训练时间开销大
CART
基尼指数:
属性a的基尼指数定义为: