CN110674865A - 面向软件缺陷类分布不平衡的规则学习分类器集成方法 - Google Patents
面向软件缺陷类分布不平衡的规则学习分类器集成方法 Download PDFInfo
- Publication number
- CN110674865A CN110674865A CN201910893983.9A CN201910893983A CN110674865A CN 110674865 A CN110674865 A CN 110674865A CN 201910893983 A CN201910893983 A CN 201910893983A CN 110674865 A CN110674865 A CN 110674865A
- Authority
- CN
- China
- Prior art keywords
- samples
- data set
- software defect
- rule
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种面向软件缺陷类分布不平衡的规则学习分类器集成方法,其包括如下步骤:步骤S1:采用主成分分析(PCA)法从原始特征中提取最有效特征从而去除无关和冗余属性,达到降维去噪目的;步骤S2:执行ADASYN过采样和无放回随机采样相结合的组合采样方法,从而解决软件缺陷数据的类分布不平衡性问题,通对采样率的设定提高了软件缺陷预测效率;步骤S3:选取基于规则学习的基分类器进行集成,构建软件缺陷预测模型。本方法利用基于规则学习算法先处理最不频繁的类最后处理最频繁类的机制,以及集成学习能够有效降低偏差和方差,进而降低分类误差的特点,使得模型在处理不平衡数据时具有良好的性能,提升了软件缺陷预测性能以及预测效率。
Description
技术领域
本发明涉及软件安全和计算机技术领域,尤其涉及一种面向软件缺陷类分布不平衡的规则学习分类器集成方法。
背景技术
在软件工程领域,软件质量是极为重要的。然而,在软件开发的过程中必然会伴随着软件缺陷的出现。随着软件规模的扩大,软件缺陷的修复往往费时又费力,其开销在维护成本中所占的比重极大,因此,准确高效的进行软件缺陷的预测,对于提高软件质量和软件可靠性具有重要意义。
在实际的软件缺陷预测中,主要存在两个问题,即软件缺陷数据集的高维性和类分布不平衡性。由于人们对软件的认识程度日益深入,软件模块包含的特征属性也越来越多,软件缺陷数据集则表现出高维性,其中一些特性可能与类,即缺陷或非缺陷相关,而其他特性可能是冗余的或不相关的,并且这些不相关特征有时会掩盖真正重要的分类特征,所以需要从高维特征中选择高相关性特征。同时,由于缺陷模块本身具有隐藏特性,待测试软件中功能正常的模块远多于存在缺陷的模块,软件缺陷数据集又表现出类分布不平衡性。高度不平衡的数据集会降低机器学习算法预测少数类的能力。
发明内容
本发明要解决的技术问题是提出一种可以解决软件工程领域中由于缺陷数据的高维性和类分布不平衡性导致模型在预测时偏向多数类,而对少数类缺陷类的预测准确性不足问题的软件缺陷预测方法。
为解决上述技术问题,本发明提出了一种面向软件缺陷类分布不平衡的规则学习分类器集成方法,其包括如下具体步骤:
步骤S1:采用主成分分析(PCA)法从软件模块所包含的原始特征中提取最有效特征;包括如下具体步骤:
步骤S101:构建软件缺陷数据集矩阵XN×M,所述矩阵的行数N表示所述软件缺陷数据集中样本的个数,所述矩阵的列数M表示每个所述样本的特征数目;
步骤S103:计算中心化后的样本HN×M的协方差矩阵HHT,并对所述协方差矩阵HHT进行特征值分解,求得对应的M个特征向量ω,然后将M个特征值λ进行降序排序,排序结果为λ1≥λ2≥...≥λM,最后,设定一个阈值为0.95,通过计算贡献率确定满足贡献率不小于所述阈值的数值d,取最大的d个特征值所对应的特征向量ω1,ω2,...,ωd,得到投影矩阵W*=(ω1,ω2,...,ωd),所述d为通过主成分分析法进行特征选择后的维度。
步骤S2:执行ADASYN过采样和无放回随机采样相结合的组合采样方法;
所述ADASYN方法步骤具体包括:
步骤S201:从所述软件缺陷数据集中选取的样本中构造一个含有0和1两个类别的训练数据集D,其中包括m个所述样本{xi,yi},i=1,2,...,m,其中xi为n维空间的一个样本,yi∈{0,1}为所述样本xi的标签,yi=0代表为少数类,yi=1为多数类,其中m0和m1分别代表少类和多类样本数量;
步骤S202:计算类不平衡度l=m0/m1,式中l∈(0,1];
步骤S203:计算需要合成的所述少类样本总量G:G=(m1-m0)×β,式中β∈[0,1]为系数;
步骤S204:找出每个所述少类别样本xi的K近邻,并计算:Γi=Δi/K,i=1,2,...,m,其中Δi是xi的K近邻中多类样本的数目,因此,Γi∈(0,1];
步骤S206:计算每个所述少类样本xi需要合成的样本数目:并从每个所述少类样本xi的K近邻中随机选择一个少类样本xj,合成gi个新的少类样本,所述合成新的少类样本为Sz=xi+(xj-xi)×λ,λ∈[0,1]为随机数。
ADASYN方法是一种自适应数据合成方法。该方法对训练数据集根据少类样本的分布自适应地合成少类样本,并且能在容易分类的地方合成较少的样本,在难分类的地方合成更多的样本,使学习算法将重点聚焦于少类中难以学习的样本上。ADASYN方法的关键在于找到一个概率分布,从而将作为每个少类样本应该合成样本数目的判定准则,最终得到新增样本集。对训练数据进行ADASYN采样,将合成的少数类样本添加到原始样本集中,使数据集达到平衡,然后利用无放回随机采样,进一步对数据进行处理,通过对采样率的设定,降低了采样容量,提取更小的数据集D1。同时保证数据集的平衡,为分类准备了规模和分布合理的数据集,提高了模型预测效率。
所述无放回随机采样包括以下具体步骤:
步骤S207:将所述合成新的少数类样本添加到所述训练数据集D中;
步骤S208:利用无放回随机采样,设定采样率,降低采样容量,提取更小的数据集D1。
步骤S3:对处理后的数据选取基于规则学习的基分类器进行集成,构建软件缺陷预测模型。
采用基于规则学习的基分类器,由于其可以先处理最不频繁的类,最后处理最频繁的类,正是规则学习的特殊性使其在处理不平衡数据时具有良好的性能;其包括以下具体步骤:
步骤S301:采用规则学习的基分类器,包括以下具体步骤:
本发明提出的方法采用基于规则学习的基分类器对软件缺陷数据集进行分类。分为两个阶段,第一个阶段是通过训练样本的归纳和学习,总结特征与类之间的相关性,从而形成if-then规则。第二阶段是利用形成的规则对未知样本进行匹配,达到分类的目的。一般规则生成公式如(1):
其中,箭头左边项称为规则前件;xi表示特征;ai表示特征值;箭头右边项称为规则后件;即为结论,表示样本所属的类别。
步骤S3011:根据类的出现频率进行递增排序;
对于软件缺陷预测中的二分类问题,此算法首先根据类的出现频率进行递增排序。由于软件缺陷数据集中的非缺陷模块相对较少,因此缺陷类先于非缺陷模块。使得其可以先处理最不频繁的类,最后处理最频繁的类。此规则学习的特殊性使其在处理不平衡数据时具有良好的性能。
步骤S3012:清空规则集,然后向规则集添加前件,直到规则集可以扩展到覆盖整个数据集为止;
基于规则学习算法主要包括规则生成和规则剪枝。在生成规则时,首先清空规则集,然后向规则集添加前件,直到规则集可以扩展到覆盖整个数据集为止。
步骤S3013:进行规则剪枝。在规则剪枝过程中,规则和前件被不断删除。利用数值C判断是否到达到了最精简的规则,当C不再变大时,停止剪枝;所述数值C为:
其中,hk是规则所覆盖的样本个数,hp是没有被覆盖样本个数,当函数C不再变大时,停止剪枝。
步骤S302:进行集成学习。
本发明提出的集成学习方法结合了wagging(一种减少方差的技术)和AdaBoost(一种同时减少偏差和方差的技术)两种方法,有效降低偏差和方差,从而达到降低分类误差的目的;在建立预测模型时,方差、偏差和均方误差越小,模型越稳定。因此,本发明提出的方法考虑结合wagging(一种减少方差的技术)和AdaBoost(一种同时减少偏差和方差的技术)两种方法,通过AdaBoost所产生的基分类器组采用wagging形式加权机制实现集成。
步骤S3021:设T为需要进行集成的基分类器个数,并将基分类器分为k组,Ii为第i组迭代终止标志变量,在进行集成时,T个基分类器最多迭代T轮,Ii计算公式如(3)所示:
已有学者证明,每次迭代训练的基分类器对整个组合模型的性能的提高都小于前一次迭代。本发明提出的集成方法对AdaBoost进行了改进,不是和AdaBoost一样总是根据基分类器的数量进行T次迭代,而是对迭代使用迭代终止标志变量。
步骤S3022:将所述训练数据集D1={(x1,y1),(x2,y2),...,(xa,ya)}中每个样本的权重均设置为1,形成数据集S′,当每个基分类器组迭代终止时,对S′中的数据重新进行服从连续泊松分布的权重设置且进行归一化处理,再进行下一个基分类器组的迭代。在每次基分类器迭代中,每个基分类器的误差为基分类器对最终组合分类模型的输出权重设为βt(t=1,...,T),根据εt每次取值范围的不同,分为3种情况:
若εt>0.5,则直接将该分类器舍弃,并对训练集S′进行服从连续泊松分布的权重设置且进行归一化处理,进入下一个基分类器组,直至εt≤0.5;
若εt=0,则βt=10-10,并再对训练集S′进行服从连续泊松分布的权重设置且进行归一化处理,再进入下一个基分类器组;
优选的,所述步骤2中的ADASYN过采样和无放回随机采样相结合的组合采样方法的采样率设定为[0.7,1.0],步长为0.1,当采样率为0.9时效果最好。
优选的,所述步骤S3021中的迭代次数T的设定为[10,30],步长为10,其中迭代次数为20时,效果最佳。
本发明与现有技术相比,具有如下优点:
本技术方案采用主成分分析(PCA)法从原始特征中提取最有效特征从而达到降维和去除冗余目的,执行ADASYN过采样和无放回随机采样相结合的组合采样方法,从而解决软件缺陷数据的类分布不平衡性问题,同时通对采样率的设定在降低损失代价的同时也提高了软件缺陷预测效率,将基于规则的分类方法作为集成学习的基分类器,构建软件缺陷预测模型,此规则学习算法可以先处理最不频繁的类,最后处理最频繁的类,正是由于它具有的特殊性使其在处理不平衡数据时具有良好的性能,进行集成学习时采用了一种既吸收了wagging方法降低方差的能力又吸收了AdaBoost方法减小偏差的能力的方法,从而达到有效提升模型的预测效果的目的。
附图说明
图1为本发明实施例中的面向软件缺陷类分布不平衡的规则学习分类器集成方法的流程示意图;以及
图2为本发明实施例中的基于规则学习算法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
由于人们对软件的认识程度日益深入,软件模块的包含的特征属性也越来越多,软件缺陷数据集表现出高维性问题。然而,其中一些特性可能与类(缺陷或非缺陷)更相关,但是其他特性可能是冗余的或不相关的,这些不相关特征有时会掩盖真正重要的分类特征,过多维数造成维数灾难问题使得算法性能降低。
本发明实施例提出的一种面向软件缺陷类分布不平衡的规则学习分类器集成方法,图1为本发明实施例中的规则学习分类器集成方法的具体流程示意图。
步骤S1:采用主成分分析(PCA)法从原始特征中提取最有效特征从而达去除无关和冗余属性,达到降维去噪目的;
采用主成分分析(PCA)方法进行特征提取,主要思想是将m维特征映射到新的d(d<m)维正交特征上。通过保留W*与样本的均值向量就可通过进行简单的向量减法和线性映射将高维空间的样本投影到低维空间。最小的特征值所对应的特征向量往往和噪声相关,当数据受到噪声影响时,由于PCA算法舍弃了对应于最小的m-d个特征值所对应的特征向量,因此,达到了去噪的效果,保证了被采样的数据质量。具体包括如下步骤:
步骤S101:将本发明实施例的软件缺陷数据集以矩阵XN×M形式输入,其中矩阵的行数N表示软件缺陷数据集中样本的个数,列数M表示每个样本的特征数目;
步骤S103:计算中心化后样本HN×M的协方差矩阵HHT,并对协方差矩阵进行特征值分解,求得对应的M个特征向量ω,然后将M个特征值λ进行降序排序,排序结果为λ1≥λ2≥...≥λM,最后,其设定一个阈值为0.95,并通过计算贡献率确定满足贡献率不小于此阈值的d值,取最大的d个特征值所对应的特征向量ω1,ω2,...,ωd,从而得到投影矩阵W*=(ω1,ω2,...,ωd),其中d为通过主成分分析法进行特征选择后的维度。
步骤S2:执行ADASYN过采样和无放回随机采样相结合的组合采样方法,从而解决软件缺陷数据的类分布不平衡性问题,同时通对采样率的设定在降低损失代价的同时也提高了软件缺陷预测效率;
ADASYN方法是一种自适应数据合成方法。该方法对训练数据集根据少类样本的分布自适应地合成少类样本,并且能在容易分类的地方合成较少的样本,在难分类的地方合成更多的样本,使学习算法将重点聚焦于少类中难以学习的样本上。ADASYN方法的关键在于找到一个概率分布,从而将作为每个少类样本应该合成样本数目的判定准则,最终得到新增样本集。
ADASYN方法包括以下具体步骤:
步骤S201:从软件缺陷数据集中选取的样本中构造一个含有0和1两个类别的训练数据集D,其中包括m个样本{xi,yi},i=1,2,...,m,其中xi为n维空间的一个样本,yi∈{0,1}为样本xi的标签,yi=0代表为少数类,yi=1为多数类,其中m0和m1分别代表少类和多类样本数量;
步骤S202:计算类不平衡度l=m0/m1,式中l∈(0,1];
步骤S203:计算需要合成的少类样本总量G:G=(m1-m0)×β,式中β∈[0,1]为系数;
步骤S204:找出每个少类别样本xi的K近邻,并计算:Γi=Δi/K,i=1,2,...,m,其中Δi是xi的K近邻中多类样本的数目,因此,Γi∈(0,1];
步骤S206:计算每个少类样本xi需要合成的样本数目:并从每个少类样本xi的K近邻中随机选择一个少类样本xj,合成gi个新的少类样本,合成新的少类样本为Sz=xi+(xj-xi)×λ,λ∈[0,1]为随机数。
对训练数据进行ADASYN采样,将合成的少数类样本添加到原始样本集中,使数据集达到平衡,然后利用无放回随机采样,进一步对数据进行处理,通过对采样率的设定,降低了采样容量,提取更小的数据集D1,同时保证数据集的平衡,为分类准备了规模和分布合理的数据集,提高了模型预测效率。
无放回随机采样包括以下具体步骤:
步骤S207:将合成新的少数类样本添加到训练数据集D中;
步骤S208:利用无放回随机采样,设定采样率,降低采样容量,提取更小的数据集D1采样率的设定为[0.7,1.0],步长为0.1,当采样率为0.9时效果最好。
步骤S3:对处理后的数据选取基于规则学习的基分类器进行集成,构建软件缺陷预测模型。
此算法首先根据类的出现频率进行递增排序。由于软件缺陷数据集中的非缺陷模块相对较少,因此缺陷类先于非缺陷模块。这样就可以先处理最不频繁的类,最后处理最频繁的类。此基于规则算法的特殊性使其在处理不平衡数据时具有良好的性能。规则学习算法流程图如附图2所示。
本发明实施例在建立预测模型时,方差、偏差和均方误差越小,模型越稳定。因此,本文考虑采用一种结合wagging(一种减少方差的技术)和AdaBoost(一种同时减少偏差和方差的技术)两种方法的集成方法,通过AdaBoost所产生的基分类器组采用wagging形式加权机制实现集成,从而效降低偏差和方差,从而达到降低分类误差的目的。
步骤S301:采用规则学习的基分类器,包括以下具体步骤:
步骤S3011:根据类的出现频率进行递增排序;
步骤S3012:清空规则集,然后向规则集添加前件,直到规则集可以扩展到覆盖整个数据集为止;
步骤S3013:进行规则剪枝,利用数值C判断是否到达到了最精简的规则,当C不再变大时,停止剪枝;数值C为:
公式中,hk是规则所覆盖的样本个数,hp是没有被覆盖样本个数;
步骤S302:进行集成,包括以下具体步骤:
步骤S3021:设T为需要进行集成的基分类器个数,并将基分类器分为k组,Ii为第i组迭代终止标志变量,在进行集成时,T个基分类器最多迭代T轮,Ii计算公式如下:
步骤S3022:将训练数据集D1={(x1,y1),(x2,y2),...,(xa,ya)}中的每个样本的权重均设置为1,形成数据集S′,当每个基分类器组迭代终止时,对S′中的数据重新进行服从连续泊松分布的权重设置且进行归一化处理,再进行下一个基分类器组的迭代;在每次基分类器迭代中,每个基分类器的误差为基分类器对最终组合分类模型的输出权重设为βt(t=1,...,T),根据εt每次取值范围的不同,分为3种情况:
若εt>0.5,则直接将分类器舍弃,并对训练集S′进行服从连续泊松分布的权重设置且进行归一化处理,进入下一个基分类器组,直至εt≤0.5;
若εt=0,则βt=10-10,并再对训练集S′进行服从连续泊松分布的权重设置且进行归一化处理,再进入下一个基分类器组;
其中迭代次数T的设定为[10,30],步长为10,其中迭代次数为20时,效果最佳。
为了说明本发明实施例提出的出方法的有效性,采用多个指标对模型性能进行了评估。实验结果表明,在准确率、F-measure、AUC值、Balance值上效果都有所提升,特别表现在F-measure值和Balance值。本发明实施例提出的方法在在F-measure指标的均值上高达0.9,较同类算法相比,至少提高了18.42%,AUC值至少提高了7.87%,高达0.96。证明了本发明实施例提出的方法,既考虑了无缺陷模块正确分类又兼顾缺陷模块的正确分类,因此,达到了全面提高预测模型分类性能的目标,为软件的安全性预测分析提供了良好的理论依据。
以上所述,仅为本发明的具体实施方式的实例,本发明的局限并不局限于此。熟悉该技术领域的技术人员在本发明揭露的技术范围之内,可轻易找到变化和替换方式,这些都应涵盖在本发明的保护范围之内。为此,本发明的保护范围应以权利要求的保护范围为准。
Claims (3)
1.一种面向软件缺陷类分布不平衡的规则学习分类器集成方法,其特征在于,其包括如下步骤:
步骤S1:采用主成分分析法从软件模块所包含的原始特征中提取最有效特征,具体包括如下步骤:
步骤S101:构建软件缺陷数据集矩阵XN×M,所述矩阵的行数N表示所述软件缺陷数据集中样本的个数,所述矩阵的列数M表示每个所述样本的特征数目;
步骤S103:计算中心化后的样本HN×M的协方差矩阵HHT,并对所述协方差矩阵HHT进行特征值分解,求得对应的M个特征向量ω,然后将M个特征值λ进行降序排序,排序结果为λ1≥λ2≥...≥λM,最后,设定一个阈值为0.95,通过计算贡献率确定满足贡献率不小于所述阈值的数值d,取最大的d个特征值所对应的特征向量ω1,ω2,...,ωd,得到投影矩阵W*=(ω1,ω2,...,ωd),所述d为通过主成分分析法进行特征选择后的维度;
步骤S2:执行ADASYN过采样和无放回随机采样相结合的组合采样方法,包括以下具体步骤:
步骤S201:从所述软件缺陷数据集中选取的样本中构造一个含有0和1两个类别的训练数据集D,其中包括m个所述样本{xi,yi},i=1,2,...,m,其中xi为n维空间的一个样本,yi∈{0,1}为所述样本xi的标签,yi=0代表为少数类,yi=1为多数类,其中m0和m1分别代表少类和多类样本数量;
步骤S202:计算类不平衡度l=m0/m1,式中l∈(0,1];
步骤S203:计算需要合成的所述少类样本总量G:G=(m1-m0)×β,式中β∈[0,1]为系数;
步骤S204:找出每个所述少类别样本xi的K近邻,并计算:Γi=Δi/K,i=1,2,...,m,其中Δi是xi的K近邻中多类样本的数目,因此,Γi∈(0,1];
步骤S206:计算每个所述少类样本xi需要合成的样本数目:并从每个所述少类样本xi的K近邻中随机选择一个少类样本xj,合成gi个新的少类样本,所述合成新的少类样本为Sz=xi+(xj-xi)×λ,λ∈[0,1]为随机数;
步骤S207:将所述合成新的少数类样本添加到所述训练数据集D中;
步骤S208:利用无放回随机采样,设定采样率,降低采样容量,提取更小的数据集D1;
步骤S3:对处理后的数据选取基于规则学习的基分类器进行集成,构建软件缺陷预测模型,包括以下具体步骤:
步骤S301:采用规则学习的基分类器,包括以下具体步骤:
步骤S3011:根据类的出现频率进行递增排序;
步骤S3012:清空规则集,然后向规则集添加前件,直到规则集可以扩展到覆盖整个数据集为止;
步骤S3013:进行规则剪枝,利用数值C判断是否到达到了最精简的规则,当C不再变大时,停止剪枝;所述数值C为:
所述公式中,hk是规则所覆盖的样本个数,hp是没有被覆盖样本个数;
步骤S302:进行集成,包括以下具体步骤:
步骤S3021:设T为需要进行集成的基分类器个数,并将基分类器分为k组,Ii为第i组迭代终止标志变量,在进行集成时,T个基分类器最多迭代T轮,Ii计算公式如下:
步骤S3022:将所述训练数据集D1={(x1,y1),(x2,y2),...,(xa,ya)}中的每个样本的权重均设置为1,形成数据集S′,当每个基分类器组迭代终止时,对S′中的数据重新进行服从连续泊松分布的权重设置且进行归一化处理,再进行下一个基分类器组的迭代;在每次基分类器迭代中,每个基分类器的误差为基分类器对最终组合分类模型的输出权重设为βt(t=1,...,T),根据εt每次取值范围的不同,分为3种情况:
若εt>0.5,则直接将所述分类器舍弃,并对所述训练数据集S′进行服从连续泊松分布的权重设置且进行归一化处理,进入下一个基分类器组,直至εt≤0.5;
若εt=0,则βt=10-10,并再对所述训练数据集S′进行服从连续泊松分布的权重设置且进行归一化处理,再进入下一个基分类器组;
2.根据权利要求1所述的面向软件缺陷类分布不平衡的规则学习分类器集成方法,其特征在于,所述步骤2中所述的ADASYN过采样和无放回随机采样相结合的组合采样方法的采样率设定为[0.7,1.0],步长为0.1。
3.根据权利要求1所述的面向软件缺陷类分布不平衡的规则学习分类器集成方法,其特征在于,所述步骤S3021中的所述迭代次数T的设定为[10,30],步长为10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910893983.9A CN110674865B (zh) | 2019-09-20 | 2019-09-20 | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910893983.9A CN110674865B (zh) | 2019-09-20 | 2019-09-20 | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674865A true CN110674865A (zh) | 2020-01-10 |
CN110674865B CN110674865B (zh) | 2023-04-07 |
Family
ID=69077065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910893983.9A Active CN110674865B (zh) | 2019-09-20 | 2019-09-20 | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674865B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782548A (zh) * | 2020-07-28 | 2020-10-16 | 南京航空航天大学 | 一种软件缺陷预测数据处理方法、装置及存储介质 |
CN112380132A (zh) * | 2020-11-20 | 2021-02-19 | 北京轩宇信息技术有限公司 | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 |
CN112688911A (zh) * | 2020-11-03 | 2021-04-20 | 桂林理工大学 | 一种基于PCA+ADASYN和Xgboost的网络入侵检测系统 |
CN113204481A (zh) * | 2021-04-21 | 2021-08-03 | 武汉大学 | 一种基于数据重采样的类不平衡软件缺陷预测方法 |
CN113837266A (zh) * | 2021-09-22 | 2021-12-24 | 西南民族大学 | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 |
CN115617698A (zh) * | 2022-12-15 | 2023-01-17 | 北京航空航天大学 | 一种基于关联规则网络的软件缺陷度量元选择方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991296A (zh) * | 2017-04-01 | 2017-07-28 | 大连理工大学 | 基于随机化贪心特征选择的集成分类方法 |
US20170364576A1 (en) * | 2016-06-15 | 2017-12-21 | Empow Cyber Security Ltd. | Classification of security rules |
CN108460421A (zh) * | 2018-03-13 | 2018-08-28 | 中南大学 | 不平衡数据的分类方法 |
CN109933539A (zh) * | 2019-04-15 | 2019-06-25 | 燕山大学 | 一种基于主成分分析和组合采样的软件缺陷预测方法 |
CN109977028A (zh) * | 2019-04-08 | 2019-07-05 | 燕山大学 | 一种基于遗传算法和随机森林的软件缺陷预测方法 |
CN110060772A (zh) * | 2019-01-24 | 2019-07-26 | 暨南大学 | 一种基于社交网络的职业心理性格分析方法 |
-
2019
- 2019-09-20 CN CN201910893983.9A patent/CN110674865B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170364576A1 (en) * | 2016-06-15 | 2017-12-21 | Empow Cyber Security Ltd. | Classification of security rules |
CN106991296A (zh) * | 2017-04-01 | 2017-07-28 | 大连理工大学 | 基于随机化贪心特征选择的集成分类方法 |
CN108460421A (zh) * | 2018-03-13 | 2018-08-28 | 中南大学 | 不平衡数据的分类方法 |
CN110060772A (zh) * | 2019-01-24 | 2019-07-26 | 暨南大学 | 一种基于社交网络的职业心理性格分析方法 |
CN109977028A (zh) * | 2019-04-08 | 2019-07-05 | 燕山大学 | 一种基于遗传算法和随机森林的软件缺陷预测方法 |
CN109933539A (zh) * | 2019-04-15 | 2019-06-25 | 燕山大学 | 一种基于主成分分析和组合采样的软件缺陷预测方法 |
Non-Patent Citations (6)
Title |
---|
LOVELEEN KAUR等: "A comparative analysis of evolutionary algorithms for the prediction of software change", 《2018 INTERNATIONAL CONFERENCE ON INNOVATIONS IN INFORMATION TECHNOLOGY (IIT)》 * |
MOHAMED ELKHOLY等: "Change Taxonomy: A Fine-Grained Classification of Software Change", 《IT PROFESSIONAL》 * |
夏英等: "基于层次聚类的不平衡数据加权过采样方法", 《计算机科学》 * |
曹彦珍等: "基于RIPPER的网络流量分类方法", 《哈尔滨理工大学学报》 * |
王晨曦等: "基于多粒度一致覆盖约简的混合数据规则学习", 《闽南师范大学学报(自然科学版)》 * |
郭海湘等: "基于差分演化的自适应集成学习算法在不均衡数据分类中的应用", 《系统工程理论与实践》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782548A (zh) * | 2020-07-28 | 2020-10-16 | 南京航空航天大学 | 一种软件缺陷预测数据处理方法、装置及存储介质 |
CN111782548B (zh) * | 2020-07-28 | 2022-04-05 | 南京航空航天大学 | 一种软件缺陷预测数据处理方法、装置及存储介质 |
CN112688911A (zh) * | 2020-11-03 | 2021-04-20 | 桂林理工大学 | 一种基于PCA+ADASYN和Xgboost的网络入侵检测系统 |
CN112688911B (zh) * | 2020-11-03 | 2023-04-18 | 桂林理工大学 | 一种基于PCA+ADASYN和Xgboost的网络入侵检测系统 |
CN112380132A (zh) * | 2020-11-20 | 2021-02-19 | 北京轩宇信息技术有限公司 | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 |
CN112380132B (zh) * | 2020-11-20 | 2024-03-29 | 北京轩宇信息技术有限公司 | 基于航天软件缺陷数据集类不平衡的对抗验证方法及装置 |
CN113204481A (zh) * | 2021-04-21 | 2021-08-03 | 武汉大学 | 一种基于数据重采样的类不平衡软件缺陷预测方法 |
CN113204481B (zh) * | 2021-04-21 | 2022-03-04 | 武汉大学 | 一种基于数据重采样的类不平衡软件缺陷预测方法 |
CN113837266A (zh) * | 2021-09-22 | 2021-12-24 | 西南民族大学 | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 |
CN113837266B (zh) * | 2021-09-22 | 2022-05-20 | 西南民族大学 | 一种基于特征提取和Stacking集成学习的软件缺陷预测方法 |
CN115617698A (zh) * | 2022-12-15 | 2023-01-17 | 北京航空航天大学 | 一种基于关联规则网络的软件缺陷度量元选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110674865B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674865B (zh) | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 | |
US11341424B2 (en) | Method, apparatus and system for estimating causality among observed variables | |
US20220391767A1 (en) | System and method for relational time series learning with the aid of a digital computer | |
CN106570178B (zh) | 一种基于图聚类的高维文本数据特征选择方法 | |
CN107391772B (zh) | 一种基于朴素贝叶斯的文本分类方法 | |
CN112417028B (zh) | 一种风速时序特征挖掘方法及短期风电功率预测方法 | |
CN111914253B (zh) | 一种入侵检测的方法、系统、设备及可读存储介质 | |
CN106096066A (zh) | 基于随机近邻嵌入的文本聚类方法 | |
US8121967B2 (en) | Structural data classification | |
CN107357895B (zh) | 一种基于词袋模型的文本表示的处理方法 | |
CN112950445A (zh) | 图像隐写分析中基于补偿的检测特征选择方法 | |
CN107169830B (zh) | 一种基于聚类pu矩阵分解的个性化推荐方法 | |
CN112115359B (zh) | 一种基于多阶近邻预测的推荐系统及方法 | |
CN115437960A (zh) | 回归测试用例排序的方法、装置、设备和存储介质 | |
CN111079143B (zh) | 一种基于多维特征图的木马检测方法 | |
CN114254705A (zh) | 异常数据的检测方法、装置、存储介质及计算机设备 | |
CN114676928A (zh) | 一种基于生成对抗网络的不平衡数据集的预测方法 | |
CN109299260B (zh) | 数据分类方法、装置以及计算机可读存储介质 | |
CN115249513A (zh) | 一种基于Adaboost集成思想的神经网络拷贝数变异检测方法与系统 | |
US20170109439A1 (en) | Document classification based on multiple meta-algorithmic patterns | |
JP3889663B2 (ja) | 分類装置、分類方法、分類プログラム及びそのプログラムを記録した記録媒体 | |
CN111488903A (zh) | 基于特征权重的决策树特征选择方法 | |
De et al. | Comparison among clustering and classification techniques on the basis of galaxy data | |
CN113688229B (zh) | 一种文本推荐方法、系统、存储介质和设备 | |
CN116662859B (zh) | 非遗文化数据特征选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |