CN106529580A - 结合edsvm的软件缺陷数据关联分类方法 - Google Patents
结合edsvm的软件缺陷数据关联分类方法 Download PDFInfo
- Publication number
- CN106529580A CN106529580A CN201610924480.XA CN201610924480A CN106529580A CN 106529580 A CN106529580 A CN 106529580A CN 201610924480 A CN201610924480 A CN 201610924480A CN 106529580 A CN106529580 A CN 106529580A
- Authority
- CN
- China
- Prior art keywords
- rule
- classification
- class
- data
- classified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种结合EDSVM的软件缺陷数据关联分类方法,包括以下步骤:步骤1:从软件数据集中获取数据,并对数据进行预处理;将数据按照设定比例划分为训练集和测试集;步骤2:构造分类器,包括规则生成、规则排序;步骤3:针对规则匹配无果和规则匹配溢出问题,结合EDSVM进行分类预测,本发明在软件缺陷不平衡训练数据上能产生更多的小类规则。并有效提高小类规则的优先级,从而提高软件缺陷不平衡数据的分类性能。
Description
技术领域
本发明属于软件工程领域,主要涉及软件缺陷预测分类问题中结合EDSVM的软件缺陷数据关联分类方法。
背景技术
关联分类算法即结合关联规则挖掘的分类算法。关联规则挖掘旨在发现数据之间的关系,关联分类算法旨在构造分类器并对新样例进行分类预测;关联规则挖掘是无监督的学习,而关联分类算法是有监督的学习;关联规则挖掘的规则前件可以有任意多个项,并且规则后件也可以有任意多个项;但是关联分类算法只对规则后件为类标签的关联规则感兴趣。关联规则挖掘的步骤是先挖掘频繁模式,后随规则产生;关联分类算法主要包括以下步骤:找出数据中经常出现的属性-值对,即频繁项集;分析得到的频繁项集,产生每个类的关联规则,并取置信度最大的规则;组织规则如对规则进行剪枝,进而进行规则排序,形成基于规则的分类器。
传统的关联分类算法通常默认训练的数据集是平衡的,没有大类(样例数多的类)和小类(样例数少的类)之分,所以当传统的分类算法碰到不平衡数据集的时候,小类的规则的置信度通常较小,导致传统的关联分类算法在将规则按照置信度降序排序的阶段,小类的规则优先级较低;而且,算法过程中提取到的小类规则较少,甚至没有,所以该算法对大类就有较高的分类准确率,对小类分类性能则降低。
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。软件开发商会通过各种方法提醒软件使用者积极的反馈他们在使用软件过程中遇到的问题和错误,从而在新版本的研究中针对这些问题进行改进。但是在软件开发过程中,软件缺陷大多存在于一小部分模块和代码中。软件缺陷数据集中高风险故障样本数目远多于低风险分故障样本数目,属于不平衡数据集问题。
发明内容
为了克服现有的软件缺陷数据关联分类方法的软件缺陷数据的小类分类性能较差的不足,本发明提出一种提高软件缺陷数据的小类分类性能的结合EDSVM的软件缺陷数据关联分类方法,以在软件缺陷不平衡训练数据上能产生更多的小类规则,并有效提高小类规则的优先级,从而提高多类不平衡数据的分类性能。
实现本发明目的的技术方案具体步骤如下:
一种结合EDSVM的软件缺陷数据关联分类方法,包括以下步骤:
步骤1:从软件数据集中获取数据,并对数据进行预处理;将数据按照设定比例划分为训练集和测试集;
步骤2:构造分类器,包括规则生成、规则排序,过程如下;
2.1)规则生成:利用Apriori算法限制候选产生发现频繁项集,分析频繁项集,产生每个类的满足置信度和支持度阈值的关联规则,结合相关度,在具有相同前件的所有规则中选择相关度最大的规则:
规则R:的相关度:
其中,表示规则的置信度,s(Bi)表示类的支持度;
2.2)规则排序:利用项集类分布规则强度对所得的规则集进行排序,采用懒惰剪枝法对排序后得到的规则集进行剪枝操作;
规则R:的项集类分布规则强度为:
其中,表示规则的置信度,表示规则的类支持度:s(Bi)表示类的支持度;
计算项集类分布规则强度,并按此对规则进行排序,在完成对规则集进行懒惰剪枝和排序之后得到的规则集即为分类器;
步骤3:结合EDSVM进行分类预测,步骤如下:
3.1)在规则集R中找出满足测试样例T的m个规则;
3.2)若选出的m个规则相同,则测试样例的类别即为该规则的类别,输出结束;
3.3)若选出的m个规则相异,则判断是规则匹配无果还是规则匹配溢出,规则匹配无果跳转3.4),规则匹配溢出跳转3.5);
3.4)若规则匹配无果,则在除去规则集R的训练集Q中计算测试样例与SVM分离超平面之间的距离q1,若q1>d,则采用SVM算法进行分类,否则以所有的支持向量作为测试样例的近邻样本,进行KNN分类;
3.5)若规则匹配溢出,则在规则集R中计算测试样例与SVM分离超平面之间的距离q2,若q2>d,采用SVM算法进行分类,否则以所有的支持向量作为测试样例的近邻样本,进行KNN分类;
3.6)输出测试样例的类别。
进一步,所述方法还包括以下步骤:
步骤4:软件缺陷预测,分类结果采用F-score和G-means同时进行验证结果的有效性和精确度,表1为分类器的混淆矩阵;
预测正类 | 预测负类 | |
实际正类 | TP | FN |
实际负类 | FP | TN |
表1
查准率: 查全率:
F-score是查准率和查全率的调和平均值:
G-means是衡量数据集整体分类性能的评价指标:
其中,TP表示被分类器正确分类的正类数;TN表示被分类器正确分类的负类数;FN表示被分类器错误分类的负类数;FP表示被分类器错误分类的正类数。
本发明的技术构思为:为提高软件缺陷数据集的小类分类性能,本文提出改进的关联分类算法。在得到软件缺陷数据的频繁项集后,产生每个类的满足置信度和支持度阈值的关联规则,并结合相关度,在具有相同前件的所有规则中选择相关度最大的规则,有效提高了小类规则的选择概率;利用项集类分布规则强度对所得的规则集进行排序,采用懒惰剪枝法对排序后得到的规则集进行剪枝操作,有效提高了小类规则的优先级;针对规则匹配无果和规则匹配溢出问题,结合EDSVM对新样例进行分类。
本发明的有益效果为:在软件缺陷不平衡训练数据上能产生更多的小类规则,并有效提高小类规则的优先级,从而提高软件缺陷不平衡数据的分类性能。
附图说明
图1是结合EDSVM的软件缺陷数据关联分类方法流程图
具体实施方式
下面结合附图对本发明做进一步说明。
参照图1,一种结合EDSVM的软件缺陷数据关联分类方法,包括以下步骤:
步骤1:输入训练集和测试集数据。
从软件数据集中获取数据,并对数据进行预处理;将数据按照比例划分为训练集和测试集;本发明对数据集进行10折交叉验证实验,其中9份做训练,1份做测试;
步骤2:构造分类器,包括规则生成、规则排序,过程如下;
2.1)规则生成:利用Apriori算法限制候选产生发现频繁项集,分析频繁项集,产生每个类的满足置信度和支持度阈值的关联规则,结合相关度,在具有相同前件的所有规则中选择相关度最大的规则。
规则R:的相关度:
其中,表示规则的置信度,s(Bi)表示类的支持度。
从相关度的公式可以看出,即使小类规则的置信度和小类的支持度较低,但是得到的相关度却不小,所以利用相关度选择规则,可以有效提高小类的匹配概率。
2.2)规则排序:采用懒惰剪枝法对得到的规则进行剪枝操作,利用项集类分布规则强度对剪枝后的规则集进行排序。
懒惰剪枝法的基本思想是用训练集样本对生成的每个规则进行测试,丢弃测试过程中出现错误分类的规则,即完成剪枝操作。
规则R:的项集类分布规则强度为:
其中,表示规则的置信度,表示规则的类支持度:s(Bi)表示类的支持度。
根据上述公式可知,小类规则的项集类分布规则强度较大,所以利用该度量对规则进行排序可以有效提高小类规则的优先级。计算项集类分布规则强度,并按此对规则进行排序。在完成对规则集进行懒惰剪枝和排序之后得到的规则集即为分类器;
步骤3:结合EDSVM进行分类预测,步骤如下:
3.1)在规则集R中找出满足测试样例T的m个规则;
3.2)若选出的m个规则相同,则测试样例的类别即为该规则的类别,输出结束;
3.3)若选出的m个规则相异,则判断是规则匹配无果还是规则匹配溢出,规则匹配无果跳转3.4),规则匹配溢出跳转3.5);
3.4)若规则匹配无果,则在除去规则集R的训练集Q中计算测试样例与SVM分离超平面之间的距离q1,若q1>d,则采用SVM算法进行分类,否则以所有的支持向量作为测试样例的近邻样本,进行KNN分类;
3.5)若规则匹配溢出,则在规则集R中计算测试样例与SVM分离超平面之间的距离q2,若q2>d,采用SVM算法进行分类,否则以所有的支持向量作为测试样例的近邻样本,进行KNN分类;
3.6)输出测试样例的类别。
进一步,所述方法还包括以下步骤:
步骤4:软件缺陷预测,分类结果采用F-score和G-means同时进行验证结果的有效性和精确度,表1为分类器的混淆矩阵;
预测正类 | 预测负类 | |
实际正类 | TP | FN |
实际负类 | FP | TN |
表1
查准率: 查全率:
F-score是查准率和查全率的调和平均值:
G-means是衡量数据集整体分类性能的评价指标:
其中,TP表示被分类器正确分类的正类数;TN表示被分类器正确分类的负类数;FN表示被分类器错误分类的负类数;FP表示被分类器错误分类的正类数。
Claims (2)
1.一种结合EDSVM的软件缺陷数据关联分类方法,其特征在于:所述方法包括以下步骤:
步骤1:从软件数据集中获取数据,并对数据进行预处理;将数据按照设定比例划分为训练集和测试集;
步骤2:构造分类器,包括规则生成、规则排序,过程如下;
2.1)规则生成:利用Apriori算法限制候选产生发现频繁项集,分析频繁项集,产生每个类的满足置信度和支持度阈值的关联规则,结合相关度,在具有相同前件的所有规则中选择相关度最大的规则:
规则R:的相关度:其中,表示规则的置信度,s(Bi)表示类的支持度;
2.2)规则排序:利用项集类分布规则强度对所得的规则集进行排序,采用懒惰剪枝法对排序后得到的规则集进行剪枝操作;
规则R:的项集类分布规则强度为:
其中,表示规则的置信度,表示规则的类支持度:s(Bi)表示类的支持度;
计算项集类分布规则强度,并按此对规则进行排序,在完成对规则集进行懒惰剪枝和排序之后得到的规则集即为分类器;
步骤3:结合EDSVM进行分类预测,步骤如下:
3.1)在规则集R中找出满足测试样例T的m个规则;
3.2)若选出的m个规则相同,则测试样例的类别即为该规则的类别,输出结束;
3.3)若选出的m个规则相异,则判断是规则匹配无果还是规则匹配溢出,规则匹配无果跳转3.4),规则匹配溢出跳转3.5);
3.4)若规则匹配无果,则在除去规则集R的训练集Q中计算测试样例与SVM分离超平面之间的距离q1,若q1>d,则采用SVM算法进行分类,否则以所有的支持向量作为测试样例的近邻样本,进行KNN分类;
3.5)若规则匹配溢出,则在规则集R中计算测试样例与SVM分离超平面之间的距离q2,若q2>d,采用SVM算法进行分类,否则以所有的支持向量作为测试样例的近邻样本,进行KNN分类;
3.6)输出测试样例的类别。
2.如权利要求1所述的一种结合EDSVM的软件缺陷数据关联分类方法,其特征在于:所述方法还包括以下步骤:
步骤4:软件缺陷预测,分类结果采用F-score和G-means同时进行验证结果的有效性和精确度,表1为分类器的混淆矩阵;
表1
查准率:查全率:
F-score是查准率和查全率的调和平均值:
G-means是衡量数据集整体分类性能的评价指标:
其中,TP表示被分类器正确分类的正类数;TN表示被分类器正确分类的负类数;FN表示被分类器错误分类的负类数;FP表示被分类器错误分类的正类数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610924480.XA CN106529580A (zh) | 2016-10-24 | 2016-10-24 | 结合edsvm的软件缺陷数据关联分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610924480.XA CN106529580A (zh) | 2016-10-24 | 2016-10-24 | 结合edsvm的软件缺陷数据关联分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106529580A true CN106529580A (zh) | 2017-03-22 |
Family
ID=58291602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610924480.XA Pending CN106529580A (zh) | 2016-10-24 | 2016-10-24 | 结合edsvm的软件缺陷数据关联分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106529580A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025293A (zh) * | 2017-04-13 | 2017-08-08 | 广东电网有限责任公司电力科学研究院 | 一种电力二次设备缺陷数据挖掘方法及系统 |
CN108806767A (zh) * | 2018-06-15 | 2018-11-13 | 中南大学 | 基于电子病历的疾病症状关联分析方法 |
CN109063845A (zh) * | 2018-07-15 | 2018-12-21 | 大国创新智能科技(东莞)有限公司 | 基于生成样本的深度学习方法和机器人系统 |
CN110413658A (zh) * | 2019-07-23 | 2019-11-05 | 中经柏诚科技(北京)有限责任公司 | 一种基于关联规则的事实证据链构建方法 |
CN113282686A (zh) * | 2021-06-03 | 2021-08-20 | 光大科技有限公司 | 一种不平衡样本的关联规则确定方法及装置 |
CN115545125A (zh) * | 2022-11-30 | 2022-12-30 | 北京航空航天大学 | 一种软件缺陷关联规则网络剪枝方法及系统 |
CN115599698A (zh) * | 2022-11-30 | 2023-01-13 | 北京航空航天大学(Cn) | 一种基于类关联规则的软件缺陷预测方法及系统 |
CN115617698A (zh) * | 2022-12-15 | 2023-01-17 | 北京航空航天大学 | 一种基于关联规则网络的软件缺陷度量元选择方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295309A (zh) * | 2008-05-22 | 2008-10-29 | 江苏大学 | 一种医学图像识别的方法 |
CN102364498A (zh) * | 2011-10-17 | 2012-02-29 | 江苏大学 | 一种基于多标签的图像识别方法 |
CN105022960A (zh) * | 2015-08-10 | 2015-11-04 | 济南大学 | 基于网络流量的多特征移动终端恶意软件检测方法及系统 |
CN105022733A (zh) * | 2014-04-18 | 2015-11-04 | 中科鼎富(北京)科技发展有限公司 | Dinfo-oec文本分析挖掘方法与设备 |
CN105825226A (zh) * | 2016-03-11 | 2016-08-03 | 江苏畅远信息科技有限公司 | 一种基于关联规则的分布式多标签图像识别方法 |
-
2016
- 2016-10-24 CN CN201610924480.XA patent/CN106529580A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295309A (zh) * | 2008-05-22 | 2008-10-29 | 江苏大学 | 一种医学图像识别的方法 |
CN102364498A (zh) * | 2011-10-17 | 2012-02-29 | 江苏大学 | 一种基于多标签的图像识别方法 |
CN105022733A (zh) * | 2014-04-18 | 2015-11-04 | 中科鼎富(北京)科技发展有限公司 | Dinfo-oec文本分析挖掘方法与设备 |
CN105022960A (zh) * | 2015-08-10 | 2015-11-04 | 济南大学 | 基于网络流量的多特征移动终端恶意软件检测方法及系统 |
CN105825226A (zh) * | 2016-03-11 | 2016-08-03 | 江苏畅远信息科技有限公司 | 一种基于关联规则的分布式多标签图像识别方法 |
Non-Patent Citations (2)
Title |
---|
王超学等: ""改进SVM-KNN的不平衡数据分类"", 《计算机工程与应用》 * |
黄再祥等: ""改进的多类不平衡数据关联分类算法"", 《模式识别与人工智能》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025293A (zh) * | 2017-04-13 | 2017-08-08 | 广东电网有限责任公司电力科学研究院 | 一种电力二次设备缺陷数据挖掘方法及系统 |
CN108806767A (zh) * | 2018-06-15 | 2018-11-13 | 中南大学 | 基于电子病历的疾病症状关联分析方法 |
CN108806767B (zh) * | 2018-06-15 | 2021-10-22 | 中南大学 | 基于电子病历的疾病症状关联分析方法 |
CN109063845A (zh) * | 2018-07-15 | 2018-12-21 | 大国创新智能科技(东莞)有限公司 | 基于生成样本的深度学习方法和机器人系统 |
CN109063845B (zh) * | 2018-07-15 | 2021-12-07 | 大国创新智能科技(东莞)有限公司 | 基于生成样本的深度学习方法和机器人系统 |
CN110413658A (zh) * | 2019-07-23 | 2019-11-05 | 中经柏诚科技(北京)有限责任公司 | 一种基于关联规则的事实证据链构建方法 |
CN113282686A (zh) * | 2021-06-03 | 2021-08-20 | 光大科技有限公司 | 一种不平衡样本的关联规则确定方法及装置 |
CN113282686B (zh) * | 2021-06-03 | 2023-11-07 | 光大科技有限公司 | 一种不平衡样本的关联规则确定方法及装置 |
CN115545125A (zh) * | 2022-11-30 | 2022-12-30 | 北京航空航天大学 | 一种软件缺陷关联规则网络剪枝方法及系统 |
CN115599698A (zh) * | 2022-11-30 | 2023-01-13 | 北京航空航天大学(Cn) | 一种基于类关联规则的软件缺陷预测方法及系统 |
CN115599698B (zh) * | 2022-11-30 | 2023-03-14 | 北京航空航天大学 | 一种基于类关联规则的软件缺陷预测方法及系统 |
CN115617698A (zh) * | 2022-12-15 | 2023-01-17 | 北京航空航天大学 | 一种基于关联规则网络的软件缺陷度量元选择方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106529580A (zh) | 结合edsvm的软件缺陷数据关联分类方法 | |
CN105589806B (zh) | 一种基于SMOTE+Boosting算法的软件缺陷倾向预测方法 | |
CN108960319B (zh) | 一种面向全局的机器阅读理解建模中的候选答案筛选方法 | |
CN111090579B (zh) | 基于皮尔森相关性加权关联分类规则的软件缺陷预测方法 | |
CN107144428A (zh) | 一种基于故障诊断的轨道交通车辆轴承剩余寿命预测方法 | |
Arbin et al. | Comparative analysis between k-means and k-medoids for statistical clustering | |
CN102346829A (zh) | 基于集成分类的病毒检测方法 | |
CN104536881A (zh) | 基于自然语言分析的众测错误报告优先级排序方法 | |
CN110381079A (zh) | 结合gru和svdd进行网络日志异常检测方法 | |
CN108986907A (zh) | 一种基于knn算法的远程医疗自动分诊方法 | |
CN109960727A (zh) | 针对非结构化文本的个人隐私信息自动检测方法及系统 | |
CN111950645A (zh) | 一种通过改进随机森林提高类不平衡分类性能的方法 | |
CN102629272A (zh) | 一种基于聚类的考试系统试题库优化方法 | |
CN109359668A (zh) | 一种航空发动机多故障并发诊断方法 | |
CN107480441B (zh) | 一种儿童脓毒性休克预后预测的建模方法及系统 | |
CN115656666A (zh) | 基于随机森林的超特高压换流阀故障检测方法及系统 | |
CN106570537A (zh) | 一种基于混淆矩阵的随机森林模型选择方法 | |
CN117272995B (zh) | 一种重复工单推荐方法及装置 | |
CN104615910A (zh) | 基于随机森林预测α跨膜蛋白的螺旋相互作用关系的方法 | |
CN103605493A (zh) | 基于图形处理单元的并行排序学习方法及系统 | |
CN109376080B (zh) | 时间适配的自动化缺陷定位方法和装置 | |
Zhang et al. | Test case prioritization based on genetic algorithm and test-points coverage | |
CN109189893A (zh) | 一种自动检索的方法和装置 | |
CN111522743B (zh) | 一种基于梯度提升树支持向量机的软件缺陷预测方法 | |
CN114416524A (zh) | 文件错误的定位方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |