CN110659207B - 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 - Google Patents
基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 Download PDFInfo
- Publication number
- CN110659207B CN110659207B CN201910824735.9A CN201910824735A CN110659207B CN 110659207 B CN110659207 B CN 110659207B CN 201910824735 A CN201910824735 A CN 201910824735A CN 110659207 B CN110659207 B CN 110659207B
- Authority
- CN
- China
- Prior art keywords
- source data
- data
- mapping
- target data
- function
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000007547 defect Effects 0.000 title claims abstract description 46
- 238000013507 mapping Methods 0.000 title claims abstract description 42
- 238000001228 spectrum Methods 0.000 title claims abstract description 18
- 230000010354 integration Effects 0.000 title claims abstract description 12
- 238000013508 migration Methods 0.000 title claims abstract description 12
- 230000005012 migration Effects 0.000 title claims abstract description 12
- 230000006870 function Effects 0.000 claims abstract description 56
- 238000005070 sampling Methods 0.000 claims abstract description 15
- 238000009826 distribution Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000005484 gravity Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000013522 software testing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000000052 comparative effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000010219 correlation analysis Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000001276 Kolmogorov–Smirnov test Methods 0.000 description 1
- 238000000585 Mann–Whitney U test Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,包括基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签。该方法具有较高的缺陷预测准确率,有利于提高软件测试的工作效率。
Description
技术领域
本发明涉及软件缺陷预测技术领域,特别涉及一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法。
背景技术
软件缺陷预测是指利用给定的软件项目的历史缺陷数据,通过统计或机器学习的方法寻找软件模块度量元与软件缺陷之间的映射关系,然后对该项目的新模块的缺陷状况进行预测。如果没有足够的历史缺陷数据,则需要利用跨项目的软件缺陷预测技术。跨项目软件缺陷预测是指利用其他软件项目的历史缺陷数据(源数据)建立预测模型,然后用于新的软件项目(目标数据),对其缺陷状况进行预测。跨项目软件缺陷预测可分为同构跨项目缺陷预测和异构跨项目缺陷预测。其中,前者假设源数据与目标数据的度量元集完全相同(比如,度量元的数目、类型、以及顺序);而后者则假设两者的度量元集不相同。同构跨项目软件缺陷预测模型的构建难度远低于异构跨项目软件缺陷预测模型的构建难度。
现有的异构跨项目缺陷预测方法主要思想是通过特征空间变换寻找最优的公共特征子空间以减小源数据与目标数据之间的分布差异。但是现有方法往往存在如下问题:
(1)忽视源数据的分布不平衡性的影响;
(2)忽视特征空间变换前后数据集原始特征的信息损失问题;
(3)没考虑通过多个子空间去覆盖最优的公共特征子空间。
因此,上述问题导致现有预测方法的预测性能难以达到较为理想的预测效果。
发明内容
鉴于上述问题,本发明提供了一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,该方法引入抽样层次的非平衡学习、考虑分布差异和信息损失,构造新的优化目标函数;并引入多核学习和集成学习,针对异构跨项目的软件缺陷预测精准度更高。
本发明实施例提供一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,包括:
S1、基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;
S2、根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;
S3、通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;
S4、利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签。
在一个实施例中,所述步骤S1包括:
S11、根据预设理想的正负样本比率ratio,计算原始少数类样本集中每个少数类样本需要生成的新样本的数目N,N>=1;所述样本集中假设样本量为T;
S12、对于每一个少数类样本,以欧氏距离为标准计算其最近的k个近邻;
S13、如果N大于零,则对于原始少数类样本集中的每一个少数类样本xi,从其k个近邻中随机选择一个近邻xneig,按如下方式生成一个相应的新的少数类样本xnew:
xnew=xi+rand*(xneig-xi)
得到T个新的少数类样本;
S14、令N=N-1,继续执行步骤S13,直到N=0;将得到N*T个新的合成的少数类样本,加入到原始的源数据中。
在一个实施例中,所述步骤S2,包括:
利用Z-score算法分别对源数据S和目标数据T进行标准化;
使用简单随机过抽样方法对源数据S和目标数据T中样本数目较少的数据集进行过抽样,以保证源数据集和目标数据集有相同的样本数;
将预处理后的S和T经过核函数B(·)映射到高维空间后,分别记为Φ(S)和Φ(T);
优化目标为最小化如下函数:
其中,第一、二项分别表示源数据S和目标数据T映射前后各自损失的信息,最后一项中的β是一个表示权重的常数,D(BΦ(S),BΦ(T))表示映射后源数据与目标数据之间的分布差异,并且定义为:
D(BΦ(S),BΦ(T))=L(BΦ(S),Φ(T))+L(BΦ(T),Φ(S));
用矩阵的F范数来表示上式中的损失函数L(·),优化目标转化为:
在一个实施例中,所述步骤S3,包括:
根据多核函数,对所述源数据进行随机抽样,生成M个子集,对每个子集进行非平衡处理;M>0;
将多核函数代入到核函数B(·)中,求解各个子集上的最优映射,得到M组映射空间;
在每组映射空间上,分别训练一个分类器,得到M个分类器。
在一个实施例中,所述步骤S4,包括:
M个分类器的预测模型hi,i=1,…,M,假设每个模型的权重为wi,i=1,…,M,则给定一个样本,集成模型的预测结果可表示为:
式中,xi为少数类样本。
在一个实施例中,所述多核函数,包括:
给定样本矩阵X,在高斯函数的基础上,多核函数为:
其中,wi表示第i个核函数的比重,dist(XT)是一个方阵A,sum(var(X))表示X的各个特征的方差的和,m表示高斯核函数的数目。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签。该方法具有较高的缺陷预测准确率,有助于提高软件测试的工作效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的基于核谱映射迁移集成的异构跨项目软件缺陷预测方法流程图;
图2为本发明实施例提供的基于核谱映射迁移集成的异构跨项目软件缺陷预测方法又一流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1所示,本发明实施例提供的基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,包括:S1~S4;
S1、基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;
S2、根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;
S3、通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;
S4、利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签。
本实施例中,首先,利用基于过抽样的非平衡学习方法对源数据,即:训练数据,进行预处理,降低数据集的非平衡性;其次,通过同时考虑两个分布的差异信息,以及谱映射(特征空间变换)造成的信息损失,构造新的目标函数;接着,引入多核学习和集成学习,即通过多核学习把原始空间映射到多个高维空间,在每个高维空间对上述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器,然后把利用集成学习原理把所有的分类器进行综合集成生成最终的预测模型;最后,利用预测模型预测目标数据的标签。
下面分别对上述S1-S4各个步骤进行详细说明。
软件缺陷数据具有天然的非平衡性,即大多数软件模块没有缺陷,大多数的软件缺陷存在于少数的软件模块中。数据的非平衡性会造成预测模型产生偏差,降低预测性能。
机器学习领域的非平衡学习方法可分为数据层面的方法(如过抽样,欠抽样)和算法层面的方法(如代价敏感学习)。合成少数类过采样技术(SMOTE:Synthetic MinorityOver-sampling Technique)是最著名的过抽样方法。
步骤S1中将采用SMOTE对源数据进行预处理,降低数据的非平衡性。SMOTE算法描述如下:
S11:根据预设的理想的正负样本比率ratio,计算原始少数类样本集(假设样本量为T)中每个少数类样本需要生成的新样本的数目N(N>=1);
S12:对于每一个少数类样本,以欧氏距离为标准计算其最近的k个近邻;
S13:如果N大于零,则对于原始少数类样本集中的每一个少数类样本xi,从其k个近邻中随机选择一个近邻xneig,按如下方式生成一个相应的新的少数类样本xnew:
xnew=xi+rand*(xneig-xi),
如此,可以得到T个新的少数类样本;
S14:令N=N-1,继续执行步骤S13,直到N=0。最终可以得到N*T个新的人工合成的少数类样本。将新的人工样本加入到原始的源数据中即可。
其中,在本实施例中,令k=5,ratio=0.85。
上述步骤S2中,对于目标函数,在最小化源数据与目标数据分布差异的同时,最小化源数据与目标数据在特征变换后的信息损失。其作用是:在保证源数据和目标数据在新的空间中的相似度最大化的同时,尽量保留能够反映原始数据分布特征的信息,这些信息是保证预测模型性能的重要因素。算法描述如下:
给定源数据S和目标数据T,首先对其进行预处理,即,剔除重复样本以及含缺失值的样本;对S进行过抽样以降低数据的非平衡度;利用Z-score方法分别对S和T进行标准化。Z-score的原理如下:
使用简单随机过抽样方法对源数据S和目标数据T中样本数目较少的数据集进行过抽样,以保证源数据集和目标数据集有相同的样本数。
把预处理后的S和T经过核函数B(·)映射到高维空间后分别记为Φ(S)和Φ(T)。则优化目标为最小化如下函数:
其中,第一、二项分别表示源数据S和目标数据T映射前后各自损失的信息,最后一项中的β是一个表示权重的常数,D(BΦ(S),BΦ(T))表示映射后源数据与目标数据之间的分布差异,并且定义为:
D(BΦ(S),BΦ(T))=L(BΦ(S),Φ(T))+L(BΦ(T),Φ(S))。
进一步地,可以用矩阵的F范数来表示上式中的损失函数L(·),即:
则,优化目标可转化为:
根据龙格库塔条件,上述优化问题等价于如下优化问题:
A2=A3=β(Φ(S)Φ(S)T+Φ(T)Φ(T)T)=β(K(S,S)+K(T,T)).
根据Ky-Fan定理可得,最优映射B是A的前k个最大的特征向量,并且B的前半部分和后半部分分别就是需要求解的BΦ(T)和BΦ(S)。
上述步骤S3-S4中,引入多核学习和集成学习技术,利用多核学习构造多个特征核空间,在每个核空间上优化步骤S2中的目标函数,这样可以训练得到多个分类器,最后把这些分类器进行集成构成一个强分类器,即最终的预测模型。其作用是:核函数的引入可以有效解决非线性问题,多核则增加了核空间的多样性,多核子空间更容易找到最优的公共子空间,集成学习则把各个子空间上训练得到的模型进行综合,进而保障最终的分类器(预测模型)为强分类器。具体算法描述如下:
首先,先介绍本发明实施例采用的多核函数的结构。多核函数是在高斯函数基础上构造的,而高斯核函数如下式所示:
则,给定样本矩阵X,在高斯函数的基础上,多核函数为:
其中,wi表示第i个核函数的比重,dist(XT)是一个方阵A(Aij表示X的第i个样本与第j个样本之间的欧氏距离),sum(var(X))表示X的各个特征的方差的和,m表示高斯核函数的数目。在本实施例中,m=3,w={0.1,1,1.5}。
其次,通过对源数据进行随机抽样(包括样本随机抽样和特征随机抽样),生成M个子集,对每个子集进行如S1步骤中的预处理(非平衡处理),并把多核函数代入到S2步骤中核函数求解各个子集上的最优映射,这样可以得到M组映射空间。
接着,在每组映射空间上,分别训练一个预测模型(如逻辑回归模型、决策树等),这样总共可以得到M的预测模型hi,i=1,…,M,假设每个模型的权重为wi,i=1,…,M,则给定一个样本,集成模型的预测结果可表示为:
式中,xi为少数类样本。
本发明实施例,基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,其预测结果在从多个分类性能评价指标(包括G-measure和MCC,具体含义如下)来看,本发明实施例的预测效果均显著优于现有技术的预测效果。
其中,G-Measure和MCC可通过混淆矩阵进行计算,混淆矩阵的定义如下表所示:
表1混淆矩阵
假设给定一组样本,这组样本可以分为两类,通常把样本数目较少的那一类成为正类(或者少数类),而把另外一类称为负类(或多数类)。表1中,TP是指样本实际标签为正类且预测标签也为正类的样本的数目,FP是指样本实际标签为负类但预测标签为正类的样本的数目,FN表示样本实际标签为正类但预测标签为负类的样本的数目,TN是指被正确预测的负样本的数目。
根据样本的实际标签和预测标签,可以很容易得到混淆矩阵,由混淆矩阵可以按下式直接计算G-Measure和MCC:
其中,G-Measure的取值范围为[0,1],其值越大代表模型的预测性能越好。MCC的取值范围为[-1,1],其值越大越好。
如图2所示,给定带标签的源数据{S,Y}和无标签的目标数据T,其中源数据和目标数据的度量元集合是异构的,本发明实施例针对的目的是利用有标签的源数据构建异构跨项目缺陷预测模型,以预测目标数据的标签。
首先,对源数据进行非平衡处理;其次,对处理后的源数据进行抽样构造多个子集;接着,在每个子集上执行核谱映射,寻找最优的公共子空间,并训练一个常规的预测模型并进行预测;然后,为每一个模型分配一个权重,把各个模型的预测结果(样本预测为正类的概率值)依据权重进行线性加权求和,得到最终的预测的标签;最后,结合预测标签和实际标签,可计算G-Measure和MCC进而评价模型的预测性能。
下面再通过一个具体的验证过程来说明本发明实施例的预测结果:
1.实验数据集:来源于三个软件缺陷仓库(即AEEEM,NASA,PROMISE)的共10个软件缺陷数据集,统计结果如表2所示。
其中AEEEM是由D’Ambros等人收集和发布的,AEEEM中的每个数据集包含61个类水平的度量元(具体包括17source code metrics(CK and other 11object-orientedmetrics),17entropy of source code metrics,17churn of source code metrics,5entropy of change metrics,and some other metrics)。
NASA软件缺陷数据仓库是由美国国家航空航天局收集并发布的,这些软件项目大都是基于C语言的嵌入式软件。每个数据集包含若干方法水平的度量元(metric),如Halstead metrics,McCabe metrics等。
PROMSIE是由Jureczko and Madeyski收集并发布的,每个数据集包含20个类水平的度量元,比如CK metrics,QMOOD metrics。
表2实验数据
2.对比模型:这里使用三个对比模型HDP-KS,CCA+,CTKCCA。具体如下:
(1)HDP-KS:由Nam等人于2018年提出,其原理是:首先利用特征选择方法剔除源数据中冗余以及相关度低的特征;接着利用Kolmogorov–Smirnov检验完成源数据与目标数据之间的特征的匹配,特征匹配的目的是减小源数据与目标数据之间的差异;完成特征匹配后,进行传统的建模和预测。
(2)CCA+:由Jing等人于2015年提出,其原理是在文中所提出的统一度量元(Unified Metric Representation,UMR)的基础上,利用统计学中的典型相关分析(Canonical Correlation Analysis,CCA)技术寻找潜在的公共子空间,进而构建模型以进行预测。具体来说,UML由三部分组成:源数据与目标数据共有的度量元,源数据特有的度量元,以及目标数据特有的度量元。
(3)CTKCCA:由Li等人于2018提出,其原理是在核典型相关分析(KernelCanonical Correlation Analysis,KCCA)的基础上,引入代价敏感学习(Cost-sensitiveLearning),以构建异构跨项目软件缺陷预测模型。
3.实验设置:
实验数据为10个来源于三个不同组织(AEEEM,PROMISE,NASA)的软件缺陷数据集,不同组织的数据集之间是异构的(度量元不同),同一个组织的数据集之间是同构的(度量元相同)。为模拟异构跨项目软件缺陷预测场景,需要保证源数据与目标数据的度量元是异构的,所以必须保证源数据集与目标数据集来源于不同的组织。
假设随机选择一个NASA数据集作为源数据,则目标数据必须来自于PROMISE或AEEEM。按照这样的方式,10个数据集总共有66种组合方式(比如,其中箭头左侧表示源数据,箭头右侧表示目标数据)。为降低随机因素的影响,对于给定的组合,打乱源数据样本次序并随机抽取90%的数据作为训练数据,然后训练模型并完成预测,然后重复上述过程30次,计算30次预测性能的平均值作为模型在当前组合上的最终性能。
另外,这里采用Wilcoxon rank-sum test(5%)来检验本发明所提模型的性能与对比模型是否有显著差别。5%表示显著水平。
4.实验结果:
如前所述,使用两个性能指标(G-measure和MCC)评估模型的预测性能。表3和表4分别给出了各种预测模型针对性能指标G-measure和MCC的对比结果。表3中的第一列表示不同的实验组合(如前文所述共66组),第二列显示本发明所提技术在不同是实验数据上的预测性能,第三、四、五列表示三个对比模型各自的预测性能。另外,表中最后一行(Average)表示各个模型在所有实验组合上的预测性能的平均值;倒数第二行(Win\Tie\Lose),表示本发明所提预测模型相比于相应对比模型在所有实验组合“显著优于”\“无显著差别”\“显著弱于”相应对比模型的实验组合的数目。
从表3可以看出,就预测性能指标G-Measure而言,本发明所提供的预测模型在大多数实验组合上都显著优于对比模型。本发明所提供的模型在所有实验上获得的G-Measure平均值为0.575,远远高于对比模型的G-Measure平均值(HDP-KS:0.047,CCA+:0.029,CTKCCA:0.02)。
表3不同预测模型的在各个实验组合上的G-Measure性能
表4不同预测模型的在各个实验组合上的MCC性能
从表4可以看出,就预测性能指标MCC而言,本发明所提预测模型在大多数实验组合上都显著优于对比模型。本发明所提模型在所有实验上获得的MCC平均值为0.198,远远高于对比模型的G-Measure平均值(HDP-KS:0.092,CCA+:0.231,CTKCCA:0.276)。
综上所述,无论从性能指标G-measure还是MCC来看,本发明所提模型的预测性能均显著优于已有模型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (5)
1.一种基于核谱映射迁移集成的异构跨项目软件缺陷预测方法,其特征在于,包括:
S1、基于过抽样的非平衡学习过程对源数据进行预处理;所述源数据为软件项目的历史缺陷数据;
S2、根据所述源数据与目标数据分布的差异信息,以及谱映射造成的信息损失,构建目标函数;所述目标数据为待预测的异构跨项目软件;
S3、通过多核学习把原始空间映射到多个高维空间,在每个高维空间上对所述目标函数进行最优化以寻找最优公共子空间,在每个公共子空间上训练一个分类器;
S4、利用集成学习把所有所述分类器进行综合集成,生成预测模型;根据所述预测模型预测所述目标数据的标签;
所述步骤S2,包括:
利用Z-score算法分别对源数据S和目标数据T进行标准化;
使用随机过抽样方法对源数据S和目标数据T中样本数目较少的数据集进行过抽样;
将预处理后的S和T经过核函数B(·)映射到高维空间后,分别记为Φ(S)和Φ(T);
优化目标为最小化如下函数:
其中,第一、二项分别表示源数据S和目标数据T映射前后各自损失的信息,最后一项中的β是一个表示权重的常数,D(BΦ(S),BΦ(T))表示映射后源数据与目标数据之间的分布差异,并且定义为:
D(BΦ(S),BΦ(T))=L(BΦ(S),Φ(T))+L(BΦ(T),Φ(S));
用矩阵的F范数来表示上式中的损失函数L(·),优化目标转化为:
2.如权利要求1所述的方法,其特征在于,所述步骤S1包括:
S11、根据预设理想的正负样本比率ratio,计算原始少数类样本集中每个少数类样本需要生成的新样本的数目N,N>=1;所述样本集中假设样本量为T;
S12、对于每一个少数类样本,以欧氏距离为标准计算其最近的k个近邻;
S13、如果N大于零,则对于原始少数类样本集中的每一个少数类样本xi,从其k个近邻中随机选择一个近邻xneig,按如下方式生成一个相应的新的少数类样本xnew:
xnew=xi+rand*(xneig-xi)
得到T个新的少数类样本;
S14、令N=N-1,继续执行步骤S13,直到N=0;将得到N*T个新的合成的少数类样本,加入到原始的源数据中。
3.如权利要求1所述的方法,其特征在于,所述步骤S3,包括:
根据多核函数,对所述源数据进行随机抽样,生成M个子集,对每个子集进行非平衡处理;M>0;
将多核函数代入到核函数B(·)中,求解各个子集上的最优映射,得到M组映射空间;
在每组映射空间上,分别训练一个分类器,得到M个分类器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824735.9A CN110659207B (zh) | 2019-09-02 | 2019-09-02 | 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824735.9A CN110659207B (zh) | 2019-09-02 | 2019-09-02 | 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659207A CN110659207A (zh) | 2020-01-07 |
CN110659207B true CN110659207B (zh) | 2020-09-08 |
Family
ID=69036706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910824735.9A Expired - Fee Related CN110659207B (zh) | 2019-09-02 | 2019-09-02 | 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659207B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258905B (zh) * | 2020-01-19 | 2023-05-23 | 中信银行股份有限公司 | 缺陷定位方法、装置和电子设备及计算机可读存储介质 |
CN111782548B (zh) * | 2020-07-28 | 2022-04-05 | 南京航空航天大学 | 一种软件缺陷预测数据处理方法、装置及存储介质 |
CN112015659A (zh) * | 2020-09-02 | 2020-12-01 | 三维通信股份有限公司 | 基于网络模型的预测方法及装置 |
CN112199280B (zh) * | 2020-09-30 | 2022-05-20 | 三维通信股份有限公司 | 软件的缺陷预测方法和装置、存储介质和电子装置 |
CN112905468A (zh) * | 2021-02-20 | 2021-06-04 | 华南理工大学 | 基于集成学习的软件缺陷预测方法、存储介质和计算设备 |
CN113626316A (zh) * | 2021-07-27 | 2021-11-09 | 江苏大学 | 一种基于特征映射与属性补偿技术的软件缺陷预测模型 |
CN113705616B (zh) * | 2021-07-30 | 2024-05-10 | 三维通信股份有限公司 | 模型构建方法、软件缺陷预测方法、装置以及电子装置 |
CN113837266B (zh) * | 2021-09-22 | 2022-05-20 | 西南民族大学 | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 |
CN114297054B (zh) * | 2021-12-17 | 2023-06-30 | 北京交通大学 | 一种基于子空间混合抽样的软件缺陷数目预测方法 |
CN115858209B (zh) * | 2022-11-17 | 2023-06-20 | 北京航空航天大学 | 基于信息保留协同优化的异构跨项目软件缺陷预测方法 |
CN116629374B (zh) * | 2023-04-13 | 2023-12-26 | 南京大学 | 一种针对异构特征空间学件的查搜与复用方法 |
CN116842330B (zh) * | 2023-08-31 | 2023-11-24 | 庆云县人民医院 | 一种可对比历史记录的保健信息处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838409B2 (en) * | 2015-10-08 | 2017-12-05 | Cisco Technology, Inc. | Cold start mechanism to prevent compromise of automatic anomaly detection systems |
CN106022382A (zh) * | 2016-05-26 | 2016-10-12 | 东南大学 | 面向复杂数据的混合范数多不定核分类方法 |
CN107391369B (zh) * | 2017-07-13 | 2020-03-24 | 武汉大学 | 一种基于数据筛选和数据过采样的跨项目缺陷预测方法 |
-
2019
- 2019-09-02 CN CN201910824735.9A patent/CN110659207B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
A varying coefficient approach to estimating hedonic housing price functions and their quantiles;Wan, Alan T. K等;《Journal of Applied Statistics》;20171231;第44卷(第11期);第1979-1999页 * |
基于矩阵分解和非凸秩近似的低秩表示算法;李帅;《电子世界》;20181231(第7期);第32-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659207A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659207B (zh) | 基于核谱映射迁移集成的异构跨项目软件缺陷预测方法 | |
Khatri et al. | Wheat seed classification: utilizing ensemble machine learning approach | |
CN110289050B (zh) | 一种基于图卷积和词向量的药物-靶标相互作用预测方法 | |
CN112417028B (zh) | 一种风速时序特征挖掘方法及短期风电功率预测方法 | |
CN110930198A (zh) | 基于随机森林的电能替代潜力预测方法、系统、存储介质及计算机设备 | |
CN111950622B (zh) | 基于人工智能的行为预测方法、装置、终端及存储介质 | |
CN106203534A (zh) | 一种基于Boosting的代价敏感软件缺陷预测方法 | |
CN115641162A (zh) | 一种基于建筑工程造价的预测数据分析系统和方法 | |
CN114519508A (zh) | 基于时序深度学习和法律文书信息的信用风险评估方法 | |
Jha et al. | Criminal behaviour analysis and segmentation using k-means clustering | |
CN114968774A (zh) | 一种多源异构跨项目软件缺陷预测方法 | |
CN114897085A (zh) | 一种基于封闭子图链路预测的聚类方法及计算机设备 | |
US7272583B2 (en) | Using supervised classifiers with unsupervised data | |
CN117236656B (zh) | 工程项目的信息化管理方法及系统 | |
Sagala et al. | Enhanced churn prediction model with boosted trees algorithms in the banking sector | |
CN117349786B (zh) | 基于数据均衡的证据融合变压器故障诊断方法 | |
CN117574238A (zh) | 基于多门控专家网络的高频电器识别模型构建方法及系统 | |
CN113705920B (zh) | 火电厂用水数据样本集的生成方法和终端设备 | |
Zarif et al. | Improving performance of multi-label classification using ensemble of feature selection and outlier detection | |
CN114816979B (zh) | 一种基于聚类分析和决策树算法的软件缺陷预测方法 | |
Tchórzewski et al. | Cluster analysis on the example of work data of the National Power System. Part 1. Comparative study of methods and conditions | |
Rozhnov et al. | Scheme of optimal ensembles of clustering algorithms with a combined use of the Greedy Heuristics Method and a matched binary partitioning matrix | |
Ai et al. | Virtual screening for COX-2 inhibitors with random forest algorithm and feature selection | |
Bouzaachane | Applying Face Recognition in Video Surveillance for Security Systems | |
Sajja et al. | PREDICTION OF STUDENT PERFORMANCE USING DECISION TREE CLASSIFIER |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200908 |