[发明专利]基于改进的Adaboost软件缺陷不平衡数据分类方法在审
申请号: | 201610004546.3 | 申请日: | 2016-01-04 |
公开(公告)号: | CN105677564A | 公开(公告)日: | 2016-06-15 |
发明(设计)人: | 李克文;邹晶杰 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62;G06N3/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266580 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于改进的Adaboost软件缺陷不平衡数据分类方法,主要解决现有软件缺陷数据的分类方法对少数类分类效果差的问题,包括以下步骤:A.从软件数据集中获取软件数据,做预处理。并将软件模块数据分为训练集和测试集以备训练和测试,采用十次交叉验证;B.利用基于改进的遗传算法与BP神经网络结合进行软件数据的特征选择,得到最优特征子集,从而对软件特征进行降维处理;C.根据得到的最优特征子集,充分考虑软件缺陷数据的不平衡性,训练基于改进的Adaboost分类器,对软件模块进行分类。本发明可提高少数类的分类精度,更好地检测软件缺陷模块。 | ||
搜索关键词: | 基于 改进 adaboost 软件 缺陷 不平衡 数据 分类 方法 | ||
【主权项】:
基于改进的Adaboost软件缺陷不平衡数据分类方法,其特征在于,主要包括以下三个步骤:A.从软件数据集中获取数据,包括软件特征集和软件模块,并对其进行预处理;将软件模块数据分为训练集和测试集以备训练和测试;本发明采用十次交叉验证,将软件模块数据集分成十份,其中九份做训练,一份做测试;B.利用基于改进的遗传算法与BP神经网络结合进行软件数据的特征选择,得到最优特征子集,从而对软件特征进行降维处理,减少运算时间;(1)随机产生初始种群,种群大小为P;对特征集进行二进制编码,0代表选择特征,1表示不选择特征;(2)以BP神经网络训练数据集,根据预测误差调整网络的权值和阈值;(3)利用遗传算法对BP神经网络进行优化,进行选择、交叉、变异的操作;为充分考虑软件数据集的不平衡性,适应度函数采用普遍适用于不平衡数据分类评价的Gmeans,较高的Gmeans值表示分类器是平衡的,即对两个类的分类来说都有好的性能,定义如下: 其中,TP为实际有缺陷且分类正确的模块数,FN为实际有缺陷但被分类错误的模块数,FP为实际无缺陷但被分类错误的模块数,TN为实际无缺陷且分类正确的模块数;(4)判断是否达到迭代次数,若达到,则输出当前最优特征子集,否则执行以下过程(a)根据适应度函数选择遗传到下一代的个体,适应度越高被选择的概率越大;(b)采用单点交叉算子进行交叉操作,采用单点变异算子进行变异操作;C.根据得到的最优特征子集,充分考虑软件缺陷数据的不平衡性,训练基于改进的Adaboost分类器,得到软件缺陷预测模型,步骤如下:(1)初始化样本集内的样本权重D1(i)=1/n其中,n为样本数,D1(i)为样本在第1轮迭代中的权重;(2)进行T次循环训练弱分类器ht(x),迭代次数t=1,2,…,T(a)计算弱分类器ht(x)在当前样本分布上的分类错误率,针对软件缺陷数据的不平衡性,应充分关注被误分为“无缺陷”实则“有缺陷的”样本,被误分为“无缺陷”的样本比例越大,则分类器的分类错误率应相应地增加;因此,设定ht(x)的分类错误率为: 其中,其中Dt(i)为样本(xi,yi)在第t轮迭代中的权重,I[ht(xi)≠yi]说明参与分类错误率εt计算的是被误分类的样本;(b)若εt>0.5或者εt=0,则令T=t‑1,迭代停止;(3)计算弱分类器ht(x)在最终集成获得的强分类器中的加权系数: (4)更新训练集样本权值:其中,Zt是归一化因子: (5)输出强分类器: (6)利用得到的强分类器,对软件模块进行缺陷预测。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610004546.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种系统的内存管理方法及装置
- 下一篇:一种机器人日志管理方法及服务器