【数据挖掘】第四章 分类与预测 4.5 决策树方法的分析比较

本文介绍了决策树方法中的属性划分策略,包括名义型、有序型和连续型变量的处理,重点比较了ID3算法(信息商)、C4.5算法(信息增益率)和Cat算法(紧急指标),强调了不同算法在处理离散与连续变量、分类与回归任务上的差异。
摘要由CSDN通过智能技术生成

这节课我们学习4.5节决策树方法的分析与比较。首先我们简单回顾一下决策树的主要思想。

决策树方法主要采用自顶向下的递归方式,在决策树的内部节点上进行属性的比较,并选择一个属性进行分支向下拓展。最后在决策。

叶子节点上得到结论,叶子节点一般是类别属性,因此在决策树的构造过程中有两个关键问题,一,决定如何划分数据样本及如何对数据进行分类,如何选择塑形的最优划分。二,算法需要决定决策树算法什么时候停止属性划分。

针对属性的划分问题,我们先来讨论不同类型的变量,它的属性划分方法。

一名型变量的属性划分名义型变量的属性可以进行多路划分,也可以进行二路划分。比如汽车类型有家用型,运动型,奢华型三个类型。如果进行多路划分的时候,汽车类型就可以划分为三个分支,如果要进行二路划分的话,我们可以把这三个属性分成两类,比如分成家用型,运动或设化型。

二,有序型变量的属性划分有序型变量和名义型变量类似,区别在于有序型变量的属性类别之间存在质的排序。有序型变量的属性划分方法和名义型变量类似,也可以进行多路或者是二路划分。

三连续型变量的属性划分。连续性变量需要进行离散化操作,将其转化为有序性的分类变量。离散化划分的方法可以是静态的方法,也可以是动态划分的方法。所谓静态划分方法就是一开始确定好离散化方案,而动态划分方法则是根据样本数据的特征进行针对性划分,比如使用前面所说的等级划分,等级划分,聚类划分或者是分位点划分方法比如针对年龄属性 a 级进行划分。

静态划分可以按照社会经验将 a 级属于零到十岁划分为儿童,十到18岁划分为少年,18到30岁划分为青年,30到50岁划分为中年,50岁以上划分为老年。还可以进行 a 级的动态划分,比如将数据样本根据等宽划分的方法分为 abc 三类连续属性,如果进行二类划分的话,则只需要确定一个划分点即可。但是这个划分点 v 的选择就比较关键,需要确定哪种取值的 v 它的方案是最优的。以纳税收入为例,假设选择二路划分点是80 k 的话,那么大于80 k 和小于80 k 就构成了一个二路划分。如果要进行四路划分,则划分方法可以是小于十 k ,十 k 到25 k ,25到50 k ,50到80 k 以及大于80 k 。那么该用什么方法来确定划分点位的位置,使得划分方案最优呢?我们先看一些对比案例,比如在划分点之前,有十个记录属于类别零,有十个记录属于类别一,按照是否拥有汽车的属性进行二维划分,则 yes ,分支下有六条记录属于类别零,四个记录属于类别一,no ,分支下有四个记录属于类别零,六个记录属于类别一,以此类推。还可以按照汽车类型进行三路划分,或者是根据学号进行20路划分。

这么多的划分,选择哪一种是最优划分呢?按照算法的贪心策略进行属性划分后,希望得到其分支下的同质性数据分布。什么是同质性数据分布呢?所谓的同质性数据分布及数据属于同一类别的数量多,也就是数据的不纯性较低。为了衡量决策数内部节点的不纯度,我们需要给出一些定量的公式进行形式化计算4.52节,我们就来专门讨论一下节点的不纯性度量方法。

在数据挖掘的体系中,大致有三种方法可以衡量节点的不纯性,第一种叫商,第二种叫紧急指标,第三种称之为误分类错误或误分类错误率。在本门课程中,我们主要讲利用商和紧急指标的方法,利用商的属性划分。在之前的id3决策树分类算法讲解的时候,我们已经详细地讲解过,其主要原则就是商事信息系统有序化的一种度量,商越大,系统越混乱,商为零的时候,系统是有序的,即数据分布是同质性的。在id3算法中,通过每个属性的信息增益来选择最优属性划分,即选择信息增益最大的属性作为当前的划分属性。Id3的算法缺点在于它倾向于将样本划分为较大数值的 k 分类子集,每一个分类子集可能比较小,但是不纯性较低。

我们来看一个计算的例子,比如以下三种方案是选择不同的属性划分后得到的节点情况。第一种划分得到零个记录,属于类别零,六个记录属于类别一,因此此时的系统商为零,第二种划分得到一个记录,属于类别零,五个记录属于类别一,因此此时的商为0.65,第三种划分得到两个记录,属于类别零,四个记录属于类别一,因此系统的商为0.92。由于原系统的信息商是一个定值,因此明显可以看出,按照最大化信息增益的原则,id3算法会选择第一种属性划分的方案,它能够得到纯度更好的子系统决策树。另外一个经典的代表算法是 c 4.5算法。C 4.5算法和id3算法不同,它是通过最大化信息增益率来选择最优的属性划分。在这里定义一个分裂信息商的概念,分裂信息商定义为负的 c 格玛,在 i 上求和 ini 除以 in 乘以 ini 除以 nn 的 log 值,然后信息增益率被定义为信息增益与分裂信息商的比率,最后属性划分以最大化信息增益率为目标,这就是 c 4.5算法的核心。

决策数的第三个代表算法是 cat 的算法,cat 在构造决策数时,选择使用紧急指标来进行数据的不纯度计算。假设分类问题中有 k 类样本点属于 dk 类的概率为 pk ,则系统数据的紧急指标被定义为西格玛一到 kpk 乘以 e 减 pk 。如果样本集合 d 根据某个特征 a 被分割为d1和d22个部分,那么在特征 a 的条件下,节点 d 的紧急指标就被定义为紧尼 da 等于 c 格玛一到2di除以 d 乘以 di 。

比如通过不同的四种属性划分方法,将六个记录进行划分,得到的数据划分如课件中的图所示。第一种方案划分后,零个数据属于类别零,六个数据属于类别一,此时系统的紧急指标为零,第二种方案划分后的一个数据属于类别零,五个数据属于类别一,此时系统的紧急指标为0.27,八,以此类推,可以计算另外两个方案的紧急指标。因此,使用紧急指标进行属性划分的时候,紧急指标越大,样本数据集合的不确定性也越大。这个和商的概念很类似。我们可以通过紧急指数或指标来确定某个特征的最优切分点,即只需要确保切分后某点的阻尼数值最小。这就是角色数 k 的算法中类别变量切分的关键所在。除了应用在 k 的算法中,紧急指标还可以用于将各类属性划分为2元属性,并选择最优划分点。如果要划分的属性本身就是2元属性,那么可以根据公式直接计算2元划分后子系统的紧急指标。比如未划分前,双亲节点有12个记录,其中六个数据属于类别一,另外六个属于类别二,按照属性 b 等于 yes 或者是 no 进行二路划分,得到两个子系统a1和a2。在a1中有五个数据属于类别一,两个属于类别二,在n2中有一个数据属于类别一,四个数据属于类别二。按照公式可得,划分前系统的紧急指标为0.5,而按照属性 b 进行二路划分后得到的系统紧急指标为0.333,如果要划分的属性是一个多分类的分类属性的话,则有可能直接进行多路划分或者是进行二路划分。比如根据汽车类型进行三路划分,得到系统的紧急指标为0.333,而根据汽车类型进行二路划分,则得到系统的紧急指标为0.4或者是0.419。因此,针对多分类的属性划分,可以使用紧急指标来决定选择哪种划分是最优的。如果要划分的属性是连续属性,那么可以对其进行二路划分,或者是选择划分的数值等于样本中该属性的所有取值。这样的多种划分,不管是哪种方法,都需要在每一个划分点关联一个类别计数器 count 。最好的划分点 v 的选择办法就是对于每个划分值 v 扫描样本数据,得到相应的频数矩阵,根据频数矩阵,在计算对应划分点 v 的紧急指标。

下面给大家介绍一种快速有效的划分点 v 的计算方法。第一步,将要划分的连续属性进行升序排序,第二步,线性扫描这些属性值,然后实时更新计算频数矩阵和对应的紧急指标值。第三步,选择具有最小体积指标的划分位置为最优划分点 v 。比如对纳税收入进行2元属性划分,对纳税收入进行升序排序后,如果选择66 k 作为划分点,则收入小于等于66 k 的样本和收入大于66 k 的样本分别进行计数,得到频数矩阵,从而可以计算此时的紧急指标。以此类推,可以往后依次计算,最后划分点选择在97 k ,此时可得最小的紧急指标为0.3。下面我们系统地总结一下典型决策树三种算法的比较。Id3算法是以信息商为基础,以最大化信息增益为目标进行属性划分。标准 c 4.5算法以信息增益比作为属性分类的衡量标准 k 的算法得到的数称之为分类回归数,它以紧急指标作为属性划分的衡量标准。值得注意的是,k 的数既是分类数也是回归数。当 cat 是分类数的时候,采用紧急指标作为节点属性划分的依据,当 cat 是回归数的时候,采用的是样本的最小分差作为节点的分类依据,回归数的内容我们后期再给大家进行讲解。另外,cat 数是一个二叉树,因此属性划分采用的是二路划分技术,由此id3和 c 4.5可能会产生多路划分,而 cat 只可能是二路划分,在处理能力上,id3算法只能处理离散型变量,而 c 4.5和 k 的算法可以处理连续性变量,在处理目标上,id3和 c 4.5只能进行分类,而 cat 不仅可以进行分类,以后还可以用于回归任务。好了,本节课的内容我们就讲到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能lab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值