[发明专利]基于最大互信息和改进Adaboost的软件缺陷数据特征选择方法在审
申请号: | 201610124371.X | 申请日: | 2016-03-04 |
公开(公告)号: | CN105760303A | 公开(公告)日: | 2016-07-13 |
发明(设计)人: | 李克文;邹晶杰 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266580 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于最大互信息和改进Adaboost的软件缺陷数据特征选择方法,可用于指导面向软件缺陷数据的特征选择,包括以下步骤:A.从软件数据集中获取数据,对数据进行预处理,包括对数据做标签处理和根据已有经验知识将软件特征分成三类;B.迭代训练弱分类器,每次迭代选择出最优弱分类器及选择出候选最优特征,根据互信息理论,计算该候选最优特征与目标特征子集中相同类别的特征间的最大相关性,根据条件判断是否将其加入目标特征子集;利用改进的Adaboost样本更新策略更新样本权重;最终输出目标特征子集及强分类器。本发明克服软件特征间的相关性,去除冗余特征,并解决了分类时软件缺陷数据的不平衡性,对于检测少数类(有缺陷的模块)具有很好的性能。 | ||
搜索关键词: | 基于 最大 互信 改进 adaboost 软件 缺陷 数据 特征 选择 方法 | ||
【主权项】:
基于最大互信息和改进Adaboost的软件缺陷数据特征选择方法,其特征在于,主要包括以下两个步骤:A.从软件数据集中获取数据,对数据进行预处理(1)数据包括软件特征集、软件模块,将软件模块数据分为训练集和测试集以备训练和测试;本发明采用十次交叉验证,将数据集分成十份,其中九份做训练,一份做准确度测试;并将数据做标签处理;(2)根据已有知识将特征集分类,得到三个特征集,分别是LOC类,McCabe类和Halstead类;B.根据最大互信息理论与改进的Adaboost进行面向软件缺陷数据的特征选择(1)初始化样本权重{D1(i)}及目标特征子集S![]()
其中,n为样本个数;(2)当t=1…to T,执行以下步骤:(a)在基于权重的训练集上,训练弱分类器
根据分类错误率εt挑选出最优的弱分类器,即选出候选最优特征εt=ΣDt(i)I[ht(xi)≠yi](b)判断候选最优特征f属于何种软件特征,L类,M类还是H类;然后根据互信息理论计算候选最优特征f与目标子集S中与f属于相同类别的特征间的最大相关性max‑cor;max‑cor=max(MI(f,fp))其中,fp∈S,且fp和f是同类别软件特征,MI为两个变量间的互信息,如下公式:![]()
其中,p(x)和p(y)为x和y的边缘分布概率,p(x,y)是x和y的联合分布概率;(c)根据步骤(b)中得到的最大相关性max‑cor,与设定的阈值β进行比较;当max‑cor小于阈值β时,将候选最优特征f加入目标特征子集S,并从特征集F中删除f,同时根据εt计算弱分类器的加权系数αt,将此轮得到的弱分类器ht累加至上一轮获得的强分类器Ht‑1(x),得到Ht(x),继续执行步骤(d),过程如下:F=F‑{f};S=S+{f};![]()
Ht(x)=Ht‑1(x)+αtht;当max‑cor小于阈值β时,只将f从特征集F中删除,过程如下,然后返回至步骤(a);F=F‑{f};(d)按以下策略,更新样本权重{Dt+1(i)}![]()
![]()
(3)输出最终强分类器H(x)及目标特征子集S。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610124371.X/,转载请声明来源钻瓜专利网。