算法原理
决策树是一个类似于流程图的树结构,分支节点表示对一个特征进行测试,根据测试结果进行分类,叶节点代表类别
决策树的构造过程实际上就是针对于原有数据集,选取一定的属性测试条件,对原数据集进行不断切分的过程
一旦构造完决策树,那么对于检验记录进行分类就很容易了,因为决策树本身生成的就是一系列规则,因此决策树是生成模型的算法
原则上讲,数据集中的所有特征都可以用来分枝,特征上的任意节点又可以自由组合,所以一个数据集上可以发展处非常多棵决策树,在这些决策树中,总会有一棵最好的,这就是全局最优树
对于如何选取全局最优树,业界大佬们研究出了很多有效的算法,这些算法基本都是使用‘贪心策略’来作为思想写出来的,用于衡量分枝好不好的指标,就是不纯度
不纯度:决策树的每个叶子节点中都会包含一组数据,在这组数据中,如果有某一类标签占有较⼤大的⽐例,我们就说叶子节点“纯”,分枝分得好。某⼀类标签占的⽐例越大,叶子就越纯,不纯度就越低,分枝就越好。如果没有哪一类标签的⽐例很大,各类标签都相对平均,则说叶⼦子节点”不纯“,分枝不好,不纯度⾼
由不纯度右引导出两个指标:ID3中的信息熵(Entropy),也叫香农熵和CART中的基尼指数(Gini)
信息熵:
基尼指数:
算法优点:计算复杂度不高,输出结果易于理解,对中间值缺失不敏感,可以处理不相关特征数据
算法缺点:可能会产生过渡匹配的问题
适用范围:数值型和标称型数据