一种基于ID3的决策树实现方法及装置制造方法及图纸

技术编号:14348168 阅读:64 留言:0更新日期:2017-01-04 18:50
本发明专利技术公开了一种基于ID3的决策树实现方法和装置,该方法包括矩阵构建步骤,读入数据以构建属性矩阵和数据矩阵;当前节点确定步骤,选择根据数据矩阵计算的属性矩阵中当前信息增益最大值对应的属性作为当前节点;子一级节点确定步骤,去除当前节点属性后重构属性矩阵,选择属性矩阵重构后计算得到的信息增益最大值对应的属性作为当前的子一级节点,并以该子一级节点为当前节点重复子一级节点确定步骤;决策树实现步骤,根据当前节点及对应的所有子一级节点实现决策树。本发明专利技术可以充分、高效、实用、可靠的获取决策知识,从而实现数据挖掘。

【技术实现步骤摘要】

本专利技术属于信息
,具体地说,尤其设计一种基于ID3的决策树实现方法及装置
技术介绍
随着信息技术的飞速发展,数据收集和数据存储技术的快速进步使得各组织机构可以积累海量数据。这就导致从海量数据中提取有用的信息成为巨大的挑战。由于数据量太大,无法使用传统的数据分析工具和技术处理。有时,即使数据量相对较小,但由于数据本身具有一些非传统特点,也不能使用传统的方法处理。在另外一些情况下,面临的问题是不能使用已有的数据分析技术来解决。因此,需要开发新的方法来进行数据处理。数据挖掘是一种技术,其将传统的数据分析方法与处理大量数据的复杂算法相结合,从这些大量的数据里面挖掘信息。目前,决策树已经成为一种重要的数据挖掘方法。在决策树构造中,ID3算法是最具有影响力的一种决策树生成算法,是1986年由Quinlan提出的。Quinlan详细阐述了决策树和ID3算法的相关理论,其后很多专家学者对决策树进行了深入的研究。但在实际具体的应用过程中,ID3算法在处理不完整的训练数据或有歧义的训练数据时具有一定的缺陷。
技术实现思路
为解决以上问题,本专利技术提供了一种基于ID3的决策树实现方法及装置,用于充分、高效、实用、可靠的获取决策知识,从而实现数据挖掘。根据本专利技术的一个方面,提供了一种基于ID3的决策树实现方法,包括:矩阵构建步骤,读入数据以构建属性矩阵和数据矩阵;当前节点确定步骤,选择根据数据矩阵计算的属性矩阵中当前信息增益最大值对应的属性作为当前节点;子一级节点确定步骤,去除当前节点属性后重构属性矩阵,选择属性矩阵重构后计算得到的信息增益最大值对应的属性作为当前的子一级节点,并以该子一级节点为当前节点重复子一级节点确定步骤;决策树实现步骤,根据当前节点及对应的所有子一级节点实现决策树。根据本专利技术的一个实施例,所述子一级节点确定步骤进一步包括:判断当前的子一级节点是否为叶节点步骤,如是则判断该叶节点是否为有效叶节点,否则剔除该子一级节点后重构属性矩阵并返回子一级节点确定步骤;如该叶节点为有效叶节点,则形成决策树的一个分支,否则剔除该子一级节点后重构属性矩阵并返回子一级节点确定步骤。根据本专利技术的一个实施例,当判断当前的子一级节点为有效叶节点时还包括计算该叶节点对应分支的支持度。根据本专利技术的一个实施例,剔除掉的子一级节点在并行平级的子一级节点计算完成后,剔除计算完成的子一级节点后重构属性矩阵并返回子一级节点确定步骤。根据本专利技术的一个实施例,所述决策树实现步骤进一步包括:遍历完成确定所有的并行平级的子一级节点;遍历完成确定所有的并行平级的当前节点,其中,如当前节点对应是最后属性,则根据所有的子一级节点和当前节点形成决策树,否则,剔除该当前节点属性后重构属性矩阵并返回当前节点确定步骤。根据本专利技术的另一个方面,还提供了一种基于ID3的决策树实现装置,包括:矩阵构建模块,读入数据以构建属性矩阵和数据矩阵;当前节点确定模块,选择根据数据矩阵计算的属性矩阵中当前信息增益最大值对应的属性作为当前节点;子一级节点确定模块,去除当前节点属性后重构属性矩阵,选择属性矩阵重构后计算得到的信息增益最大值对应的属性作为当前的子一级节点,并以该子一级节点为当前节点在子一级节点确定模块重复运行;决策树实现模块,根据当前节点及对应的所有子一级节点实现决策树。根据本专利技术的一个实施例,所述子一级节点确定模块通过以下方式确定子一级节点:判断当前的子一级节点是否为叶节点步骤,如是则判断该叶节点是否为有效叶节点,否则剔除该子一级节点后重构属性矩阵并返回子一级节点确定模块;如该叶节点为有效叶节点,则形成决策树的一个分支,否则剔除该子一级节点后重构属性矩阵并返回子一级节点确定模块。根据本专利技术的一个实施例,所述子一级节点确定模块当判断当前的子一级节点为有效叶节点时还包括计算该叶节点对应分支的支持度。根据本专利技术的一个实施例,所述子一级节点确定模块剔除掉的子一级节点在并行平级的子一级节点计算完成后,剔除计算完成的子一级节点后重构属性矩阵并返回子一级节点确定模块。根据本专利技术的一个实施例,所述决策树实现模块通过以下方式实现决策树:遍历完成确定所有的并行平级的子一级节点;遍历完成确定所有的并行平级的当前节点,其中,如当前节点对应是最后属性,则根据所有的子一级节点和当前节点形成决策树,否则,剔除该当前节点属性后重构属性矩阵并返回当前节点确定模块。本专利技术的有益效果:本专利技术一方面运用过程剪枝的思想剔除掉不完整的决策知识以及有歧义的决策知识,另一方面运用过程运算的思想在过程中完成对每条决策知识支持度的计算,具有时间和空间利用效率更高、所挖掘的知识收敛有效、更贴合实际应用等特点,可充分、高效、实用、可靠的获取决策知识,从而实现数据挖掘。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:图1是根据本专利技术的一个实施例的方法流程图;图2是根据本专利技术的一个实施例的算法实现流程图;图3是根据本专利技术的一个实施例的属性矩阵和数据矩阵程序实际运行截面示意图;图4是根据本专利技术的一个实施例的熵计算结果截面示意图;图5是根据本专利技术的一个实施例的矩阵重构结果截面示意图;图6是根据本专利技术的一个实施例的另一矩阵重构结果截面示意图;图7是根据本专利技术的一个实施例的决策输出结果截面示意图;图8是根据本专利技术的一个实施例的另一决策输出结果截面示意图;图9是根据本专利技术的一个实施例的又一决策输出结果截面示意图;图10是根据本专利技术的一个实施例的未采用过程运算计算支持度所得到的结果示意图;图11是根据本专利技术的一个实施例的采用了过程运算计算支持度得到的结果示意图。具体实施方式以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本专利技术中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本专利技术的保护范围之内。经典ID3算法的核心思想是采用信息增益来度量属性选择,选择分裂后信息增益最大的属性进行分裂。该算法采用自顶向下的贪婪搜索遍历可能的决策树空间。具体来说,ID3算法的关键在于如何从训练样本中确定决策树的每个分支结点,在ID3算法中,每个结点的属性测试标准采用信息增益的方法,利用该方法选择信息增益最高的属性作为当前结点的分裂属性测度。在ID3决策树分类过程中,一般用多个属性(或称作特征)来刻画每个实体,而每个属性限于在数据集中相互独立的值。ID3决策树算法方法简单、分类能力强,适于处理大规模的机器学习问题,是数据挖掘和机器学习领域中的一个有效手段。ID3算法的优点总结如下:1)ID3决策树算法基于信息论思想,以信息增益选择分裂属性结点,算法简单,易于实现,可以形成结点数最少的分类决策树,并且在搜索空间上也是完备的;2)ID3决策树算法由于基于自顶向下的递推策略,并且算法的时间复杂度与训练样本数量、属性数量以及结点数量三者的乘积成线性关系,所以该算法的分类速本文档来自技高网...
一种基于ID3的决策树实现方法及装置

【技术保护点】
一种基于ID3的决策树实现方法,包括:矩阵构建步骤,读入数据以构建属性矩阵和数据矩阵;当前节点确定步骤,选择根据数据矩阵计算的属性矩阵中当前信息增益最大值对应的属性作为当前节点;子一级节点确定步骤,去除当前节点属性后重构属性矩阵,选择属性矩阵重构后计算得到的信息增益最大值对应的属性作为当前的子一级节点,并以该子一级节点为当前节点重复子一级节点确定步骤;决策树实现步骤,根据当前节点及对应的所有子一级节点实现决策树。

【技术特征摘要】
1.一种基于ID3的决策树实现方法,包括:矩阵构建步骤,读入数据以构建属性矩阵和数据矩阵;当前节点确定步骤,选择根据数据矩阵计算的属性矩阵中当前信息增益最大值对应的属性作为当前节点;子一级节点确定步骤,去除当前节点属性后重构属性矩阵,选择属性矩阵重构后计算得到的信息增益最大值对应的属性作为当前的子一级节点,并以该子一级节点为当前节点重复子一级节点确定步骤;决策树实现步骤,根据当前节点及对应的所有子一级节点实现决策树。2.根据权利要求1所述的方法,其特征在于,所述子一级节点确定步骤进一步包括:判断当前的子一级节点是否为叶节点步骤,如是则判断该叶节点是否为有效叶节点,否则剔除该子一级节点后重构属性矩阵并返回子一级节点确定步骤;如该叶节点为有效叶节点,则形成决策树的一个分支,否则剔除该子一级节点后重构属性矩阵并返回子一级节点确定步骤。3.根据权利要求2所述的方法,其特征在于,当判断当前的子一级节点为有效叶节点时还包括计算该叶节点对应分支的支持度。4.根据权利要求2所述的方法,其特征在于,剔除掉的子一级节点在并行平级的子一级节点计算完成后,剔除计算完成的子一级节点后重构属性矩阵并返回子一级节点确定步骤。5.根据权利要求4所述的方法,其特征在于,所述决策树实现步骤进一步包括:遍历完成确定所有的并行平级的子一级节点;遍历完成确定所有的并行平级的当前节点,其中,如当前节点对应是最后属性,则根据所有的子一级节点和当前节点形成决策树,否则,剔除该当前节点属性后重构属性矩阵并返回当前节点确定步骤。6.一种基于ID3决策树实现装置,包括...

【专利技术属性】
技术研发人员:谢京华
申请(专利权)人:四川九洲电器集团有限责任公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1