首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于XGBoost的自承认技术债务多分类方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:杭州电子科技大学

摘要:本发明公开了一种基于XGBoost的自承认技术债务分类方法。该方法通过构建基于XGBoost的自承认技术债务分类器,可以有效对自承认技术债务进行分类。同时,该方法采用EDA方法中的随机交换和随机打乱策略进行数据增强,并使用类间距度量生成数据的质量,有效克服了样本不均衡问题。此外,该方法使用CHI进行特征提取,选择分数最高的前s(s的值为总的不同特征的个数的10%)个单词,加快模型训练的同时提高了模型的性能。通过本发明方法能够有效分类软件技术债务,降低软件维护的成本,对软件维护具有非常重要的意义。

主权项:1.基于XGBoost的自承认技术债务多分类方法,其特征在于包括如下步骤:步骤1从数据集中获取代码注释集合S=S1,S2,...,Sn,n为所有类的代码注释数量,将其中每个样本表示成Si=id,comment,LB,i=1,2,...,n,其中id表示代码注释的编号,comment表示代码注释的文本信息,LB表示代码注释的标签,即技术债务的类型;步骤2对每个样本Si中的comment进行预处理;首先利用字符串全匹配和余弦相似度计算方法过滤掉原数据集中完全相同的样本;然后,删除代码注释中包含的历史版本记录;最后,删除代码注释中的噪音信息,所述噪音信息包含数字、标点、URL、源代码、停用词;将所有单词转换为小写字母形式;经过处理后每个样本为Si=id,preComment,LB,其中preComment表示预处理后代码注释的文本信息;步骤3对预处理后代码注释的文本信息进行数据增强;采用EDA方法中随机交换和随机打乱策略对需求技术债务和缺陷技术债务的代码注释的文本信息进行增强;步骤4使用卡方统计方法计算样本中每个特征的权重,并根据权重值对特征按从大到小进行排序,选择其中权重最大的s个特征;步骤5使用countvectorizer方法将所有代码注释的文本信息表示成词频矩阵FMn×s,其中元素FM[i][j]表示第i个代码注释的文本信息中第j个单词的出现次数,其中i=1,2,...,n,j=1,2,...,s;步骤7构建基于XGBoost的分类器模型;首先,根据词频矩阵FM,将代码注释集合中样本Si表示为Si=xi,yi,xi={FM[i][1],FM[i][2],...,FM[i][s]},yi为对应的类标签;然后,计算所有代码注释的预测值;最后,采用加法的方式训练分类器模型,每次将目前最好的树模型加入到分类器模型中;步骤7采用留一交叉验证方法训练分类器模型;假设数据集中包含p个项目,选择其中p-1个项目的代码注释作为训练集,剩余1个项目的代码注释作为测试集,并将训练集中设计技术债务的代码注释的标签用0表示,需求技术债务的代码注释的标签用1表示,缺陷技术债务的代码注释的标签用2表示;通过分类器模型的不断迭代和优化,最终获得训练好的分类器模型;步骤8分类预测对于新的代码注释,首先对代码注释的文本信息进行预处理,然后对预处理的代码注释的文本信息进行特征选择,最后按照选定的特征将每条代码注释的文本信息表示成向量,并将每个向量输入到分类器模型中进行预测,分类器模型通过计算输出每条代码注释对每个类的预测值,其中预测值最大的类标签为代码注释的预测标签。

全文数据:

权利要求:

百度查询: 杭州电子科技大学 基于XGBoost的自承认技术债务多分类方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术