[发明专利]基于互信息的软件缺陷数据特征选择方法在审
申请号: | 201610004279.X | 申请日: | 2016-01-04 |
公开(公告)号: | CN105701013A | 公开(公告)日: | 2016-06-22 |
发明(设计)人: | 李克文;邹晶杰 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266580 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于软件工程领域,具体涉及一种基于互信息的软件缺陷数据特征选择方法,包括以下步骤:A.从软件数据集中获取软件模块数据及软件特征数据,对数据进行预处理,包括标签处理和特征分类;B.利用互信息理论筛选出与类相关性最大的特征,然后进一步计算特征间的相关性,去除冗余的软件特征;该过程中,考虑软件数据的不平衡性,引入了不平衡系数;C.根据得到的最优特征子集建立分类模型,对软件模块进行分类,验证所选特征的有效性。本发明利用互信息理论剔除冗余软件特征,可大大提高运算速度,且针对软件缺陷数据的不平衡性,对互信息进行改进,以此提高少数类的分类精度。 | ||
搜索关键词: | 基于 互信 软件 缺陷 数据 特征 选择 方法 | ||
【主权项】:
基于互信息的软件缺陷数据特征选择方法,其特征在于,主要包括以下三个步骤:A.从软件数据集中获取数据,并做预处理(1)收集软件数据,包括软件特征数据和软件模块数据,并做预处理;将软件模块数据分为训练集和测试集以备训练和测试;本发明采用十次交叉验证,将数据集分成十份,其中九份做训练,一份做准确度测试;(2)根据已有经验知识将特征集分类,得到三个特征集,分别是LOC类,McCabe类和Halstead类(分别简写为L,M,H);(3)根据九份训练集数据,用如下公式求出软件模块的不平衡系数p;
B.利用互信息理论去除冗余软件特征(1)充分考虑数据集的不平衡性,引入不平衡系数,根据下式计算出三个特征集中每个特征fi与类y1和y2的相关性μ(fi),根据相关性大小按降序排列,只取三个特征集中的相关性排名前70%的特征,此时,特征集总剩余t个特征;μ(fi)=logp×MI(fi,y1)+MI(fi,y2)其中,![]()
式中p(fi)表示特征fi在两个类中出现的总概率,p(fi|y1),p(fi|y2)分别为特征fi在两个类中出现的概率;(2)仍根据互信息理论分别计算三个被筛减后的特征集中两两特征间的相关性,得到特征相关性矩阵;L类特征相关性矩阵 M类特征相关性矩阵 H类特征相关性矩
根据最小冗余标准计算公式,去除与排名靠前特征相关性大的特征,得到最终的最优特征子集S,保证S的大小为k;![]()
C.根据选择出的软件特征,可以利用SVM对其进行分类效果检测,建立最终分类模型;对于软件缺陷预测,分类结果采用Gmeans验证特征选择结果的有效性和精确度;最终根据得到的最优特征子集S建立分类模型;![]()
其中,A为实际有缺陷且分类正确的模块数,B为实际有缺陷但被分类错误的模块数,C为实际无缺陷但被分类错误的模块数,D为实际无缺陷且分类正确的模块数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610004279.X/,转载请声明来源钻瓜专利网。