[发明专利]基于改进的Adaboost软件缺陷不平衡数据分类方法在审
申请号: | 201610004546.3 | 申请日: | 2016-01-04 |
公开(公告)号: | CN105677564A | 公开(公告)日: | 2016-06-15 |
发明(设计)人: | 李克文;邹晶杰 | 申请(专利权)人: | 中国石油大学(华东) |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62;G06N3/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266580 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 改进 adaboost 软件 缺陷 不平衡 数据 分类 方法 | ||
技术领域
本发明属于软件工程应用领域,具体涉及一种基于改进的Adaboost软件 缺陷不平衡数据分类方法。
背景技术
随着当代信息技术的高速发展,软件系统已经运用到国防建设、国民经济 的各个方向和部门,以及人类活动的各个领域。软件系统所发挥的作用越来越 大,相应地其规模也日益增大。例如,美国电信需要一个有超过一亿行代码的 系统进行支持;航天飞机的机载系统有着近50万行的代码,地面控制系统及 处理系统代码约有35万行,即使在对系统进行了大规模的缩减后,仍有将近 百万行的代码来操纵整个航天系统。高稳定性对于这些装备来说极其重要,而 大部分的装备系统的稳定性由计算机软件系统的安全性和可靠性决定的。因 此,软件系统的稳定性和可靠性直接关系到整个系统的可靠性。
由于各种原因,一些软件的缺陷是不可避免的发生,这些错误导致了软件 缺陷隐含在软件中。对于隐藏的缺陷,如果不能及时地、准确地发现,有效地 排除,将会对软件质量产生很大影响,甚至给软件使用者带来灾难性后果。曾 有研究表明,专业软件开发人员平均每一千行代码就有6个缺陷,更糟糕的是 随着软件规模增加,软件内在的缺陷数量呈指数增长。软件缺陷的过多导致缺 陷定位和测试修复成本大大增加。例如,微软平均定位和修改一个软件缺陷需 要12个小时;美国联邦调查局研究显示,有软件故障造成的直接经济损失达 600亿美元。
为了提高软件系统质量,学者们提出了软件缺陷预测的概念,软件缺陷预 测可以帮助开发者更快地找到存在缺陷的模块,提高软件质量。软件缺陷预测 的关键是发现有缺陷的模块,这实际上是一个二分类问题,即将软件模块分为 “无缺陷”和“有缺陷”两个类。但是由于软件模块中存在缺陷的模块要远少 于无缺陷的模块,所以这也是不平衡数据的分类问题。目前,对于平衡数据的 分类技术已经相对比较成熟,然而,面向不平衡数据的分类,特别是面向软件 缺陷数据的分类问题仍需投入大量的研究。
综上,在当前互联网软件产品迅速发展的形势下,解决软件缺陷数据的不 平衡性,提出高效的软件缺陷预测模型即对软件模块进行正确分类,是迫切需 要解决的问题。
发明内容
本发明的目的是克服软件缺陷数据的不平衡性,对软件模块进行准确分 类,提供一种基于改进的Adaboost软件缺陷不平衡数据分类方法。
为实现上述目的,本发明技术方案主要包括以下三个步骤:
A.从软件数据集中获取数据,包括软件特征集和软件模块,并对其进行预处 理。将软件模块数据分为训练集和测试集以备训练和测试。本发明采用十 次交叉验证,将数据集分成十份,其中九份做训练,一份做测试。
B.利用基于改进的遗传算法与BP神经网络结合进行软件数据的特征选择,得 到最优特征子集,从而对软件特征进行降维处理,减少运算时间。
(1)随机产生初始种群,种群大小为P。对特征集进行二进制编码,0代 表选择特征,1表示不选择特征。
(2)以BP神经网络训练数据集,根据预测误差调整网络的权值和阈值。
(3)利用遗传算法对BP神经网络进行优化,进行选择、交叉、变异的操 作。为充分考虑软件数据集的不平衡性,适应度函数采用普遍适用于不平衡数 据分类评价的Gmeans,较高的Gmeans值表示分类器是平衡的,即对两个类 的分类来说都有好的性能。定义如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油大学(华东),未经中国石油大学(华东)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610004546.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种系统的内存管理方法及装置
- 下一篇:一种机器人日志管理方法及服务器