基于决策树的网构软件中的构件分类方法

文档序号:8223532阅读:389来源:国知局
基于决策树的网构软件中的构件分类方法
【技术领域】
[0001] 本发明涉及一种对网构软件的构件库中的构件分类方法,尤其涉及一种基于决策 树的网构软件中的构件分类方法。
【背景技术】
[0002] 大量的非结构化的信息分散在整个Internet中,在给人们带来方便的同时也带 来了许多问题:信息过量,难以消化;信息真假难以辨识;信息安全难以保证;信息形式不 一致,难以统一处理。建立在Internet上的网构软件的构件库也存在同样的困惑,所以在 构件的提供者与构件的消费者之间应有一个中间环节,通过这个环节,需要对构件信息进 行一些预处理,使得构件消费者能够快捷方便地得到想要的构件。
[0003]数据挖掘技术能够满足这一需求。数据挖掘是一门交叉学科,它把人们对数据的 应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。在这种需求牵引下, 汇聚了不同领域的研宄者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行 计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研宄领域,形成新的技术 热点。它包括问题定义,数据准备,挖掘操作和结果解释几个主要的部分。对一个数据挖掘 系统而言,问题定义和数据准备很重要,是系统能否达到预期目的的关键。挖掘算法的选择 和挖掘模型的建立是一个数据挖掘系统的核心部分。算法的合理选择和组织是建立良好的 挖掘模型的基础。

【发明内容】

[0004]本发明的目的是克服现有技术的不足,提供一种基于决策树的网构软件中的构件 分类方法。
[0005]本发明的技术方案如下:
[0006]-种基于决策树的网构软件中的构件分类方法包括如下:
[0007] 1)在网构软件的构件库中新加入构件,对于新加入构件的分类使用数据挖掘中的 决策树技术;
[0008] 2)使用基于信息增益的ID3算法对新加入构件的推荐度进行分析,建立决策树, 完成构件分类。
[0009]所述的决策树技术为:决策树技术是用于分类和预测的技术,决策树学习是以实 例为基础的归纳学习算法,它着眼于从一组无次序、无规则的事例中推理出决策树表示形 式的分类规则,它采用自顶向下的递归方式,在决策树的内部节点进行属性值的比较并根 据不同属性判断从该节点向下的分支,然后进行剪枝,最后在决策树的叶节点得到结论;决 策树的根节点是整个数据集合空间,即网构软件构件库中所有的构件,每个分节点是对一 个单一属性的测试,该测试将数据集合空间分割成两个或更多块,每个叶节点是属于单一 类别的记录。
[0010]所述的基于信息增益的ID3算法具体为:在决策树各级结点上选择属性时,通过 计算信息增益来选择属性,以使得在每一个非叶结点进行测试时,能获得关于被测试记录 最大的类别信息,实现方法为:检测所有的属性,选择信息增益最大的属性产生决策树结 点,由该属性的不同取值建立分支,再对各分支的子集递归调用该方法建立决策树结点的 分支,直到所有子集仅包含同一类别的数据为止,最后得到一棵决策树,它用来对新的样本 进行分类。
[0011] 所述的基于信息增益的ID3算法的信息增益,具体为:信息增益用来衡量某个属 性中的值为整个分类所能提供的信息量,在决策树算法中,信息增益量越大,这个属性作为 一棵树的根节点就能使这棵树更简洁,在信息增益计算方面,使用3个公式;信息增益需要 使用到熵的概念,熵的概念如公式(1)所示:
【主权项】
1. 一种基于决策树的网构软件中的构件分类方法,其特征在于包括如下: 1) 在网构软件的构件库中新加入构件,对于新加入构件的分类使用数据挖掘中的决策 树技术; 2) 使用基于信息增益的ID3算法对新加入构件的推荐度进行分析,建立决策树,完成 构件分类。
2. 如权利要求1所述的网构软件中的构件分类方法,其特征在于所述的决策树技术 为:决策树技术是用于分类和预测的技术,决策树学习是以实例为基础的归纳学习算法,它 着眼于从一组无次序、无规则的事例中推理出决策树表示形式的分类规则,它采用自顶向 下的递归方式,在决策树的内部节点进行属性值的比较并根据不同属性判断从该节点向下 的分支,然后进行剪枝,最后在决策树的叶节点得到结论;决策树的根节点是整个数据集合 空间,即网构软件构件库中所有的构件,每个分节点是对一个单一属性的测试,该测试将数 据集合空间分割成两个或更多块,每个叶节点是属于单一类别的记录。
3. 如权利要求1所述的网构软件中的构件分类方法,其特征在于所述的基于信息增益 的ID3算法具体为:在决策树各级结点上选择属性时,通过计算信息增益来选择属性,以使 得在每一个非叶结点进行测试时,能获得关于被测试记录最大的类别信息,实现方法为:检 测所有的属性,选择信息增益最大的属性产生决策树结点,由该属性的不同取值建立分支, 再对各分支的子集递归调用该方法建立决策树结点的分支,直到所有子集仅包含同一类别 的数据为止,最后得到一棵决策树,它用来对新的样本进行分类。
4. 如权利要求3所述的网构软件中的构件分类方法,其特征在于所述的基于信息增益 的ID3算法的信息增益,具体为:信息增益用来衡量某个属性中的值为整个分类所能提供 的信息量,在决策树算法中,信息增益量越大,这个属性作为一棵树的根节点就能使这棵树 更简洁,在信息增益计算方面,使用3个公式;信息增益需要使用到熵的概念,熵的概念如 公式⑴所示:
在公式(1)中,S表示样本集合,k是样本数量,P (i)是属于分类i的样本与整个样本 集合的比例,熵的取值范围是O?1,如果所有S属于相同的类,则熵为0,即数据分类完毕; 如果熵取值为1,则代表S中样本是完全随机的选自不同的类; Entropy (S, A) = Σ (| Sv | / | S |) ^Entropy (Sv) (2) Entropy (S,A)是属性A在集合S上的熵,Sv是属性A对应的有V值的子集,公式(2)是 把属性A的所有可能的值都分别作了运算,并把结果相加,|Sv|指集合Sv中的元素个数, S|指集合S中的元素个数; Gain (S,A)是属性A在集合S上的信息增益,Gain (S,A)的值越大,说明选择测试属性 A对分类提供的信息越多,如公式(3)所示: Gain(S, A) = Entropy (S)-Entropy (S, A) (3)〇
5. 如权利要求I所述的网构软件中的构件分类方法,其特征在于所述的建立决策树的 方法具体为:首先寻找初始分裂,整个训练集作为产生决策树的集合,训练集每个记录必须 是已经分好类的,决定哪个属性域作为目前最好的分类指标,做法是穷尽所有的属性域,对 每个属性域分裂的好坏做出量化,计算出最好的一个分裂;建决策树,就是根据记录字段的 不同取值建立树的分支,以及在每个分支子集中重复建立下层结点和分支,建决策树的关 键在于建立分支时对记录字段不同取值的选择,选择不同的字段值,会使划分出来的记录 子集不同,影响决策树生长的快慢以及决策树结构的好坏,从而导致找到的规则信息的优 劣,构件检索使用的决策树算法具体为: 1) 初始化决策树T为只含一个树根(X,Q),其中X是全体样本集,Q为全体属性集; 2) 如果T中所有叶结点(X',Q')都满足X'属于同一类或Q'为空,那么算法停止;否 则执行步骤3); 3) 计算Q中每个属性的信息增益,选择信息增益最高的属性作为节点的测试属性,记 该属性为A ; 4) 从信息增益最高的属性所对应的节点出发,在X'中求得属性A的值等于给定值的子 集,并生成相应的叶结点; 5) 重复步骤2)?步骤4),直到T中所有叶结点(X',Q')都满足X'属于同一类或Q' 为空。
6. 如权利要求5所述的所述的网构软件中的构件分类方法,其特征在于所述的穷尽所 有的属性域,对每个属性域分裂的好坏做出量化,计算出最好的一个分裂,具体为: 1) 利用公式(1),计算决策属性的熵, 2) 计算条件属性的熵,样本集共有多个条件属性,使用公式(2)分别计算条件属性的 熵,计算分两个过程,首先利用公式(1)计算属性值的熵,然后再用公式(2)计算属性的 熵; 3) 使用公式(3)分别计算条件属性的信息增益: 选择信息增益最大的条件属性作为决策树的根节点,进行支节点的选取。
7. 如权利要求6所述的所述的网构软件中的构件分类方法,其特征在于所述的进行支 节点的选取,具体为:使用样本所有条件属性中信息增益最大的条件属性为根节点,用剩余 的条件属性重复权利要求6中步骤1)?步骤3)的操作,选取增益最大的条件属性作为支 节点;并对选取支节点后的剩余条件属性重复权利要求6中步骤1)?步骤3)的操作,直到 剩余的属性数量为1为止。
【专利摘要】本发明公开了一种基于决策树的网构软件中的构件分类方法。在网构软件的构件库中新加入构件,对于新加入构件的分类使用数据挖掘中的决策树技术;使用基于信息增益的ID3算法对新加入构件的推荐度进行分析,建立决策树,完成构件分类。本方法将决策树技术应用于网构软件中的构件分类中,利用信息增益用来衡量构件属性的值为整个分类所能提供的信息量,分类规则直观,易于理解实现,且分类效率高。
【IPC分类】G06F17-30
【公开号】CN104537010
【申请号】CN201410789471
【发明人】相徐斌, 叶修梓, 洪振杰, 张三元
【申请人】温州大学
【公开日】2015年4月22日
【申请日】2014年12月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1