基于样本分布特征和SPY算法的软件缺陷预测方法技术

技术编号:30162028 阅读:16 留言:0更新日期:2021-09-25 15:16
本发明专利技术公开了一种基于样本分布特征和SPY算法的软件缺陷预测方法;本发明专利技术基于软件缺陷数据集的分布特征,提出了边界k值确定公式。根据公式为不同的数据集选择合适的少数类边界样本。此外,本发明专利技术将SPY算法和边界采样算法结合,通过边缘样本优化SPY算法,将少数类边界区域的部分多数类样本设置成为SPY样本,并为SPY样本设置较小训练样本权重,在原始少数类边界区域内部使用边界采样的算法。SPY样本可以对边界上的少数类样本起到引导的作用,确保边界区域的少数类样本能够被正确分类。同时,通过为SPY样本设立一个较小的样本权重,减少了SPY样本对多数类样本的分类影响,最终达到一个较好的分类效果。好的分类效果。好的分类效果。

【技术实现步骤摘要】
基于样本分布特征和SPY算法的软件缺陷预测方法


[0001]本专利技术涉及软件缺陷预测方法,具体涉及一种基于样本分布特征和SPY算法的软件缺陷预测方法;本专利技术是对项目内软件缺陷预测的一种类不平衡处理方法,旨在使用该方法可以平衡软件缺陷数据集,提升模型分类效果,最终帮助测试人员更有效地发现缺陷文件和分配测试资源,从而降低软件测试的成本。

技术介绍

[0002]对于类别分布均衡的数据集,传统的分类算法能够达到较好的分类效果。但在实际的应用场景中,数据的分布通常是不平衡的,例如金融欺骗、医疗诊断、软件故障等场景。在这些场景中,数据主要分为两大类,大多数样本属于多数类数据,剩余的属于少数类样本。传统的分类算法对不平衡数据进行分类时,会将结果倾向于多数类,而对少数类样本的识别率偏低。但在实际场景中,少数类样本更具有实际的价值。因此,不平衡数据的分类有较高的研究价值。
[0003]现有的处理类不平衡数据分类问题的方法主要从两个方面着手:1)数据采样。通过增加少数类数据或是减少多数类数据来平衡原始数据集。其中通过增加少数类样本的方法称为过采样方法,通过减少多数类样本的方法称为欠采样方法。另外还有混合过采样和过采样的混合采样方法。以上这些方法直接从数据数量上进行了平衡,但会改变原始数据的分布。2)分类算法,主要包括两部分:代价敏感学习和集成学习。多数类和少数类样本被误分类的代价是不同的,代价敏感学习通过给两类样本设置不同的误分类惩罚因子,通过提高少数类样本的误分类惩罚因子,来平衡分类器的分类倾向,使少数类样本尽可能被分类正确。代价敏感学习这种方法不会改变原始样本的分布,但是需要确定两类样本的惩罚因子。集成学习方法是将若干个弱分类器组合起来,根据每个弱分类器的分类性能,分配不同的权重并整合成一个强分类器。SPY算法中,将部分少数类样本周围的多数类样本视为SPY样本,并修改其标签,以此来平衡数据集。但由于平衡数据集所需要的SPY样本比较多,这将会影响到多数类样本的正确分类。所以本专利技术将样本边缘采样和SPY算法结合,优化了SPY样本的选择方式,并对其添加了训练权重的控制,以此提升整体预测性能。

技术实现思路

[0004]本专利技术针对现有技术的不足,提出了一种基于样本分布特征和SPY算法的软件缺陷预测方法。
[0005]本专利技术基于软件缺陷数据集的分布特征,提出了边界k值确定公式。根据公式为不同的数据集选择合适的少数类边界样本。此外,本专利技术将SPY算法和边界采样算法结合,通过边缘样本优化SPY算法,提出了一种新的边界过采样方法BSGSMOTE,主要是将少数类边界区域的部分多数类样本设置成为SPY样本,并为SPY样本设置较小训练样本权重,在原始少数类边界区域内部使用边界采样的算法。SPY样本可以对边界上的少数类样本起到引导的作用,确保边界区域的少数类样本能够被正确分类。同时,通过为SPY样本设立一个较小的
样本权重,减少了SPY样本对多数类样本的分类影响,最终达到一个较好的分类效果。
[0006]本专利技术主体包括以下步骤:
[0007]步骤1)基于软件缺陷数据集提取样本特征;包括获取样本不平衡度、获取同类样本之间的平均距离和获取样本方差;
[0008]a)计算样本不平衡度
[0009]统计数据集中多数类样本个数与少数类样本个数的比值。计算样
[0010]本不平衡度的公式为:
[0011]imblance=num
N
/num
P

[0012]式中num
N
为多数类样本个数,num
P
为少数类样本个数。
[0013]b)计算同类样本之间的平均距离
[0014]同类样本之间的平均距离描述了样本之间的接近程度。以少数类样本为例,对于少数类样本集合S
p
中的每一个少数类样本P
i
,计算P
i
到周围的k个近邻同类样本的距离,得到距离d1,d2…
d
k
,把得到的k个距离求均值,可以得到P
i
样本到周围近邻样本的平均距离dp
i
,公式为:
[0015]dp
i
=Avg(d1,d2…
d
k
)。
[0016]计算每一个dp
i
,最终得到dp=[dp1,dp2…
dp
nump
],取dp的平均值作为少数类样本之间的平均距离度量指标dp
average
。同理,我们也可以得到多数类样本之间的平均距离dn
average

[0017]c)计算样本方差
[0018]样本的方差描述了样本的离散程度。样本方差可由每个样本值与总样本平均数之差的平方值的求和平均得到。对于同一类样本来说,样本的方差越大,样本的分布越分散;相反,样本的方差越小,样本的分布越集中。总体数据集有多数类和少数类两类样本,获取两类样本的方差为S1和S2。样本方差的计算公式为:
[0019][0020]式中σ2表示总体方差,X表示单个样本,μ表示总体样本的均值,N为数据集样本的个数。
[0021]步骤2)自适应边界k值计算,根据k近邻算法选择合适边界样本,为边界样本重采样做好准备;
[0022]a)自适应边界k值计算
[0023]不同数据集的分布特征都不相同,k的取值需要根据数据集的分布特征来自适应调整。根据整体数据集的分布情况,从距离和方差两个角度出发,提出了k值的两种计算公式。为了防止边界k过大或者过小,将k值约束了范围,在5至15之间。
[0024]从样本个体的距离出发,结合样本整体不平衡率,得到了以下的公式。
[0025][0026]s.t.k1∈[5,15][0027]式中imblance为样本不平衡率,dp
average
为少数类样本之间的平均距离,dn
average

多数类样本之间的平均距离。
[0028]从两类样本总体的方差角度出发,结合样本整体的不平衡率,得到了k值的另一个计算公式:
[0029][0030]s.t.k2∈[5,15][0031]式中imblance为样本不平衡率,S
P
为少数类样本的总体方差,S
N
为多数类样本的总体方差。
[0032]b)边界样本选择
[0033]根据得到的边界k值,使用K近邻算法计算每个少数类样本周围的k个近邻样本。在这k个近邻样本中,如果多数类样本的个数多于少数类样本的个数,且近邻少数类样本的个数不为0,则被选为少数类边界样本。
[0034]步骤3)选择少数类样本周围的SPY样本,帮助边界区域的两类样本更好地分类,以此来提高整体的软件缺陷预测水平;
[0035]根据步骤2得到的自适应边界k值,选择边界SPY样本。SPY样本是指那些靠近少数类样本边界的多数类样本,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于样本分布特征和SPY算法的软件缺陷预测方法,其特征在于,包括如下步骤:步骤1)基于软件缺陷数据集提取样本特征;包括获取样本不平衡度、获取同类样本之间的平均距离和获取样本方差;步骤2)自适应边界k值计算,根据k近邻算法选择边界样本;a)自适应边界k值计算不同数据集的分布特征都不相同,k的取值需要根据数据集的分布特征来自适应调整;根据整体数据集的分布情况,从距离和方差两个角度出发,提出了k值的两种计算公式;为了防止边界k过大或者过小,将k值约束了范围,在5至15之间;从样本个体的距离出发,结合样本整体不平衡率,得到了以下的公式;s.t.k1∈[5,15]式中imblance为样本不平衡率,dp
average
为少数类样本之间的平均距离,dn
average
为多数类样本之间的平均距离;从两类样本总体的方差角度出发,结合样本整体的不平衡率,得到了k值的另一个计算公式:s.t.k2∈[5,15]式中imblance为样本不平衡率,S
P
为少数类样本的总体方差,S
N
为多数类样本的总体方差;b)边界样本选择根据得到的边界k值,使用K近邻算法计算每个少数类样本周围的k个近邻样本;在这k个近邻样本中,如果多数类样本的个数多于少数类样本的个数,且近邻少数类样本的个数不为0,则被选为少数类边界样本;步骤3)选择少数类样本周围的SPY样本,使用SPY样本引导边界区域的少数类样本更好地分类,以此来提高整体的软件缺陷预测水平;步骤4)在边界少数类样本中进行过采样,来平衡数据集;步骤5)对SPY样本和其他样本分别设置训练权重;将SPY样本的训练权重设置为0.5,将其他样本的权重都设置为1;权重的控制使得SPY样本在引导边界少数类样本正确分类的同时,减轻对边界区域多数类样本的分类影响,整体上提升总体的分类预测效果;步骤6)使用机器学习模型进行数据集的训练及预测。2.根据权利要求1所述的基于样本分布特征和SPY算法的软件缺陷预测方法,其特征在于,步骤1所述的基于软件缺陷数据集提取样本特征,具体如下:1)获取样本不平衡度软件缺陷数据集中多数类样本个数与少数类样本个数的比值,计算样本的不平衡度的
公式为:imblance=num
N
/num
P
;式中num
N
为多数类样本个数,num
P
为少数类样本个数;2)获取同类样本之间的平均距离同类样本之间的平均距离描述了样本之间的接近程度;以少数类样本为例,对于少数...

【专利技术属性】
技术研发人员:陈滨俞坚强方景龙
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1