[发明专利]一种基于代价敏感与随机森林的软件缺陷预测方法在审
申请号: | 202110525086.X | 申请日: | 2021-05-14 |
公开(公告)号: | CN113378884A | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 赵卫东;张圣栋 | 申请(专利权)人: | 山东科技大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06F11/36 |
代理公司: | 青岛智地领创专利代理有限公司 37252 | 代理人: | 陈海滨 |
地址: | 266590 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 代价 敏感 随机 森林 软件 缺陷 预测 方法 | ||
1.一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,在构建决策树的分类阶段以及形成的随机森林模型的投票分类阶段,分别引入根据不同对象定义的代价敏感因子,训练出基于代价敏感的改进随机森林模型cost-RF,然后利用该模型对软件缺陷进行预测。
2.根据权利要求1所述的一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,训练cost-RF模型并进行软件缺陷预测的具体步骤如下:
S1.从NASA MDP获取公开的软件缺陷预测真实数据集Data进行数据预处理,产生预处理后的数据集Data′;
S2.根据Data′的大小,将其按照自定义比例随机划分为训练数据集TrainD和测试数据集TestD;
S3.利用Bagging技术,对训练数据集TrainD进行数据扰动,有放回的随机抽取训练数据集TrainD中的样本,将抽取的样本作为训练ID3决策树的训练集TrainD_train,剩下的样本则作为训练集中的测试集TrainD_test;
S4.引入属性扰动,在TrainD_train上进行属性扰动,生成属性扰动后的TrainD_trainM;
S5.使用TrainD_trainM,采用二元切分法,构建ID3决策树;
S6.在ID3决策树中,引入与Data′中不同类别数量相关的代价敏感因子Acost,判断每个样本是否是缺陷模块;
S7.设置最佳模型判别标值,利用TrainD_test筛选整体性能较优的ID3决策树;
S8.引入二次筛选ID3决策树的条件和森林中对ID3决策树的数量限制,构建随机森林;
S9.引入受限于随机森林中对样本预测结果不同的决策树数量和Data′中不同类别的样本数量的代价敏感因子Bcost,判断每个样本是否是缺陷模块;
S10.使用随机森林对TestD中的样本进行预测,判断每个样本是否是缺陷模块。
3.根据权利要求2所述的一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,所述步骤S1中,数据预处理包括:删除重复和矛盾数据,采用缺失值所在列的中位数赋值处理某条合理数据的缺失值,赋值处理的具体公式为:
其中,n为数据集Data中的样本总数,dpij为第i个样本的第j个属性。
4.根据权利要求2所述的一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,所述步骤S6中,代价敏感因子Acost的公式为:
Acost=(numx+1)/(numy+1)×η±λ (2)
其中,numy是Data′中真实缺陷样本的数量,numx是Data′中真实非缺陷样本的数量,η、λ是辅助参数。
5.根据权利要求2所述的一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,所述步骤S7中,最佳模型判别标值根据错误率、召回率、精准率指标的自定义取值设置。
6.根据权利要求2所述的一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,所述步骤S8中,二次筛选ID3决策树的条件为:错误率召回率和精准率其中,numTrees为构建的ID3决策树数量;森林中对ID3决策树的数量numF限制条件为:numTrees为用户指定构建的决策树数量。
7.根据权利要求2所述的一种基于代价敏感与随机森林的软件缺陷预测方法,其特征在于,所述步骤S9中,代价敏感因子Bcost的公式为:
其中,treesx是将样本预测为非缺陷类别的ID3决策树的数量,treesy是将样本预测为缺陷类别的ID3决策树的数量,tx为Data′中真实非缺陷样本的数量,ty为Data′中真实缺陷样本的数量,η、λ、γ为辅助参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东科技大学,未经山东科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110525086.X/1.html,转载请声明来源钻瓜专利网。