1.一种面向跨公司软件缺陷预测的数据变换方法,其特征在于包含如下步骤:
步骤1、归一化源项目和目标项目数据,并分别提取每个度量元的多粒度属性特征向量;
步骤2、分别对源项目和目标项目的多粒度属性特征向量进行聚类,并分别对每个簇进行代表属性提取;
步骤3、对代表属性进行一对一属性匹配,并对归一化后的源项目数据和目标项目数据按照聚类序号和匹配顺序重新排列;
步骤4、对于目标项目中的每一个样本实例,使用欧式距离找到源项目中与目标样本最相似的前N个源项目样本,并统计筛选的源项目频次,按照频次对源项目样本进行权重设置。
2.根据权利要求1所述的面向跨公司软件缺陷预测的数据变换方法,其特征在于步骤1所述的归一化数据并提取属性特征向量的具体实施如下:首先对于源项目和目标项目中的每一个属性列中的每一个数据执行x'=(x‑X_min)/(X_max‑X_min)进行数据归一化处理,同时将归一化后的属性列将其按照归一化后的数值从小到大排序后等分成5份,分别提取每一份中的属性特征向量,再将其组合成一个25维的多粒度属性特征向量作为原始属性的代表向量,x'表示归一化后的数值,x表示原始数据,X_min表示该属性列中的最小值,X_max表示该属性列中的最大值。
3.根据权利要求1所述的面向跨公司软件缺陷预测的数据变换方法,其特征在于步骤2所述的对多粒度属性特征向量聚类并进行代表属性提取,具体实施如下:对于源项目s的m个属性,将相关距离作为属性间聚类的评价指标,使用K‑means聚类方法,将源项目的m个属性分为K个簇,K
4.根据权利要求1所述的面向跨公司软件缺陷预测的数据变换方法,其特征在于步骤3所述的代表属性的匹配及对归一化后的源项目数据和目标项目数据进行数据变换,具体如下:属性匹配操作采用一对一匹配模式;即对于源项目中的每一个属性,分别计算该属性与目标项目的K个代表属性之间的相关距离作为属性间相似度的度量标准;源项目属性与目标项目属性之间的相关性使用一个K*K维的矩阵H来表示,其中Hij表示源项目第i个属性与目标项目第j个属性之间的相关度量,遍历矩阵H依次选取矩阵中最小的数值的横纵坐标作为源项目属性特征向量和目标项目属性特征的匹配对,直至选出K个匹配对,匹配完成;
接着对归一化后的源项目和目标项目数据按照聚类时的属性选择和匹配对进行数据重新分布,使源项目和目标项目数据分布尽可能地一致。
5.根据权利要求1所述的面向跨公司软件缺陷预测的数据变换方法,其特征在于,步骤
4所述的源项目样本权重设置具体过程如下:
对于目标项目中的每一个样本实例,使用欧式距离找到源项目中与该样本最相似的前N个源项目样本作为它的待选样本;对于一个目标项目样本个数为n的数据集来说,会选出n*N个源项目样本与之对应,在n*N个样本中,会有一部分样本会被重复选择多次,而被重复挑选多次的样本更大程度上表示与源项目样本更为相似,应加大其在训练预测模型时的权重,因此对于被目标项目挑选出来的n*N个源项目样本,分别统计其被选中的频次,将该频次作为该样本构造预测模型时的权重信息;使用设置权重的源项目样本训练缺陷预测模型,预测目标项目样本的缺陷情况。