说在前头:本文的语句大部分出于自己理解的白话文,可能并不标准,但力求简单易懂。
1.决策树简要介绍
1.1决策树是什么
决策树是基于树结构的决策模型,对一个问题形如“这是好瓜吗?”进行决策的时候,通过一系列的“子决策”(通过各个属性特征)来进行分支判断,决策过程的最终结果对应了判定结果。
决策树的叶子节点所代表的类别即是当前测试样本的预测类别。
决策树的学习目的:产生一颗泛化能力强的决策树。
其基本流程遵循简单且直观的“分而治之”策略。
1.2 决策树算法流程
1.所有样本为同一类?生成叶节点:提取特征集A
2.特征集A为空 or 样本在A上取值相同?选择样本中占比最多的类为叶节点:从A中选择最优划分属性特征a生成节点(C4.5/ID3/CART)
3.特征值是否遍历结束?决策树生成完成:继续以判别准则进行遍历生成节点,直到决策树建立完毕
2.决策树划分的三种准则
参照1.2的算法流程,关键核心在于“选择最优划分属性”,也就是说节点的条件如何取舍。我们希望一个节点下的样本尽可能属于一个类别(这样才算分类准确啊),即节点的“纯度”最高。
2.1ID3信息增益(Gain)
2.2 C4.5信息增益率(Gain_ratio)
如上所述,信息增益对属性可取值数目多的有偏好(一个属性里类别多的,编号例子),因此引入信息增益率。但信息增益率对可取值数目少的有偏好,所以C4.5采用启发式:先选择信息增益高于平均水平的属性,再从中选择增益率最高的。