[发明专利]一种基于异构数据的相关补丁推荐方法有效
申请号: | 201911067915.3 | 申请日: | 2019-11-04 |
公开(公告)号: | CN111045716B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 郑子彬;陈志豪;李全忠 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F8/658 | 分类号: | G06F8/658;G06F40/284 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 相关 补丁 推荐 方法 | ||
1.一种基于异构数据的相关补丁推荐方法,其特征在于,包括:
S10爬取代码审查网站代码审查记录或文件的多元异构数据,其中多元异构数据包括补丁基本信息、补丁代码、补丁简述、与预测补丁具有相关性的补丁列表;
S20利用补丁基本信息构建元特征统计补丁代码中各种补丁类型的频次,并将同一个补丁修改过程中各个修改类型的频次组合成补丁的修改特征向量;提取补丁的相应简述,并将之自然语言转换成机器可识别的简述嵌入特征;将补丁元特征、修改特征向量、简述的嵌入特征拼接为补丁特征向量;
S30补丁代码中预测补丁i与补丁列表中补丁j组成补丁i-补丁j对,视为正样本,预测补丁i与补丁列表外的补丁j组成补丁i-补丁j对,视为负样本,i代表当前项,j为变量,代表成对补丁数,为正、负样本标记二分类标签;从多元异构数据中采集正、负样本构成样本集,将样本集划分为训练集、验证集;
S40用训练集训练逻辑回归模型、随机森林模型、LightGBM模型;
S50设置预测阈值η及从概率到标签的映射关系,将验证集输入逻辑回归模型得到概率PLR和对应预测标签,输入随机森林模型得到概率PRF和对应预测标签,输入LightGBM模型概率PLGB和对应预测标签,使用相应的预测标签计算相应模型预测的准确率,分别得到逻辑回归模型的准确率aLR、随机森林模型的准确率aRF、LightGBM模型的准确率aLGB;
S60分别计算逻辑回归模型、随机森林模型、LightGBM模型的融合权值wI,通过融合权值wI与概率PLR、概率PRF、概率PLGB的加权求和构建预测评分score,获取最优预测评分score;
所述逻辑回归模型、随机森林模型、LightGBM模型均做二分类任务,以预测两个补丁是否相关为目标,即以一个补丁i-补丁j对所对应标签为0或1为目标,最终模型的预测输出样本标记为1的概率,以及样本对应的预测标签0或1;
所述S40具体为:
利用训练集训练逻辑回归模型,就是将补丁对特征x=[x1,x2,...,xn]T输入至逻辑回归模型,利用逻辑回归模型中的参数向量:w=[w1,w2,...,wn]T,将输入特征和参数向量线性加和为两向量的内积:wT·x=w1x1+w2x2+...+wnxn,预测目标公式:其中pLR是逻辑回归的输出,即样本标签为1的概率,x是模型的输入特征向量,w为逻辑回归的各个特征的线性加和参数,b为线性加和的偏置值,σ(wT·x+b)为sigmoid映射函数,经过负梯度下降方法优化w和b,得到一个确定的逻辑回归模型,记为LR;
利用训练集训练随机森林模型;随机森林是K棵CART决策树的集合,CART分类树为每个叶子节点分配一个得分,最终得分是所有CART的预测得分均值,且每棵CART分类树都是独立的,以训练集训练一个确定的随机森林模型,记为RF,记补丁对的特征向量为x,则经模型输出样本标签为1的概率的预测目标公式:其中Tk(x)是第K棵CART树,每棵树的学习目标是x对应的标签,输出分类概率,Tr表示包含所有CART树的函数空间;
利用训练集训练LightGBM模型;LightGBM的训练是一个迭代建立决策树的过程,设置M次迭代得到LightGBM模型,记为FM(x)=FM-1(x)+αMTM(x),其中TM(x)为迭代过程中建立的第M棵树,αM为第M棵树的权值,输入训练集训练得到一个确定的LightGBM模型,记为LGB,记补丁对的特征向量为x,则LightGBM模型输出样本标签为1的概率:其中FM(x)为LightGBM模型经M次迭代后的最终模型,M为迭代收敛次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911067915.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置