Decision Tree——ID3、C4.5、CART

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010412858/article/details/80466404

ID3

决策树关键问题:如何选择特征进行分支
ID3算法思想:选择信息增益最大的属性作为当前的特征对数据集进行分类。

信息熵(Information Entropy):信息的不确定性程度,变量的不确定性越大,熵的值越大;随机变量不确定性的度量叫熵。一个变量X,它可能的取值有n多种,分别是x1,x2,……,xn,每一种取到的概率分别是P1,P2,……,Pn,那么X的熵就定义为
E n t r o p y ( X ) = H ( X ) = i = 1 m p i l o g ( p i )
知乎:信息熵是什么?

信息增益(Information Gain): 在一个条件下,信息不确定性减少的程度;信息增益=信息熵 - 条件熵

G a i n ( D , A ) = g ( D , A ) = H ( D ) H ( D | A )
其中a是有V个不同取值的离散特征,使用特征a对样本集D进行划分会产生V个分支.

条件熵:已知随机变量X的条件下随机变量Y的不确定性
H ( Y | X ) = x X p ( x ) H ( Y | X = x )
通俗理解决策树算法中的信息增益

https://blog.csdn.net/u011327333/article/details/51167952

ID3算法构建决策树存在的问题:

  1. 不能处理连续特征
  2. 用信息增益作为标准容易偏向于取值较多的特征
  3. 缺失值处理的问
  4. 过拟合问题

C4.5

信息增益比(Information Gain Ratio): 信息增益 g ( D , A ) 与训练集D关于特征A的值的熵 H A ( D ) 之比:
g R ( D , A ) = g ( D , A ) H A ( D )

C4.5生成算法与ID3的不同之处:使用信息增益比来选择特征

C4.5算法构建决策树存在的问题:

  1. 由于决策树算法非常容易过拟合,因此对于生成的决策树必须要进行剪枝.->预剪枝后剪枝
  2. C4.5生成的是多叉树,即一个父节点可以有多个节点
  3. C4.5只能用于分类
  4. C4.5由于使用了熵模型,里面有大量的耗时的对数运算,如果是连续值还有大量的排序运算

https://mp.weixin.qq.com/s/EZY3l73aSAA88o-8zJp3ww

决策树剪枝

决策树学习的损失函数:
C α ( T ) = t = 1 | T | N t H t ( T ) + α | T |
使损失函数最小,可动态规划实现。

预剪枝:决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶节点。有欠拟合风险
后剪枝:先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能提升决策树的泛化性能,则将该子树减去。训练时间开销大

CART

基尼指数
G i n i ( D ) = 1 k = 1 | y | p k 2
属性a的基尼指数定义为:

猜你喜欢

转载自blog.csdn.net/u010412858/article/details/80466404