CN111522743B - 一种基于梯度提升树支持向量机的软件缺陷预测方法 - Google Patents
一种基于梯度提升树支持向量机的软件缺陷预测方法 Download PDFInfo
- Publication number
- CN111522743B CN111522743B CN202010303294.0A CN202010303294A CN111522743B CN 111522743 B CN111522743 B CN 111522743B CN 202010303294 A CN202010303294 A CN 202010303294A CN 111522743 B CN111522743 B CN 111522743B
- Authority
- CN
- China
- Prior art keywords
- gradient lifting
- support vector
- vector machine
- lifting tree
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
Abstract
本发明提供一种基于梯度提升树支持向量机的软件缺陷预测方法,本发明不是人工根据先验知识或搜索算法进行组合,而是通过集成学习算法的梯度提升树进行自发的特征组合,然后使用梯度提升树组合而成的独热编码作为二次特征,将二次特征作为支持向量机的输入,对支持向量机算法进行训练,得到基于梯度提升树的支持向量机;也就是说,本发明将两个弱分类器组合成强分类器,进而通过特征组合的方式缓解数据不平衡的问题,在一定程度上提高了分类算法的准确率和精度。
Description
技术领域
本发明属于机器学习技术领域,尤其涉及一种基于梯度提升树支持向量机的软件缺陷预测方法。
背景技术
在这个信息化的时代,计算机应用已经覆盖到我们生活的方方面面,如银行金融系统、航空航天、医疗行业和交通指挥系统等。随着我们对计算机的依赖,我们越来越关注于软件产品的质量。软件质量主要包括软件的可靠性、可理解性、可用性、可维护性和有效性等,其中软件的可靠性尤为重要。而导致软件不可靠的主要因素之一就是软件缺陷。软件缺陷指的是软件在开发过程中引入的错误,会导致软件在运行过程中出错、失效、崩溃甚至危及人类的生命财产安全。软件缺陷主要由软件开发过程中需求分析不正确、编程人员的经验不足或软件管理者不合理安排等引起的。软件测试能帮助开发人员发现缺陷,但是对软件进行全部测试时容易增加团队的开发时间,进而造成成本过多的问题。因此,怎样尽可能多的发现缺陷在保障软件质量中显得尤为重要。
软件缺陷预测能有效的减少对成本的浪费,它是根据已标记好缺陷倾向性的历史软件模块,提取它们的特征属性来预测新软件项目中的缺陷数或者缺陷类型等,从而帮助软件测试者合理分配测试资源[4]。软件缺陷预测对软件工程具有重要的意义:(1)减少开发时间,降低成本,从而在尽可能低的成本下开发出满意的软件产品。(2)能使测试人员更有针对的对易产生或可能存在缺陷的模块进行优先测试,有效分配测试资源。(3)通过软件缺陷预测更好的保证软件产品质量,为我们的生活提供更安全的服务。
软件缺陷预测发展主要分为静态软件缺陷预测和动态软件缺陷预测。静态软件缺陷预测主要根据历史开发数据,将软件代码量化为软件度量元,对这些度量元和历史缺陷信息进行统计分析,从而建立缺陷预测模型,然后利用该模型对新的软件模块进行预测。静态软件缺陷预测一般有三种类型:分类任务的缺陷预测、定位任务软件缺陷预测、定量任务的缺陷预测。分类任务的软件缺陷预测是预测模块内是否含有缺陷,是一个二分类问题。定位任务软件缺陷预测时是找到模块中软件缺陷的位置。定量任务的软件缺陷预测是预测软件模块内含有的缺陷个数。动态软件缺陷预测预测是研究软件缺陷与时间之间的关系。
Boehm提到缺陷在软件模块中的分布大致符合二八原则,也就是说,80%的缺陷主要集中分布于20%的软件模块中。可见,数据集的类不平衡在软件缺陷预测中无法避免的。然而,传统的分类算法主要针对相对平衡的数据集而设定,面对不平衡的数据集分类效果往往不是很好,分类算法在分类时更多的偏向于无缺陷模块,而对有缺陷模块的预测精度较低。
现有技术很少针对软件缺陷预测的数据不平衡问题,提出解决方案,常见的集成算法有Boosting和Adaboost。Lee等提出一种新的权重调节因子应用于加权支持向量机,作为Adaboost算法中的一种弱分类器,并在F-measure和AUC 评价标准上取得好的成绩。Seiffert等人使用Adaboost与采样方法结合的方式来提高缺陷模型的预测性能。Zheng等人提出神经网络与Boosting结合的集成算法,并在NASA数据集上进行了测试。Li等人将SMOTE与Boosting结合构建缺陷预测模型,结果表明该方法是有效的。Chen提出基于集成随机下采样的缺陷预测算法,具体为将随机下采样和AdaBoost结合,在NASA软件缺陷预测的9个数据集上进行了测试。Wang等提出使用多重内核集成学习方法来进行软件缺陷预测与分类。这些集成学习的方法虽然缓解数据集的不平衡问题,但是都没有关注特征的组,这样对验证的结果会产生影响。
发明内容
为解决上述问题,本发明提供一种基于梯度提升树支持向量机的软件缺陷预测方法,能够缓解数据不平衡的问题,提高预测的准确率和精度。
一种基于梯度提升树支持向量机的软件缺陷预测方法,包括以下步骤:
S1:从NASA软件缺陷预测数据集中获取训练集;
S2:分别采用代码行数度量法、Halstead科学度量法、McCabe度量法以及 CK度量法对训练集中的待测样本进行特征提取,得到各待测样本对应的特征向量,其中,特征向量包括两个以上的特征;
S3:构建两棵以上的梯度提升树,且每棵梯度提升树至少有两个子节点,其中,每个梯度提升树只有一个子节点输出决策结果,且各梯度提升树的节点数量不完全相同;
S4:将所有特征向量均输入到各梯度提升树中进行自动特征组合,然后将各梯度提升树输出决策结果的节点的状态设置为1,其余节点的状态设置为0,得到各梯度提升树对应的独热编码;
S5:将对应于同一个特征向量的各独热编码串联,得到独热编码向量,然后将各独热编码向量作为输入,各独热编码向量对应的待测样本是否有缺陷作为输出,对支持向量机进行训练,得到支持向量机预测模型;
S6:将所述支持向量机预测模型与各梯度提升树串联,得到软件缺陷预测模型;
S7:将待测程序的特征向量输入所述软件缺陷预测模型,实现软件缺陷的预测。
所述的一种基于梯度提升树支持向量机的软件缺陷预测方法,其特征在于,采用代码行数度量法提取的特征包括注释行、实际运行行数以及方法行数。
进一步地,采用Halstead科学度量法提取的特征包括程序长度、程序容量、语言等级、编写效率以及编写耗时。
进一步地,采用McCabe度量法提取的特征包括程序循环结构的数量与程序选择结构的数量。
进一步地,采用CK度量法提取的特征包括类中方法数、类继承深度、类的直接子类个数、类的耦合类个数、类中方法调用总数以及类内方法引用实例数。
有益效果:
本发明提供一种基于梯度提升树支持向量机的软件缺陷预测方法,本发明不是人工根据先验知识或搜索算法进行组合,而是通过集成学习算法的梯度提升树进行自发的特征组合,然后使用梯度提升树组合而成的独热编码作为二次特征,将二次特征作为支持向量机的输入,对支持向量机算法进行训练,得到基于梯度提升树的支持向量机;也就是说,本发明将两个弱分类器组合成强分类器,进而通过特征组合的方式缓解数据不平衡的问题,在一定程度上提高了分类算法的准确率和精度。
附图说明
图1为本发明提供的一种基于梯度提升树支持向量机的软件缺陷预测方法的流程图;
图2为本发明提供的使用梯度提升树生成独热编码的示意图;
图3为本发明提供的分隔超平面示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
首先介绍一些基本术语:
集成学习:集成学习是一种机器学习范式,在集成学习中,会训练多个模型(通常称为弱学习器)解决相同的问题,并将它们结合起来以获得更好的结果;其中,最重要的假设是:当弱模型被正确组合时,可以得到更精确和/或更鲁棒的模型。
Boosting:Boosting是集成学习算法的一种,其主要目标为将弱学习器“提升”为强学习器,大部分Boosting算法都是根据前一个学习器的训练效果对样本分布进行调整,再根据新的样本分布训练下一个学习器,如此迭代M次,最后将一系列弱学习器组合成一个强学习器。如图1所示,一种基于梯度提升树支持向量机的软件缺陷预测方法,包括以下步骤:
S1:从NASA软件缺陷预测数据集中获取训练集和测试集,同时,将训练集中的待测程序作为待测样本。
S2:分别采用代码行数度量法、Halstead科学度量法、McCabe度量法以及 CK度量法对训练集中的待测样本进行特征提取,得到各待测样本对应的特征向量,其中,特征向量包括两个以上的特征。
进一步地,软件缺陷预测使用的数据集主要根据以下几种特征提取方式获得数据:
代码行数度量法:代码行数直接度量元作为软件特征进行计算,当然这不只包括总行数,还有注释行、实际运行行数、方法行数等与代码行数相关的度量元。
Halstead科学度量法:描述了程序最小实现和实际实现的关系,通过计算程序中操作符N1和操作数N2的数量来测量程序的容量和工作量,当N1+N2越大就表明代码越复杂,其出现缺陷的概率就越高,主要包括程序长度、程序容量、语言等级、编写效率、编写耗时等特征。
McCabe度量法:环路复杂度就是McCabe复杂度度量,其认为程序的循环和选择构成的环路越多程序就越复杂,通过统计程序循环结构的数量和程序选择结构的数量构成数据集。
CK度量法:考虑了面向对象开发的程序中继承、耦合、内聚等特点,主要包括类中方法数、类继承深度、类的直接子类个数、类的耦合类个数、类中方法调用总数、类内方法引用实例数等。
例如,NASA软件缺陷预测数据集根据以上方式收集数据分析情况如表1 所示:
从表1中可以看出,有缺陷模块占比显著低于无缺陷模块,有缺陷模块平均占比为16.01%,CM1、PC2两个模块中,有缺陷模块占比仅为2.31%和2.15%,绝大部分软件缺陷预测数据属于非平衡数据。一般的预测模型会因为数据不平衡性偏向于把数据预测为无缺陷模块,而集成学习算法可以缓解数据不平衡问题。
表1
S3:构建两棵以上的梯度提升树,且每棵梯度提升树至少有两个子节点,其中,每个梯度提升树只有一个子节点输出决策结果,且各梯度提升树的节点数量不完全相同。
需要说明的是,梯度提升树Gradient Boost与传统的提升树Boost的区别为:每一次的计算是为了减少上一次的残差(residual),而为了消除残差,我们可以在残差减少的梯度方向上建立一个新的模型。所以说,在Gradient Boost中,每个新的模型的简历是为了使得之前模型的残差往梯度方向减少,与传统Boost对正确、错误的样本进行加权有着很大的区别,梯度提升树是根据Gradient Boost方法建立多颗决策树进行预测。梯度提升树是迭代多棵回归树来共同决策;当采用平方误差损失函数时,每一棵回归树学习的是之前所有树的结论和残差,拟合得到一个当前的残差回归树,残差的意义如公式:残差=真实值-预测值,提升树即是整个迭代过程生成的回归树的累加。
S4:将所有特征向量均输入到各梯度提升树中进行自动特征组合,然后将各梯度提升树输出决策结果的节点的状态设置为1,其余节点的状态设置为0,得到各梯度提升树对应的独热编码。
例如,假设有10个特征向量,五棵梯度提升树,每个特征向量输入一棵梯度提升树可以生成一个独热编码,则最终可以得到50个独热编码。
需要说明的是,决策树为一种常见的弱学习器,梯度提升树对特征向量进行自动特征组合的常用算法如下:
对于二元梯度提升树,如果用类似于逻辑回归的对数似然损失函数,则损失函数为:
L(yi,h(x))=-yilogh(x)-(1-h(x))log(1-h(x))
其中,h(x)为预测结果。
输入:软件缺陷数据集D{(x1,y1),(x2,y2),…,(xN,yN)},损失函数L(y,h(x))
(1)计算
初始化第一个弱分类器,其中P(Y=1|x)是数据集样本中y=1的比例。
(2)循环m=1,2,..,M
计算每一个数据样本残差
hm-1(xi)为上一棵树的预测值,rmi是第m棵树的第i个残差。利用残差数据{(xi,rm,i)},i=1,2,...,N训练出第m棵回归树Tm,其叶节点划分的区域为Rm,j, j=1,2,...,J,J为叶子节点个数,回归树生成使用以下方法:对于特征j的取值s 划分两个子节点:
R1(j,s)={x|xi≤s}和R2(j,s)={x|xi>s}
遍历每个特征j,以及可选取值s,取使损失函数最小的切分点,损失函数如下:
其中,c1、c2分别为R1、R2区间内的输出平均值,为了使平方误差最小,我们需要依次对每个特征的每个取值进行遍历,计算出当前每一个可能的切分点的误差,最后选择切分误差最小的点将输入空间切分为两个部分,然后递归上述步骤,直到切分结束。
对于回归树Tm的每一个叶节点,计算其输出值
cm,j为第m棵回归树的第j个叶子节点的输出值,更新分类器,将结果累加。
判断是否完成循环,如果循环未结束则继续循环,如果循环结束进行步骤 (3)。
(3)得到最终提升回归树
输出:梯度提升树H(x)。
虽然得到梯度提升树,但在本研究中,不使用GBDT直接分类,而是生成二次特征如图2所示,将数据输入到GBDT分类器中,通常情况GBDT可以直接进行预测,但梯度提升支持向量基模型,使用GBDT生成二次特征,根据GBDT 分类器叶子节点的分类情况生成二次特征,使用独热编码,生成预测概率所属的叶子节点的位置标记为1,其余标记为0;如图2,有两棵树共五个叶子节点,第一棵树的第二个节点和第二棵树的第二个节点生成预测结果,进行独热编码为[0,1,0,0,1];然后将二次特征输入到SVM分类器中进行软件缺陷预测,最终输出对于数据的缺陷倾向性预测,即输入软件模块数据是否有软件缺陷。使用 GBDT去学习特征之间的关联性。GBDT中前建立的树,特征分裂主要体现对多数样本有区分度的特征;后建立的树,主要体现的是经过前N颗树,残差仍然较大的少数样本。优先选用在整体上有区分度的特征,再选用针对少数样本有区分度的特征,思路更加合理,这应该也是用GBDT的原因。不选择单一决策树是因为一棵树的表达能力很弱,不足以表达多个有区分性的特征组合,多棵树的表达能力更强一些。可以更好的发现有效的特征和特征组合。
S5:将对应于同一个特征向量的各独热编码串联,得到独热编码向量,然后将各独热编码向量作为输入,各独热编码向量对应的待测样本是否有缺陷作为输出,对支持向量机进行训练,得到支持向量机预测模型。
需要说明的是,支持向量机也是一种常见的弱学习器,其运算过程如下:
在软件缺陷预测中有缺陷类和无缺陷类被一条直线分隔开,该直线就称为分隔超平面,如图3所示,也就是分类的决策边界,判别函数为:
G(x)=wx+b
w和b为需要训练的参数,x为输入数据,分类面的表达式就是:
wx+b=0
但是分隔两组数据的直线存在多个,这时候就要选择一个最优分类超平面,要得到最优超平面首先需要了解分类间隔,分类间隔就是选择离分隔超平面最近的点,确保它们离分割超平面尽可能的远,间隔被定义为:
δi=yi(wxi+b)=g
对其归一化后得到:
支持向量(supportvectors)就是那些离分隔超平面最近的点。对判别函数归一化后要满足|g(x)|>=1,所以要正确分类所有样本就要满足:
yi(wxi+b)≥1i=1,2,...,l
此时分类间隔为2/||w||,要使得间隔最大就要让||w||2/2的值最小,所以满足上式并且||w||2/2的取值最小就可以得到最优分类超平面。新的测试数据经过计算就可也得到测试类别。
支持向量机通过引入松弛系数来解决存在异常点的线性不可分问题,对每个样本引入一个松弛变量ξi≥0,约束条件就变成了:
yi(wxi+b)≥1-ξi
然后可以把优化的目标函数变成:
其中,N代表数据集的个数,C代表惩罚因子,松弛变量ξi实际就是数据样本违反最大间距规则的程度,对于大部分线性可分的样本点即满足约束条件的样本,松弛变量ξi=0,但是对于违反最大间距规则的样本来说,松弛变量ξi>0。 C就是用来对违反最大间距规则的样本的惩罚力度,也就是表示当C取值很大时,目标函数对违反最大间距规则的样本惩罚力度很大,当C取值较小时,目标函数对违反最大间距规则的样本惩罚力度不大。所以引入松弛系数的作用就是让支持向量机对噪声数据有更好的适应性。
S6:将所述支持向量机预测模型与各梯度提升树串联,得到软件缺陷预测模型。
需要说明的是,此时可以采用测试集中待测程序来验证所得到的软件缺陷预测模型的预测精度,若精度达不到要求,可以重新提取不同的特征,或者采用不同的特征组合再次训练梯度提升树和支持向量机,直到精度满足要求。
S7:将待测程序的特征向量输入所述软件缺陷预测模型,实现软件缺陷的预测。
对于软件缺陷预测模型的评估,由于结果是一个二分类结果,本研究的模型评估采用分类结果混淆矩阵用于计算四种评价指标,它根据样本的真实类别和模型预测的结果可以分为真正例(true positive)、假正例(false positive)、真反例(true negative)和假反例(false negative)四种情况各评价指标计算方式如表2所示,根据混淆矩阵得到的真正例、假正例、真反例和假反例计算正确率,精准率,召回率和F值。
表2
正确率:
精准率:
召回率:
F值:
使用上述评价标准进行软件缺陷模型的性能评价。
由此可见,本发明根据软件缺陷数据集数据不平衡问题,提出了梯度提升树支持向量机(GBDT+SVM)模型,具体的,使用梯度提升树缓解数据不平衡问题,使用独热编码生成软件缺陷数据集的组合特征,再使用组合特征进行软件缺陷预测,从而解决软件缺陷预测中的类不平衡问题和特征关联性问题;然后使用梯度提升树生成二次组合特征,解决数据关联性问题;实验数据集使用 NASA MDP软件缺陷数据集;对于数据分类算法,考虑到MDP数据集的小样本特点,选取的分类方法是在解决小样本数据的情况下有很大优势的支持向量机分类算法;也就是说,本发明不是人工根据先验知识或搜索算法进行组合,而是通过梯度提升树进行自发的特征组合,然后使用梯度提升树组合而成的特征进行支持向量机分类,使用特征组合的方式缓解数据不平衡的问题,以提高准确率和精度。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (5)
1.一种基于梯度提升树支持向量机的软件缺陷预测方法,其特征在于,包括以下步骤:
S1:从NASA软件缺陷预测数据集中获取训练集;
S2:分别采用代码行数度量法、Halstead科学度量法、McCabe度量法以及CK度量法对训练集中的待测样本进行特征提取,得到各待测样本对应的特征向量,其中,特征向量包括两个以上的特征;
S3:构建两棵以上的梯度提升树,且每棵梯度提升树至少有两个子节点,其中,每个梯度提升树只有一个子节点输出决策结果,且各梯度提升树的节点数量不完全相同;
S4:将所有特征向量均输入到各梯度提升树中进行自动特征组合,然后将各梯度提升树输出决策结果的节点的状态设置为1,其余节点的状态设置为0,得到各梯度提升树对应的独热编码;
S5:将对应于同一个特征向量的各独热编码串联,得到独热编码向量,然后将各独热编码向量作为输入,各独热编码向量对应的待测样本是否有缺陷作为输出,对支持向量机进行训练,得到支持向量机预测模型;
S6:将所述支持向量机预测模型与各梯度提升树串联,得到软件缺陷预测模型;
S7:将待测程序的特征向量输入所述软件缺陷预测模型,实现软件缺陷的预测。
2.如权利要求1所述的一种基于梯度提升树支持向量机的软件缺陷预测方法,其特征在于,采用代码行数度量法提取的特征包括注释行、实际运行行数以及方法行数。
3.如权利要求1所述的一种基于梯度提升树支持向量机的软件缺陷预测方法,其特征在于,采用Halstead科学度量法提取的特征包括程序长度、程序容量、语言等级、编写效率以及编写耗时。
4.如权利要求1所述的一种基于梯度提升树支持向量机的软件缺陷预测方法,其特征在于,采用McCabe度量法提取的特征包括程序循环结构的数量与程序选择结构的数量。
5.如权利要求1所述的一种基于梯度提升树支持向量机的软件缺陷预测方法,其特征在于,采用CK度量法提取的特征包括类中方法数、类继承深度、类的直接子类个数、类的耦合类个数、类中方法调用总数以及类内方法引用实例数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303294.0A CN111522743B (zh) | 2020-04-17 | 2020-04-17 | 一种基于梯度提升树支持向量机的软件缺陷预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303294.0A CN111522743B (zh) | 2020-04-17 | 2020-04-17 | 一种基于梯度提升树支持向量机的软件缺陷预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522743A CN111522743A (zh) | 2020-08-11 |
CN111522743B true CN111522743B (zh) | 2021-10-22 |
Family
ID=71904010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010303294.0A Active CN111522743B (zh) | 2020-04-17 | 2020-04-17 | 一种基于梯度提升树支持向量机的软件缺陷预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522743B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199280B (zh) * | 2020-09-30 | 2022-05-20 | 三维通信股份有限公司 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763096A (zh) * | 2018-06-06 | 2018-11-06 | 北京理工大学 | 基于深度信念网络算法支持向量机的软件缺陷预测方法 |
CN108829607A (zh) * | 2018-07-09 | 2018-11-16 | 华南理工大学 | 一种基于卷积神经网络的软件缺陷预测方法 |
CN110232400A (zh) * | 2019-04-30 | 2019-09-13 | 冶金自动化研究设计院 | 一种梯度提升决策神经网络分类预测方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086761B2 (en) * | 2017-03-20 | 2021-08-10 | Devfactory Innovations Fz-Llc | Defect prediction operation |
US10127038B1 (en) * | 2017-04-21 | 2018-11-13 | Aetna Inc. | Software defect reduction |
CN107957946B (zh) * | 2017-12-01 | 2020-10-20 | 北京理工大学 | 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法 |
CN110930038A (zh) * | 2019-11-28 | 2020-03-27 | 中国建设银行股份有限公司 | 一种贷款需求识别方法、装置、终端及存储介质 |
-
2020
- 2020-04-17 CN CN202010303294.0A patent/CN111522743B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763096A (zh) * | 2018-06-06 | 2018-11-06 | 北京理工大学 | 基于深度信念网络算法支持向量机的软件缺陷预测方法 |
CN108829607A (zh) * | 2018-07-09 | 2018-11-16 | 华南理工大学 | 一种基于卷积神经网络的软件缺陷预测方法 |
CN110232400A (zh) * | 2019-04-30 | 2019-09-13 | 冶金自动化研究设计院 | 一种梯度提升决策神经网络分类预测方法 |
Non-Patent Citations (1)
Title |
---|
基于不平衡数据类分布学习的特征选择方法;李克文 等;《计算机与数字工程》;20190930(第9期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111522743A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Imran et al. | Student academic performance prediction using supervised learning techniques. | |
Petrić et al. | Building an ensemble for software defect prediction based on diversity selection | |
CN112465040B (zh) | 一种基于类不平衡学习算法的软件缺陷预测方法 | |
CN109740859A (zh) | 基于主成分分析法和支持向量机的变压器状态评估方法及系统 | |
CN111090579B (zh) | 基于皮尔森相关性加权关联分类规则的软件缺陷预测方法 | |
CN112924177A (zh) | 一种改进深度q网络的滚动轴承故障诊断方法 | |
CN108416032A (zh) | 一种文本分类方法、装置及存储介质 | |
CN111309577B (zh) | 一种面向Spark的批处理应用执行时间预测模型构建方法 | |
CN110929028A (zh) | 一种日志分类方法及装置 | |
CN111522743B (zh) | 一种基于梯度提升树支持向量机的软件缺陷预测方法 | |
CN110717602A (zh) | 一种基于噪音数据的机器学习模型鲁棒性评估方法 | |
Neela et al. | Modeling Software Defects as Anomalies: A Case Study on Promise Repository. | |
CN116701222A (zh) | 基于特征加权迁移学习的跨项目软件缺陷预测方法及系统 | |
CN111950652A (zh) | 一种基于相似度的半监督学习数据分类算法 | |
Sandhu et al. | A density based clustering approach for early detection of fault prone modules | |
CN114139636B (zh) | 异常作业处理方法及装置 | |
CN114706780A (zh) | 一种基于Stacking集成学习的软件缺陷预测方法 | |
CN115410250A (zh) | 阵列式人脸美丽预测方法、设备及存储介质 | |
CN111026661B (zh) | 一种软件易用性全面测试方法及系统 | |
CN113448840A (zh) | 基于预测缺陷率和模糊综合评价模型的软件质量评价方法 | |
Şahan et al. | A new classifier based on attribute weighted artificial immune system (AWAIS) | |
Jabbari et al. | Obtaining accurate probabilistic causal inference by post-processing calibration | |
Ayesha et al. | Review on code examination proficient system in software engineering by using machine learning approach | |
Gai et al. | Software defect prediction based on weighted extreme learning machine | |
Savcı et al. | DIAGNOSIS OF THYROID DISEASE USING MACHINE LEARNING TECHNIQUES. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |