目录
决策树关键词
•1 属性选择的先后顺序• 2熵值• 3信息增益• 4信息增益率
决策树算法
ll 决策树的创建
ll 创建决策树的问题可以用递归的形式表示
ll 首先选择一个属性放置在根节点,为每一个可能的属性值产生一个分支:将样本集拆分成多个子集,一个子集对应一种属性值;
ll 在每一个分支上递归地重复这个过程,选出真正达到这个分支
的实例;
ll 如果在一个节点上的所有实例拥有相同的类别,停止该部分树
的扩展
递归分割
决策树是通过递归分割(recursive partitioning)建立而成,递归分割是一种把数据分割成不同小的部分的迭代过程。
纯度的度量
ll 拆分增加了纯度,但如何将这种增加量化呢,或者如何与其他拆
分进行比较呢?
ll 用于评价拆分分类目标变量的纯度度量包括
ll 基尼(Gini,总体发散性) CART
ll 熵(entropy,信息量)
ll 信息增益(Gain)
ll 信息增益率 ID3,C4.5,C5.0
ll 改变拆分准则(splitting criteria)导致树的外观互不相同
决策树剪枝
决策树学习可能遭遇模型过度拟合(over fitting)的问题,过度拟合是指模型过度训练,导致模型记住的不是训练集的一般性,反而是训练集的局部特性。
ll 树的修剪有几种解决的方法,主要为先剪枝和后剪枝方法
常用算法
ID3,C4.5,CART
算法步骤
决策树算法步骤:
ll Step1: 计算总的熵
ll Step2:计算每个属性的熵
ll Step3:计算总的熵与每个属性的熵的信息增益
ll Step4:选择最大信息增益的属性为根节点
ll Step5:在剩下属性中重复(递归)以上过程选择下一个划分节点
ll 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好
的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某
种意义上的局部最优解。
决策树优点
• 决策树易于理解和实现,在学习过程中不需要了解太多的背景知识,直接体现数据特点,解释性强。
• 数据准备过程简单,对于缺失值、异常值及非线性数据包容。
• 对数据分布没有严格要求。
• 决策树通常可以作为有效工具帮助其他模型算法挑选自变量。
• 构建决策树通常很高效。决策树一旦建立,未知样本分类非常快
决策树缺点
• 决策树算法是基于规则的算法,在产生规则的时候采用了局部的贪婪方法,每次只选取一个属性进行分析构造决策树,因而产生大量的规则,数据集很大,规则就很复杂,效率明显会下降,而且既然是局部最优,无法保障全局最优.
• 适用于处理离散型数据,对于连续性变量处理效果不佳。
• 输入自变量类别过多的时候,容易出现过拟合的现象。
C4.5
C4.5算法与ID3算法一样,都是数学分类算法,C4.5算法是ID3算法的一个改进。ID3算法采用信息增益进行决策判断,而C4.5采用的是增益率。详细介绍链接
CART
CART算法的全称是分类回归树算法,他是一个二元分类,采用的是类似于熵的基尼指数作为分类决策,形成决策树后之后还要进行剪枝,我自己在实现整个算法的时候采用的是代价复杂度算法,详细介绍链接