【技术实现步骤摘要】
一种基于采样算法优化与无监督聚类的软件缺陷预测方法
[0001]本专利技术涉及机器学习、软件缺陷预测
,具体的说,是一种基于采样算法优化与无监督聚类的软件缺陷预测方法。
技术介绍
[0002]21世纪以来,信息技术得到了飞速发展,人们开发了大量的软件来便捷我们的工作和生活。随着大家对软件系统的依赖越来越深,开发出高质量的软件就显得愈加重要,而直接决定软件系统质量和使用体验的就是软件缺陷的数量。大量的软件缺陷不仅会使用户的使用好感急剧下降,也会在后期给开发者造成人力和财力上的压力。
[0003]研究针对软件缺陷的自动化方法,如缺陷预测、检测、定位、调试以及修复等,以及开发相应的自动化工作具有十分重要的应用价值,同时也存在诸多研究挑战。软件缺陷预测是软件缺陷修复的第一步,它在软件发布前通过软件历史数据、度量信息和已知缺陷来对软件中可能仍存在的缺陷进行预测,从而缩小测试范围,使开发人员集中精力修复缺陷,提升软件开发效率。
[0004]近些年,软件缺陷预测受到广泛关注和重视,现有的软件缺陷预测研究从分类算法的种类来看,可以分为有监督、半监督和无监督三类,其中无监督方法因为不要求初始数据被标记而受到广泛使用,但鲜见有研究者考虑到无监督软件缺陷预测中数据类别不平衡问题对模型产生的影响。在常见的软件缺陷预测数据集中,存在缺陷的项目数往往只占总数的很小一部分,导致聚类时会因为少数类样本数据过少而使得各软件实体之间连接性和欧式距离不符合各种聚类算法的要求,聚类效果达不到预期结果。
技术实现思路
[ ...
【技术保护点】
【技术特征摘要】
1.一种基于采样算法优化与无监督聚类的软件缺陷预测方法,其特征在于,包括以下步骤:步骤S1.数据集过采样:根据原始数据集中的数据类别比例信息和设定的平衡系数,使用改进的T
‑
ADASYN过采样算法计算少数类样本需要生成的数据量并生成,得到平衡数据集;步骤S2.数据集标准化:使用Z
‑
Score标准化技术对步骤S1中生成的平衡数据集进行标准化处理,得到标准数据集;步骤S3.无监督聚类:构建基于无监督的Spectral Clustering聚类模型,将步骤S2中得到的标准数据集输入到聚类模型中,聚类模型对输入的数据集进行聚类操作,进而把标准数据集划分成2类;步骤S4.聚类结果确认:使用启发式方法,对聚类分成的2类进行确认类别处理,进而判断数据所代表的软件有无缺陷;步骤S5.预测评价指标:构建模型评价指标,获取模型评价指标信息,在优化及测试中用以衡量软件缺陷预测的准确度。2.根据权利要求1所述的一种基于采样算法优化与无监督聚类的软件缺陷预测方法,其特征在于,步骤S1中首先根据欧式距离找到与少数类样本X
i
最邻近的k个点,然后从k个点中随机选择一个点生成新数据,再根据欧式距离找到与少数类样本X
i
中等距离的k个点,同样是从k个点中随机选择一个点生成新数据,将原始数据和新生成的数据组合在一起,得到平衡数据集,步骤如下:步骤S11.根据输入的原始数据集D和设置的平衡系数β,计算每个样本需要生成的样本数G;G=(m
l
‑
m
s
)
×
β
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,m
l
为多数类样本数,m
s
为少数类样本数,β∈[0,1],若β为1,则采样后正负样本为1:1;步骤S12.对于每个少数类样本X
i
,用欧式距离计算得到其k个邻居;记样本X
i
的k个邻居中多数类样本占比为r
i
,则其中,Δi为k个邻居中属于多数类的样本数目:步骤S13.对r
i
进行标准化处理,得出每个r
i
的权重的权重步骤S14.计算每个少数类样本X
i
需要合成样本的数量g
i
;步骤S15.根据每个少数类样本X
i
要合成的数量g
i
,首先生成最近邻的样本N
i
;N
i
=X
i
+(X
zi
‑
X
i
)
×
λ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中,N
i
是合成样本,X
i
是少数类中第i个样本,X
zi
是从X
i
的k最邻近样本中随机选取的一个少数类样本,λ∈[0,1]随机数;步骤S16.生成少数类样本X
i
的中等距离的样本M
i
;
M
i
=X
i
+(X
Mi
‑
X
i
)
×
λ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中,M
i
是合成样本,X
i
是少数类中第i个样本,X
Mi
是从X
i
的k中等邻近样本中随机选取的一个少数类样本,λ∈[0,1]随机数;步骤S17,将原始数据和新生成的数据组合在一起,得到平衡数据集D...
【专利技术属性】
技术研发人员:石海鹤,周世文,蓝孙文,龙海,刘日明,
申请(专利权)人:江西师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。