一种基于不平衡数据集的软件测试方法及系统

未命名 07-12 阅读:65 评论:0


1.本发明涉及计算机技术领域,尤其是一种基于不平衡数据集的软件测试方法及系统。


背景技术:

2.随着软件产业的不断扩大,软件质量问题逐渐引起广泛关注,软件缺陷是威胁软件质量的最重要因素之一。软件缺陷通常源于软件工程师在编码过程中犯的错误,这通常需要大量的人力资源和时间来修复。因此,在软件开发过程中及早发现故障模块已成为一个亟待解决的问题。软件缺陷预测(sdp)是提高软件测试效率的重要工具。sdp属于不平衡问题,因为有缺陷的数据分布不均匀,有缺陷的模块比无缺陷的模块少得多。传统的机器学习方法往往以数据服从均衡分布为前提,忽略少数有缺陷的软件。
3.虽然日前有很多优秀的机器学习以及深度学习算法能够达到比较高分类精度,但大多机器学习算法遇到数据不均衡时性能会急速下降,往往会过多的关注多数类而忽略少数类,这是致命的,比如软件缺陷预测方面,正常的往往是多于异常的,但在测试过程中更多的是关注有异常的软件而不是正常的,如果一个分类器能够分类出所有正常的类别而不能分类出有异常的软件这对软件开发行业会造成巨大的经济损失。另一方面,深度学习虽然能够提取更加深层的特征,但在数据量比较小时无法能够完成很好的拟合效果,可一旦数据集数据量比较大时,这就需要比较长的时间去反向传播寻找最优的参数,耗费时间过长。


技术实现要素:

4.有鉴于此,基于背景技术中所提及的技术问题或者缺陷,本发明实施例的目的在于提供一种基于不平衡数据集的软件测试方法,能够解决现有的不平衡的软件缺陷数据集预测不够准确与高效的弊端。同时,本技术技术方案还提供了能够实现这一方法的软件测试系统。
5.一方面,本技术技术方案提供了一种基于不平衡数据集的软件测试方法,包括以下步骤:
6.获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理;
7.根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数;
8.根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;
9.通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数;
10.根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。
11.在本技术方案的一种可行的实施例中,所述获取不平衡的软件缺陷的样本数据,
对所述样本数据进行预处理,包括:
12.通过所述样本数据的均值对缺失值进行填补,或者删除所述缺失值;
13.确定进行缺失值处理之后的所述样本数据的标签,并肩编码处理后的所述标签添加至所述样本数据。
14.在本技术方案的一种可行的实施例中,所述根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数,包括:
15.根据所述样本数据的样本数量确定第一权重矩阵,根据所述第一权重矩阵确定所述数据类别的惩罚参数;
16.根据所述惩罚参数确定所述数据类别对应的所述代价敏感系数。
17.在本技术方案的一种可行的实施例中,所述根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型,包括:
18.通过径向基核函数确定所述样本数据之间的内积矩阵,根据所述内积矩阵构建映射层,并确定所述映射层与输入层之间的第一连接权重;
19.将所述映射层的节点作为输入,通过所述径向基核函数进行映射得到增强层,并确定所述增强层与所述映射层之间的第二连接权重;
20.根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型。
21.在本技术方案的一种可行的实施例中,所述内积矩阵的计算公式为:
[0022][0023]
其中,ω
i,j
表征所述内积矩阵,xa表征第a个样本数据的特征向量,xb表征第b个样本数据的特征向量,σ表征径向基核函数的参数,n为正整数。
[0024]
在本技术方案的一种可行的实施例中,所述根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型,包括:
[0025]
根据所述第一连接权重以及所述第二连接权重确定所述代价敏感核宽度学习系统分类模型中隐藏层的第二权重矩阵;所述隐藏层由所述映射层与所述增强层进行拼接得到;
[0026]
根据所述第二权重矩阵构建所述代价敏感核宽度学习系统分类模型中的目标函数。
[0027]
在本技术方案的一种可行的实施例中,所述通过径向基核函数确定所述样本数据之间的内积矩阵,根据所述内积矩阵构建映射层,并确定所述映射层与输入层之间的第一连接权重这一步骤中,所述第一连接权重的计算公式如下:
[0028][0029]
其中,λ表征正则项参数,i表征单位矩阵,ωm表征所述映射层的距离矩阵,x表征输入的所述样本数据。
[0030]
在本技术方案的一种可行的实施例中,所述将所述映射层的节点作为输入,通过所述径向基核函数进行映射得到增强层,并确定所述增强层与所述映射层之间的第二连接
权重这一步骤中,所述第二连接权重的计算公式如下:
[0031][0032]
其中,λ表征正则项参数,i表征单位矩阵,ωm表征所述映射层的距离矩阵,ωe表征所述增强层的距离矩阵。
[0033]
在本技术方案的一种可行的实施例中,所述代价敏感核宽度学习系统分类模型中的输出层权重的公式如下:
[0034][0035]
其中,w表征输出层权重,λ表征正则项参数,y表征所述样本数据对应的标签矩阵,c
+
表征少数类样本误分类的代价敏感系数,c-表征多数类样本误分类的惩罚系数,k=[ωm,ωe],ωm表征所述映射层的距离矩阵,ωe表征所述增强层的距离矩阵。
[0036]
另一方面,本技术技术方案还提供了一种基于不平衡数据集的软件测试系统,该系统包括:
[0037]
数据获取单元,用于获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理;
[0038]
数据根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数;
[0039]
模型训练单元,用于根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;
[0040]
参数优化单元,用于通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数;
[0041]
预测输出单元,用于根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。
[0042]
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
[0043]
本技术技术方案提出了一种代价敏感核宽度学习系统(ccr-kbls),通过将核学习技术与代价敏感宽度学习系统相结合来解决数据分类不平衡的问题,可有效消除软件缺陷数据集极端不平衡的特性对分类性能的影响;方案通过代价敏感的宽度学习,修改模型的目标函数,使模型更加关注少数类,提高分类精确度,并且同时解决了特征工程工作中训练繁琐问题,提高了模型的训练效率。
附图说明
[0044]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]
图1为本技术技术方案中提供的一种基于不平衡数据集的软件测试方法的步骤流程图。
具体实施方式
[0046]
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0047]
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0048]
除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
[0049]
相关技术方案中,宽度学习(bls)已经应用于各种场景。宽度学习是一种新颖的机器学习技术,结构简单,性能具有竞争力。宽度学习的结构与深度学习的结构非常不同。bls倾向于在“宽”而不是“深”的方向构建网络,这是一个单层横向可扩展网络,设计灵感来自随机向量函数链接神经网络(rvflnn)。宽度学习旨在设计对数据更加快速而精确的分类,也被应用于软件缺陷预测。相关技术方案中已经公开通过与深度神经网络(dnn)相比,证实了可以在mnist数据集上实现良好的分类性能和更快的训练速度。虽然宽度学习具有出色的分类效率,但在数据集不平衡的情况下会出现性能损失。在分类过程中其目标函数会因为数据的等不均衡而导致更加的关注多数类,而我们在做软件缺陷预测的时候往往更加关注的是有缺陷的一方,也即是少数类,所以正常的宽度学习去做不平衡数据分类时会导致分类性能下降。
[0050]
另外,软件缺陷数量预测主要是根据以前的软件数据对软件模块中的缺陷数量进行预测;相关技术方案通过使用回归分类器预测文档缺陷的数量,分析了开发人员对缺陷预测模型的影响,近年来,研究人员对缺陷严重程度预测进行了大量研究,例如结合多元逻辑回归和梯度下降来预测缺陷的严重程度,并进一步提出了一种基于排名的方法来预测缺陷严重程度的软件缺陷程度。
[0051]
但是,是上述的关于不平衡学习的方法虽然都可以在一定程度上缓解不平衡数据分布对分类性能的影响,但都没有考虑到软件缺陷数据集本身还存在许多噪声的特征,而这些特征会随着宽度学习的横向拓展特征导致异常值和噪声被进一步放大,从而导致预测的性能下降,故而有必要寻求一种处理噪声的技术来保证获取到稳定的特征从而得到更加清晰的决策边界。
[0052]
针对上述内容中所指出的现有技术的不足之处,第一方面,如图1所示,本技术技术方案提供了一种基于不平衡数据集的软件测试方法,方法包括步骤s01-s05:
[0053]
s01、获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理。
[0054]
具体在实施例中,针对所获取的不平衡的软件缺陷的样本数据,可以将其划分为软件缺陷训练样本和测试样本,对样本中的数据进行预处理。在一些可行的实施方式中,针对样本数据进行预处理的过程可以包括步骤s011-s012:
[0055]
s011、通过所述样本数据的均值对缺失值进行填补,或者删除所述缺失值;
[0056]
s012、确定进行缺失值处理之后的所述样本数据的标签,并肩编码处理后的所述标签添加至所述样本数据。
[0057]
具体在实施例中,在获取了不平衡的软件缺陷训练样本和测试样本之后,需要对样本中的数据进行预处理。实施例中对软件缺陷数据进行数据分割,对缺失值采用前后两个样本的平均值来代替,对于缺失的特征较大的样本则直接删除,最后将数据划分为样本和标签,并将数据集的标签经转换为one-hot编码处理。
[0058]
s02、根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数。
[0059]
具体在实施例中,根据样本的不平衡特性为不同类别设定不同的代价敏感系数,分别为c
+
和c-,这样可以实现为不同类别的数据设定不同的惩罚参数。在一些可行的实施方式中,为不同类别的数据设定不同的惩罚参数的过程,可以包括步骤s021-s022:
[0060]
s021、根据所述样本数据的样本数量确定第一权重矩阵,根据所述第一权重矩阵确定所述数据类别的惩罚参数;
[0061]
s022、根据所述惩罚参数确定所述数据类别对应的所述代价敏感系数。
[0062]
具体在实施例中,原始数据集的样本数量设定第一权重矩阵,为不同类别的数据设定不同的惩罚参数,首先在在基础的宽度学习系统基础上添加代价敏感参数,为多数类数据分配c
+
;少数类数据分配c-;其中,多数类数据将会分配到更小的惩罚参数,少数类数据分配更大的惩罚参数,并将该惩罚参数作为数据类别对应的代价敏感系数。进一步地,c
+
和c-在c
search
={2-24
,2-23
,

,2
24
,2
25
}范围内网格查找寻找最优正则化参数。
[0063]
s03、根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型。
[0064]
具体在实施例中,训练一个针对不平衡数据的代价敏感核宽度学习系统分类模型(ccr-kbls),代价敏感核宽度学习系统分类模型为一个两层的神经网络模型,第一层包括特征节点和增强节点,第二层是输出层,其中第一层中的特征节点和增强节点拼接在一起连接到全连接层。更进一步地,实施例中可以将步骤s01中划分的到的训练样本连接到全连接层。更进一步地,实施例中可以将步骤s01中划分的到的训练样本来训练加权和宽度学习系统,其中,x代表输入的训练样本,y代表对应样本的标签;n代表样本总量,l代表样本的特征维度,c代表输出的维度。
[0065]
在一些可行的实施方式中,实施例中ccr-kbls的训练过程可以包括步骤s031-s033:
[0066]
s031、通过径向基核函数确定所述样本数据之间的内积矩阵,根据所述内积矩阵构建映射层,并确定所述映射层与输入层之间的第一连接权重;
[0067]
具体在实施例中,首先通过径向基核函数计算训练样本间的内积矩阵,将原始输入数据转换为映射节点层,径向基核函数如下:
[0068][0069]
其中,xa和xb分别表示第a个和第b个样本的特征向量,σ表征径向基核函数的参数;通过实施例中所提供的径向基核函数计算出n*n的距离矩阵ωm作为映射层。进一步地,通
过求伪逆的方式求得输入层到映射层之间的连接权重,即第一连接权重:
[0070][0071]
其中,λ表征正则项参数,i表征单位矩阵,ωm表征所述映射层的距离矩阵,x表征输入的所述样本数据。
[0072]
s032、将所述映射层的节点作为输入,通过所述径向基核函数进行映射得到增强层,并确定所述增强层与所述映射层之间的第二连接权重;
[0073]
具体在实施例中,在确定了模型的映射层之后,将映射层的所有节点作为输入,再经过一次径向基函数映射得到增强层ωe;与步骤s031相类似地,计算映射层到增强层的连接权重,即第二连接权重:
[0074][0075]
s033、根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型。在一些可行的实施方式中,方法中步骤s033可以进一步包括步骤s0331-s0332:
[0076]
s0331、根据所述第一连接权重以及所述第二连接权重确定所述代价敏感核宽度学习系统分类模型中隐藏层的第二权重矩阵,其中隐藏层由所述映射层与所述增强层进行拼接得到。
[0077]
具体在实施例中,将特征层和增强层拼接起来成宽度学习系统模型的隐藏层可以得到k=[ωm,ωe]。
[0078]
s0332、根据所述第二权重矩阵构建所述代价敏感核宽度学习系统分类模型中的目标函数。
[0079]
具体在实施例中,将步骤s0331中计算的第二权重矩阵加入到目标函数中,其中目标函数为:
[0080][0081]
s.t:k(xi)wi=y
i-ζi,i=1,

,n
[0082]
其中,c
+
表示少数类样本误分类的惩罚系数,c-表示多数类样本误分类的惩罚系数,λ表示正则化参数,k表示特征节点和增强节点拼接成的隐藏节点。进而在实施例中通过伪逆的方式求出输出层权重:
[0083][0084]
其中,y为标签矩阵。一旦达到ccr-kbls的输出权重,就不需要进一步的调整来获得最终结果。最后,实施例将预测标签设为最终的模型输出结果可以进一步描述为:
[0085][0086]
s04、通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数。
[0087]
具体在实施例中,可以使用网格搜索策略寻找最优惩罚系数,其中,搜索的范围为c
search
={2-24
,2-23
,

,2
24
,2
25
},并将最优的参数作为最终模型的最终参数。
[0088]
s05、根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。
[0089]
具体在实施例中,对测试实例进行分类,得到最终的预测结果。实施例中使用加权核宽度学习系统对测试样本进行测试分类,选择网格搜索得到的最优参数放入模型对软件缺陷数据测试集测试,得到标签后再运用g-mean评价指标测试分类结果。如表1所示,将本技术技术方案中所构建得到的ccr-kbls模型,分别在不同数据集的实验结果,其预测结果大部分均由于smote-bls以及rus-bls等其他模型。
[0090]
表1
[0091]
数据集smote-blsrus-blswelmdncccr-kblsmc20.7350.7460.6970.6990.834pc30.7450.6470.7950.8160.745mw10.4780.5920.6670.6730.845pc10.5670.7440.7870.6980.792
[0092]
另一方面,本技术技术方案还提供了一种基于不平衡数据集的软件测试系统,该系统包括:
[0093]
数据获取单元,用于获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理;
[0094]
数据根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数;
[0095]
模型训练单元,用于根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;
[0096]
参数优化单元,用于通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数;
[0097]
预测输出单元,用于根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。
[0098]
从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
[0099]
(1)本技术技术方案提出了一种代价敏感核宽度学习系统(ccr-kbls),通过将核学习技术与代价敏感宽度学习系统相结合来解决数据分类不平衡的问题,可有效消除软件缺陷数据集极端不平衡的特性对分类性能的影响;
[0100]
(2)本技术技术方案在宽度学习中设计了一个特定的内核映射方案。双核映射策略自适应调整特征节点的数量,减少随机映射的不确定性,避免人工设置。同时能够给消除数据噪声和异常值对模型分类的精确度的影响。
[0101]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度
试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0102]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0103]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0104]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
[0105]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。

技术特征:
1.一种基于不平衡数据集的软件测试方法,其特征在于,包括以下步骤:获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理;根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数;根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数;根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。2.根据权利要求1所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理,包括:通过所述样本数据的均值对缺失值进行填补,或者删除所述缺失值;确定进行缺失值处理之后的所述样本数据的标签,并肩编码处理后的所述标签添加至所述样本数据。3.根据权利要求1所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数,包括:根据所述样本数据的样本数量确定第一权重矩阵,根据所述第一权重矩阵确定所述数据类别的惩罚参数;根据所述惩罚参数确定所述数据类别对应的所述代价敏感系数。4.根据权利要求1所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型,包括:通过径向基核函数确定所述样本数据之间的内积矩阵,根据所述内积矩阵构建映射层,并确定所述映射层与输入层之间的第一连接权重;将所述映射层的节点作为输入,通过所述径向基核函数进行映射得到增强层,并确定所述增强层与所述映射层之间的第二连接权重;根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型。5.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述内积矩阵的计算公式为:其中,ω
i,j
表征所述内积矩阵,x
a
表征第a个样本数据的特征向量,x
b
表征第b个样本数据的特征向量,σ表征径向基核函数的参数,n为正整数。6.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述根据所述映射层、所述增强层、所述第一连接权重以及所述第二连接权重构建得到所述代价敏感核宽度学习系统分类模型,包括:根据所述第一连接权重以及所述第二连接权重确定所述代价敏感核宽度学习系统分类模型中隐藏层的第二权重矩阵;所述隐藏层由所述映射层与所述增强层进行拼接得到;
根据所述第二权重矩阵构建所述代价敏感核宽度学习系统分类模型中的目标函数。7.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述通过径向基核函数确定所述样本数据之间的内积矩阵,根据所述内积矩阵构建映射层,并确定所述映射层与输入层之间的第一连接权重这一步骤中,所述第一连接权重的计算公式如下:其中,λ表征正则项参数,i表征单位矩阵,ω
m
表征所述映射层的距离矩阵,x表征输入的所述样本数据。8.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述将所述映射层的节点作为输入,通过所述径向基核函数进行映射得到增强层,并确定所述增强层与所述映射层之间的第二连接权重这一步骤中,所述第二连接权重的计算公式如下:其中,λ表征正则项参数,i表征单位矩阵,ω
m
表征所述映射层的距离矩阵,ω
e
表征所述增强层的距离矩阵。9.根据权利要求4所述的一种基于不平衡数据集的软件测试方法,其特征在于,所述代价敏感核宽度学习系统分类模型中的输出层权重的公式如下:其中,w表征输出层权重,λ表征正则项参数,y表征所述样本数据对应的标签矩阵,c
+
表征少数类样本误分类的代价敏感系数,c-表征多数类样本误分类的惩罚系数,k=[ω
m
,ω
e
],ω
m
表征所述映射层的距离矩阵,ω
e
表征所述增强层的距离矩阵。10.一种基于不平衡数据集的软件测试系统,其特征在于,包括:数据获取单元,用于获取不平衡的软件缺陷的样本数据,对所述样本数据进行预处理;数据根据预处理之后的样本数据的不平衡特性为所述样本数据中的数据类别设定代价敏感系数;模型训练单元,用于根据包括所述代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;参数优化单元,用于通过网格搜索确定最优惩罚系数,根据所述最优惩罚系数确定训练后所述代价敏感核宽度学习系统分类模型的目标参数;预测输出单元,用于根据所述目标参数构建得到目标分类模型,通过所述目标分类模型对测试实例进行分类预测,输出预测结果。

技术总结
本发明提供的一种基于不平衡数据集的软件测试方法及系统,方法包括以下步骤:获取不平衡的软件缺陷的样本数据,对样本数据进行预处理;根据预处理之后的样本数据的不平衡特性为样本数据中的数据类别设定代价敏感系数;根据包括代价敏感系数的样本数据训练代价敏感核宽度学习系统分类模型;通过网格搜索确定最优惩罚系数,根据最优惩罚系数确定模型的目标参数;根据目标参数构建得到目标分类模型,通过目标分类模型对测试实例进行分类预测,输出预测结果;方案可有效消除软件缺陷数据集极端不平衡的特性对分类性能的影响,提高分类精确度,并且同时解决了特征工程工作中训练繁琐问题,提高了模型的训练效率,可广泛应用于计算机技术领域。机技术领域。机技术领域。


技术研发人员:程良伦 陈武兴 张伟文
受保护的技术使用者:广东工业大学
技术研发日:2022.12.19
技术公布日:2023/7/11
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐