决策树可以用来对未知样本进行分类。决策树分类算法使用场景,这个监督式学习算法通常被用于分类问题,它同时适用于分类变量和连续因变量。信息增益是决策树常用的分枝准则,在树的每个结点上选择具有最高信息增益的属性作为当前结点的划分属性。......
2023-11-08
1.C4.5算法概念描述
基于ID3算法中存在的不足,Quinlan于1993年对其做出改进,提出了改进的决策树分类算法C4.5,该算法继承了ID3算法的优点,并在以下几个方面对ID3算法进行了改进:(1)能够处理连续型属性数据和离散型属性数据;(2)能够处理具有缺失值的数据;(3)使用信息增益率作为决策树的属性选择标准;(4)对生成的树进行剪枝处理,以获取简略的决策树;(5)从决策树到规则的自动产生。
C4.5算法概念描述:假定S为训练集,目标属性C具有m个可能的取值,C={C1,C2,…,Cm},即训练集S的目标属性具有m个类标号值C1,C2,…,Cm,C4.5算法所涉及的概念描述如下:
(1)假定训练集S中,Ci在所有样本中出现的频率为pi(i=1,2,3,…,m),则该集合S所包含的信息熵为:
(2)设用属性A来划分S中的样本,计算属性A对集合S的划分熵值EntropyA(S)定义如下:
若属性A为离散型数据,并具有k个不同的取值,则属性A依据这k个不同取值将S划分为k个子集{S1,S2,…,Sk},属性A划分S的信息熵为:
其中|Si|和|S|分别是Si和S中包含的样本个数。
如果属性A为连续型数据,则按属性A的取值递增排序,将每对相邻值的中点看作可能的分裂点,对每个可能的分裂点,计算:
其中SL和SR分别对应于该分裂点划分的左右两部分子集,选择EntropyA(S)值最小的分裂点作为属性A的最佳分裂点,并以该最佳分裂点按属性A对集合S的划分熵值作为属性A划分S的熵值。
(3)C4.5以信息增益率作为选择标准,不仅考虑信息增益的大小程度,还兼顾为获得信息增益所付出的“代价”:
C4.5通过引入属性的分裂信息来调节信息增益,分裂信息定义:
信息增益率定义:
这样如果某个属性有较多的分类取值,则它的信息熵会偏大,但信息增益率由于考虑了分裂信息而降低,进而消除了属性取值数目所带来的影响。
2.C4.5算法演示
以Weather数据集为例,演示C4.5算法对该数据集进行训练,建立一棵决策树的过程,对未知样本进行预测。
(1)数据集的构成
Step1:计算所有属性划分数据集S所得的信息增益分别为(参考ID3例题演示)
Gain(S,outlook)=0.246;
Gain(S,temperature)=0.029;
Gain(S,humidity)=0.152;
Gain(S,wind)=0.049。(www.chuimin.cn)
Step2:计算各个属性的分裂信息和信息增益率。
以outlook属性为例,取值为overcast的样本有4条,取值为rain的样本有5条,取值为sunny的样本有5条:
同理,依次计算其他属性的信息增益率分别如下:
Step3:取值信息增益率最大的那个属性作为分裂结点,因此最初选择outlook属性作为决策树的根结点,产生3个分支,如图3-4所示。
Step4:对根结点的不同取值的分支,递归调用以上方法,求子树,最后通过C4.5获得的决策树如图2-5所示
图3-4 C4.5算法的决策树示例A
图3-5 C4.5算法的决策树示例B
3.C4.5对缺失数据的处理
由于决策树中节点的测试输出取决于单个属性的不同取值,当训练集或测试集中的某个样本数据的测试属性值未知,就无法得到当前节点的测试输出,因此ID3算法不允许训练集和测试集中存在缺失数据。对数据缺失值的处理,通常有两种方法:
方法一:抛弃数据集中具有缺失值的数据。在数据集中只有少量缺失值数据的情况下,可以抛弃具有缺失值的数据,但是当数据集中存在大量缺失值时不能采用这种方法。
方法二:以某种方式填充缺失的数据。如以该属性中最常见值或平均值替代该缺失值,或者以与缺失值样本所对应的类标号属性值相同的样本中该缺失值属性的最常见值或平均值来代替。
在C4.5算法中采用概率的方法,为缺失值的每个可能值赋予一个概率,而不是简单地用最常见的值替代该缺失值。
4.C4.5算法伪代码
C4.5决策树的建立可以分为两个过程:首先使用训练集数据,依据C4.5树生长算法构建一棵完全生长的决策树;然后对树进行剪枝,最后得到一棵最优决策树。
C4.5决策树的生长阶段算法伪代码:
C4.5决策树的剪枝处理阶段算法伪代码:
5.C4.5算法的优缺点
与其他分类算法相比,C4.5分类算法具有如下优点:产生的分类规则易于理解,准确率较高。其缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。为适应大规模数据集,在C4.5后出现有SLIQ和SPRINT等算法。
有关大数据挖掘技术及其在医药领域的应用的文章
决策树可以用来对未知样本进行分类。决策树分类算法使用场景,这个监督式学习算法通常被用于分类问题,它同时适用于分类变量和连续因变量。信息增益是决策树常用的分枝准则,在树的每个结点上选择具有最高信息增益的属性作为当前结点的划分属性。......
2023-11-08
随机森林是通过将很多的决策树组合而成的,随机森林采用CART算法。另外,针对CART的分类树和回归树,它们的计算方法有所不同,数值型和分类型属性变量的计算方法也存在差异。CART算法使用Gini系数来度量对某个属性变量测试输出的两组取值的差异性。表3-8C4.5算法和CART算法比较......
2023-11-08
KMeans可能由于初始值选择的不同,导致最终的结果不同。图4-4KMeans算法迭代过程假设对于相同的样本数据,若随机选择的两个初始点为序号4和7。对于同一个数据集,由于KMeans算法对初始选取的聚类中心敏感,因此可用该准则评价聚类结果的优劣。通常,对于任意一个数据集,KMeans算法无法达到全局最优,只能达到局部最优。......
2023-11-08
从频繁项目集中生成所有可信关联规则,置信度大于minconf的规则为可信关联规则。C3:{柴胡,黄芩,清半夏}:2F3:{柴胡,黄芩,清半夏}:23.Apriori算法流程4.候选项集生成算法候选项集生成算法根据长度为k-1的频繁项目集Fk-1,经过两个步骤生成长度为k的候选项集Ck。......
2023-11-08
分类是一种基本的数据分析方式,根据其特点,可将数据对象划分为不同的部分和类型,再进一步分析,能够进一步挖掘事物的本质。分类分析的用途:解释和预报。......
2023-11-08
聚类分析的算法可以分为划分的方法、层次的方法、基于密度的方法、基于网格的方法、基于模型的方法等,其中,前两种方法最常用。图4-6层次聚类法示例4.基于网格的方法基于网格的聚类方法采用一个网格数据结构,把对象空间量化为有限数目的单元,形成了一个网格结构。......
2023-11-08
关于分类和回归模型的各种评估方法,一种是处理分类任务的模型,一种是预测回归的模型,这两种模型的评估方法也不完全一致,下面就来分别介绍两种类型模型的各种评估手段。AUC可以说是用单个数字总结模型性能的最好方法,其实就是ROC曲线下方的面积大小。平均绝对误差可以避免误差相互抵消的问题,因而可以准确反映实际预测误差的大小。MAE可以表示预测与实际结果的接近程度。以上即为两种模型的常用评估方法。......
2023-11-08
相关推荐