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表示被分类器错误分类的正类数。