Task03 详读西瓜书 + 南瓜书第 4 章
1 决策树基本流程
- 概念:基于树结构来进行决策,体现人类在面临决策问题时一种很自然的处理机制
- 具备条件:
- 每个非叶节点表示一个特征属性测试
- 每个分支代表这个特征属性在某个值域上的输出
- 每个叶子节点存放一个类别
- 每个节点包含的样本集合通过属性测试被划分到子节点中,根节点包含样本全集
- 基本算法: 输入: 训练集
; 属性集 过程: 函数 TreeGenerate( , ) (1) 生成结点 node (2) if 中样本全属于同一类别 then (3) 将 node 标记为 类叶节点; return (4) end if (5) if OR 中样本在 上取值相同 then (6) 将 node 标记为叶结点,其类别标记为 中样本数最多的类;return (7) end if (8) 从 中选择最优化分属性 ; (9) for 的每一个值 do (10) 为 node 生成一个分支;令 表示 中在 上取值为 的样本子集; (11) if 为空 then (12) 将分支结点标记为叶结点,其类别标记为 中样本最多的类; return (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)来选择划分属性
- 作用:表示从样本集
中随机抽取两个样本,其类别标记不一致的概率,因此 越小越好 - 定义:
- 属性选择: 使用属性
划分后的基尼指数为:
故选择基尼指数最小的划分属性。
