Task03 详读西瓜书 + 南瓜书第 4 章
1 决策树基本流程
概念:基于树结构来进行决策,体现人类在面临决策问题时一种很自然的处理机制
具备条件:
- 每个非叶节点表示一个特征属性测试
- 每个分支代表这个特征属性在某个值域上的输出
- 每个叶子节点存放一个类别
- 每个节点包含的样本集合通过属性测试被划分到子节点中,根节点包含样本全集
基本算法:
输入: 训练集
; 属性集 过程:
函数 TreeGenerate(
(1) 生成结点 node
(2) if
(3) 将 node 标记为
(4) end if
(5) if
(6) 将 node 标记为叶结点,其类别标记为
(7) end if
(8) 从
(9) for
(10) 为 node 生成一个分支;令
(11) if
(12) 将分支结点标记为叶结点,其类别标记为
(13) else
(14) 以 TreeGenerate(
(15) end if
(16) end for
输出: 以 node 为根结点的一棵决策树
- 决策树构造
- 当前结点包含的样本全部属于同一类,直接将该结点标记为叶结点,其类别设置该类
- 当属性集为空,或所有样本在所有属性上取值相同,无法进行划分,将该结点标记为叶结点,其类别设置为其父结点所含样本最多的类别
- 当前结点包含的样本集合为空,不能划分,将该结点标记为叶结点,其类别设置为其父结点所含样本最多的类别
2 划分选择
2.1 信息增益
- 信息熵:度量样本集合纯度最常用的一种指标
- 信息熵定义:
假定当前样本集合
- 信息增益定义: 假定使用属性
对样本集 进行划分,产生了 个分支节点, 表示其中第 个分支节点,易知:分支节点包含的样本数越多,表示该分支节点的影响力越大,可以计算出划分后相比原始数据集 获得的“信息增益”(information gain)。
信息增益越大,使用属性
- ID3 决策树学习算法是以信息增益为准则
2.2 增益率
- 作用:用于解决属性信息熵为 0,或远高于其他属性的信息熵问题
- 定义:
其中
当
- C4.5 算法是以增益率为准则
2.3 基尼指数
- CART 决策树使用“基尼指数”(Gini index)来选择划分属性
- 作用:表示从样本集
中随机抽取两个样本,其类别标记不一致的概率,因此 越小越好 - 定义:
- 属性选择: 使用属性
划分后的基尼指数为:
故选择基尼指数最小的划分属性。