利索能及
我要发布
收藏
专利号: 2021107033222
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-10-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于样本分布特征和SPY算法的软件缺陷预测方法,其特征在于,包括如下步骤:步骤1)基于软件缺陷数据集提取样本特征;包括获取样本不平衡度、获取同类样本之间的平均距离和获取样本方差;

步骤2)自适应边界k值计算,根据k近邻算法选择边界样本;

a)自适应边界k值计算

不同数据集的分布特征都不相同,k的取值需要根据数据集的分布特征来自适应调整;

根据整体数据集的分布情况,从距离和方差两个角度出发,提出了k值的两种计算公式;为了防止边界k过大或者过小,将k值约束了范围,在5至15之间;

从样本个体的距离出发,结合样本整体不平衡率,得到了以下的公式;

s.t.k1∈[5,15]

式中imblance为样本不平衡率,dpaverage为少数类样本之间的平均距离,dnaverage为多数类样本之间的平均距离;

从两类样本总体的方差角度出发,结合样本整体的不平衡率,得到了k值的另一个计算公式:s.t.k2∈[5,15]

式中imblance为样本不平衡率,SP为少数类样本的总体方差,SN为多数类样本的总体方差;

b)边界样本选择

根据得到的边界k值,使用K近邻算法计算每个少数类样本周围的k个近邻样本;在这k个近邻样本中,如果多数类样本的个数多于少数类样本的个数,且近邻少数类样本的个数不为0,则被选为少数类边界样本;

步骤3)对少数类样本进行k近邻运算,计算得到少数类样本周围的近邻样本;对于每一个少数类样本而言,如果其近邻样本中少数类样本的个数大于多数类样本的个数,则说明该样本处于相对较安全的区域,此时,这些近邻样本中的多数类样本视为SPY样本;选择少数类样本周围的SPY样本,使用SPY样本引导边界区域的少数类样本更好地分类,以此来提高整体的软件缺陷预测水平;

步骤4)在边界少数类样本中进行过采样,来平衡数据集;

步骤5)对SPY样本和其他样本分别设置训练权重;

将SPY样本的训练权重设置为0.5,将其他样本的权重都设置为1;权重的控制使得SPY样本在引导边界少数类样本正确分类的同时,减轻对边界区域多数类样本的分类影响,整体上提升总体的分类预测效果;

步骤6)使用机器学习模型进行数据集的训练及预测。

2.根据权利要求1所述的基于样本分布特征和SPY算法的软件缺陷预测方法,其特征在于,步骤1所述的基于软件缺陷数据集提取样本特征,具体如下:

1)获取样本不平衡度

软件缺陷数据集中多数类样本个数与少数类样本个数的比值,计算样本的不平衡度的公式为:imblance=numN/numP;

式中numN为多数类样本个数,numP为少数类样本个数;

2)获取同类样本之间的平均距离

同类样本之间的平均距离描述了样本之间的接近程度;以少数类样本为例,对于少数类样本集合中的每一个少数类样本Pi,计算Pi到周围的k个近邻同类样本的距离,得到距离d1,d2…dk,把得到的k个距离求均值,可以得到Pi样本到周围近邻样本的平均距离dpi,公式为:dpi=Avg(d1,d2…dk);

计算每一个dpi,最终得到dp=[dp1,dp2…dpnump],取dp的平均值作为少数类样本之间的平均距离度量指标dpaverage;同理,我们也可以得到多数类样本之间的平均距离dnaverage;

3)获取样本方差

样本的方差描述了样本的离散程度;样本方差可由每个样本值与总样本平均数之差的平方值的求和平均得到;对于同一类样本来说,样本的方差越大,样本的分布越分散;相反,样本的方差越小,样本的分布越集中;总体数据集有多数类和少数类两类样本,分别计算两类样本的方差;样本方差的计算公式为:2

式中σ表示总体方差,X表示单个样本,μ表示总体样本的均值,N为数据集样本的个数。

3.根据权利要求1所述的基于样本分布特征和SPY算法的软件缺陷预测方法,其特征在于步骤4所述的在边界少数类样本中进行过采样,具体如下:少数类样本采用线性插值的方式进行过采样;使用k=5的k近邻算法,获取边界上少数类的边界近邻样本;并在两个少数类样本之间进行随机的线性插值,使得新生成的少数类样本能分布在少数类边界区域,同时随机性导致新生成样本更具多样性。

4.根据权利要求1所述的基于样本分布特征和SPY算法的软件缺陷预测方法,其特征在于步骤6所述的使用机器学习模型进行数据集的训练及预测,具体如下:通过获得的类别平衡的软件缺陷数据集,在经典的决策模型如逻辑回归模型、决策树模型、k近邻模型以及贝叶斯模型中进行训练及预测,得到训练好的模型;模型训练结束后,将测试集样本预处理后输入到模型中,即可得到模型预测的标签。