[发明专利]一种面向软件缺陷预测的加权朴素贝叶斯方法有效
申请号: | 201910700517.4 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110515836B | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 王兴起;王赛;魏丹;陈滨;邵艳利;王大全 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F18/214;G06F18/2415;G06F18/22 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 软件 缺陷 预测 加权 朴素 贝叶斯 方法 | ||
本发明公开了一种面向软件缺陷预测的加权朴素贝叶斯方法,现有技术中朴素贝叶斯方法没有考虑到训练集数据与测试集数据之间的相似性对预测结果的影响。已有的朴素贝叶斯的改进方法没有考虑到某一特征值在该特征属性中所占的概率大小的影响,所计算的相似性不够准确,因此对样本权重计算不够精确,会影响分类效果的准确性。本发明所提出的一种面向软件缺陷预测的加权朴素贝叶斯方法能够根据训练集样本与测试集样本的相似度为训练集样本加权,并且能够考虑到某一特征值在该特征属性中所占的概率大小的影响。因此,本发明可以提高朴素贝叶斯的预测性能。
技术领域
本发明是对朴素贝叶斯的一种优化处理方法,旨在使用该技术后的朴素贝叶斯在进行软件缺陷预测时能够取得更加准确的分类预测效果,具体涉及一种面向软件缺陷预测的加权朴素贝叶斯方法。
背景技术
软件缺陷预测是软件开发中非常重要的环节,能够减少软件开发中的常见缺陷,降低开发成本。软件缺陷预测也是近年来软件工程中最活跃的研究问题之一。其中分类器的性能会严重影响软件缺陷预测的准确性。
缺陷预测最常用的分类器之一是朴素贝叶斯,尽管朴素贝叶斯比较简单,但是通常比更复杂的分类模型表现更好。然而,训练集所有样本对构建模型的贡献往往是不同的,与测试集样本相似性越高的样本构建的预测模型更加准确。朴素贝叶斯并没有考虑到训练集与测试集样本相似性对缺陷预测性能的影响,因此,本发明对朴素贝叶斯做出改进,根据训练集与测试集样本特征值的相似性,对训练集样本进行加权,高相似性的样本被赋予了更高的权重,然后在加权的训练样本上建立朴素贝叶斯模型,本发明称其为加权朴素贝叶斯方法。
发明内容
本发明针对朴素贝叶斯提出了一种改进的加权朴素贝叶斯方法,该方法根据训练集样本与测试集样本的相似度,对训练集样本加权,高相似性的样本权重更大。在加权的基础上建立加权朴素贝叶斯模型。
本发明具体包括以下步骤:
步骤1)对于测试集的每个特征列,求出该特征列各个的特征值以及每个特征值出现的次数。
用list存放每个特征的特征值及其出现次数的元组:
list=[dict1,dict2,...,dictk]
其中,dictj={key1,value1,key2,value2,...,keym,valuem};
k表示特征个数;
m表示测试集第j个特征中不同特征值的个数;
dictj表示测试集第j个特征的特征值及其出现次数的元组;
keyp表示测试集某列特征的特征值;
valuep表示keyp在该特征列出现的次数。
步骤2)计算训练集样本每个特征值在测试集同一特征列所占的概率。
其中,dictj表示测试集第j个特征的特征值及其出现次数的元组;keyp表示某列特征的特征值;valuep表示keyp在该特征列出现的次数;
dictj.keyp表示第j个特征中的第p个特征值;
count表示测试集样本个数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910700517.4/2.html,转载请声明来源钻瓜专利网。