决策树
基础知识
参数
- D
- a
信息熵
- 可以用于度量样本集合的纯度,纯度越高,信息熵越小。
- 衡量信息的不确定度,不确定度越高,信息熵越大。
条件熵
- 对于一个决策树,可能含有不同分支节点,不同分支节点所包含的样本数不同, 条件熵就是被赋予不同权重的信息熵的综合。
信息增益Gain(D, a)
- Gain(D, a) = 信息熵 - 条件熵
- 信息增益越大, 表示经过该属性划分后的纯度越高,越有利于分类
增益率Gain_ratio(D, a)
- Gain_ratio(D, a) = Gain(D, a)/ IV(a)
- 增益率越大, 表示在增益率一定的情况下,经过该属性划分后,该属性的可能取值越少。
固有值 IV(a)
- 用于C4.5 决策树
- 衡量属性a的可能取值数目,属性a的取值数目越多(即V越大),IV(a)的值越大
基尼指数Gini(D)
- 可以用于度量样本集合的纯度,纯度越高,基尼指数越小。
决策树的"机器学习"三要素
模型结构
- 决策树结构 - 分类模型
- 根节点
- 若干内部节点
- 若干叶节点
策略
- 分治策略 Divide & Conquer
算法
-
递归算法
-
基准条件
-
- 当前节点包含的样本全属于同一类别,无需划分,return。
-
- 当前属性集合为空,或所有样本在所有属性上的取值相同,无法划分,return。
-
- 当前节点包含的样本集合为空,不能划分,return。
- PS: (2)中,我们把当前节点标记为叶节点,并将其类别设置为该节点所含样本数最多的类别。
(3)中,我们把当前节点标记为叶节点,但将其类别设定为其父节点所有样本最多的类别
-
-
递归条件
-
- 为Node 生成分支
-
- 遍历a中的每个值av,并为D中在a*上取值为a*v的样本子集Dv生成新的决策树TreeGenerate(Dv, A \ {a*})
-
-
ID3 决策树
Iterative Dichotomiser 迭代二分器
算法
- 用信息增益为准则来选择划分属性
缺陷
- 对可能取值数目较多的属性(varieties)有所偏好,其本质原因是每个取值里面所包含的样本数目太少。
- 极端例子: 对于样本集合,若将编号作为划分属性之一,则对于每个样本均有其独一的编号,经划分后每个子集中只有一个样本,那么信息增益的计算结果就是信息熵本身,取得最大值。显然对这样的划分结果不满意。
C4. 5决策树
ID3 决策树的优化
启发式算法
- 先选出信息增益高于平均水平的属性,然后再从中选择增益率最高的属性。