[关闭]
@haoqiang 2018-01-22T04:53:40.000000Z 字数 1117 阅读 70

决策树

机器学习


算法 支持模型 树结构 特征选择 连续值处理 缺失值处理 剪枝
ID3 分类 多叉树 信息增益 不支持 不支持 不支持
C4.5 分类 多叉树 信息增益比 支持 支持 支持
CART 分类,回归 二叉树 基尼系数,均方差 支持 支持 支持

ID3

思想
计算出每个特征的信息的信息增益,选择信息增益最大的特征来建立决策树的当前节点。

信息增益
特征A对训练数据集D的信息增益(互信息) g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即

g(D,A)=H(D)H(D|A)

ID3算法的不足
1. 没有考虑连续特征,如长度,密度。
2. 取值比较多的特征比取值少的特征信息增益大。


C4.5

思想
计算出每个特征的信息的信息增益比,选择信息增益比最大的特征来建立决策树的当前节点。

信息增益比
信息增益比是信息增益和特征熵的比值:

gR(D,A)=g(D,A)HA(D)

算法
计算所有特征的信息增益比,选择最大的作为最佳特征;若某一特征是连续的,计算每个切分点的二分类信息增益比,选择最大的作为该特征的最佳切分点。


CART

使用基尼系数来代替信息增益比,每次仅仅对某个特征的值进行二分。

基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。在分类问题中,假设有K个类别,第k个类别的概率为pk,则基尼系数的表达式为:

Gini(p)=k=1Kpk(1pk)=1k=1Kp2k

二分类问题,基尼系数的表达式为:

Gini(p)=2p(1p)

特别的,对于样本D,如果根据特征A的某个值a,把D分成D1D2两部分,则在特征A的条件下,D的基尼系数表达式为:

Gini(D,A)=|D1||D|Gini(D1)+|D2||D|Gini(D2)

计算所有特征的基尼系数,选择最小的作为最佳特征;若某一特征有多个切分点,计算每个切分点的二分类基尼系数,选择最小的作为该特征的最佳切分点。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注