CN107644268B - 一种基于多特征的开源软件项目孵化状态预测方法 - Google Patents
一种基于多特征的开源软件项目孵化状态预测方法 Download PDFInfo
- Publication number
- CN107644268B CN107644268B CN201710813673.2A CN201710813673A CN107644268B CN 107644268 B CN107644268 B CN 107644268B CN 201710813673 A CN201710813673 A CN 201710813673A CN 107644268 B CN107644268 B CN 107644268B
- Authority
- CN
- China
- Prior art keywords
- network
- time period
- project
- node
- 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.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于多特征的开源软件项目孵化状态预测方法,包括如下步骤:步骤1收集关于Apache项目的文件提交以及邮件交流的历史数据;步骤2根据项目的前5个月的历史数据,构建项目成员的有向网络;步骤3提取特征数据,包括邮件网络的网络特征以及相关属性特征,作为训练测试数据;步骤4采用支持向量机(Support Vector Machine,SVM),的方法对数据进行训练,并构建多特征的开源软件项目孵化状态的预测模型。本发明通过属性特征结合网络特征来对项目状态进行预测分类,能够对项目的最终孵化状态进行合理高效的预测,解决了开源软件项目管理的行业需求。
Description
技术领域
本发明涉及数据挖掘、复杂网络、机器学习技术,特别是涉及一种基于多特征的开源软件项目孵化状态预测方法。
背景技术
在开源软件社区(Open source software,OSS),开发者通常自愿为项目做出代码或想法上的贡献,并且不求报酬。其次,开源软件项目组的成员往往身处世界各地,平时的项目交流活动更倾向于线上的、自发的组织形式。因此,相比于传统的商业软件项目,开源软件项目的发展过程与结果受到许多潜在的、有联系的、不确定性的因素影响。Apache软件基金会(Apache Software Foundation,ASF)专门为其托管项目提供平台支持,可以及时反映项目团队的发展方向与现状。同时,Apache软件基金会设置了Apache孵化器,用于决定是否接受新的项目。
开源软件社区的利益相关者,比如项目支持者与项目领导小组,非常注意一个(新)项目是否具有可维持和值得支持的可行性分析。如果能估计出一个开源软件项目是仍处于初始阶段,还是处于一个不成熟的状态,或者已经到了生命周期的尽头,对利益相关者而言显得尤为重要。
发明内容
为了克服现有技术无法实现开源软件(OSS)项目孵化状态预测的不足,本发明提供了一种基于多特征的开源软件项目孵化状态预测方法,不仅结合了项目初期的属性特征,同时也提取网络特征一起来进行训练预测,通过提取开源软件项目前期的网络特征和相关属性特征,利用机器学习算法预测项目的未来发展结果(项目孵化成功或失败)。
本发明解决其技术问题所采用的技术方案如下:
一种基于多特征的开源软件项目孵化状态预测方法,包括如下步骤:
步骤1:收集关于Apache项目的文件提交以及邮件交流的历史数据;
步骤2:根据项目的前设定时间段的历史数据,构建项目成员社交网络;
步骤3:提取前设定时间段历史数据中的属性特征和网络特征;
步骤4:采用机器学习分类器模型支持向量机(Support Vector Machine,SVM),选取核函数,构建多特征的开源软件项目孵化状态的预测模型,并进行十折交叉验证,得出测试精度。
进一步,所述步骤1中,收集历史数据,文件提取信息包括:程序员的ID,提交文件的时间,以及被提交文件的ID;邮件交流信息包括:发件人ID,收件人ID,以及交流的发生时间。
再进一步,所述步骤2中,根据步骤1中的项目前设定时间段的历史数据,构建项目成员社交网络,项目成员社交网络为一个由集合V、E和W组成的图,记为G=(V,E,W),其中V={v1,v2,…,vN}是节点的集合,表示邮件的参与人员,包括收件人和发件人;是有向连边的集合,连边方向是从邮件的发件人指向收件人;W=(wij)N×N是连边权重的集合,表示两人的邮件交流次数。
所述步骤3中,对前设定时间段属性特征的提取,属性特征包括:①前设定时间段的平均程序员数量;②前设定时间段的平均邮件数量;③前设定时间段的平均提交数量。
所述步骤3中,网络特征提取包括以下过程:
3.1)前设定时间段邮件网络的节点数量|V|,项目成员社交网络的节点集合是:
V={v1,v2,…,vN}, (1)
其中,vi(1≤i≤N)是一个节点,节点的集合大小用|V|=N表示;
其中,(vi,vj)∈E表示节点vi到节点vj的边,边的集合的大小用|E|=M表示;
3.3)前设定时间段邮件网络的特征向量中心性ce(G),计算如下:
其中网络图G中节点vi的特征向量中心性ce(vi),计算如下:
其中,γ是一个比例常数,Aij表示网络的加权邻接矩阵的元素,
假设Ce=(ce(v1),ce(v2),…,ce(vN))T是所有节点的中心向量,则式(4)写成如下矩阵形式:
γCe=ATCe, (5)
其中,A=(Aij)N×N表示加权邻接矩阵,γ是对应的特征值,Ce是邻接矩阵AT的特征向量;
3.4)前设定时间段邮件网络的恢复力β,计算如下:
3.5)前设定时间段邮件网络的密度D,计算如下:
其中,|E|表示网络的实际总边数;
3.6)前设定时间段邮件网络的度匹配性r,计算如下:
其中,ki和kj表示一条连边两个端点的度数,H表示网络中所有连边的总权重,wij表示节点vi到节点vj的连边权重;
3.7)前设定时间段邮件网络的聚类系数C,计算如下:
其中网络图G中节点vi的聚类系数Ci,计算如下:
si=∑jwij表示节点vi的强度,ki表示节点vi的度,
所述步骤4中,支持向量机SVM二分类模型的构建过程如下:
首先,确定核函数的选取,使用高斯核RBF,即样本xi和xj之间在特征空间的内积用它们在原始样本空间中通过函数k(xi,xj)来计算,其表达式如下:
其中,δ表示高斯核的带宽;
然后进行通过网格算法寻找SVM模型的参数最优值,再进行十折交叉验证,进行多次测试取平均,得出基于多特征的开源软件项目孵化状态预测方法的精度指标。
本发明的有益效果为:与现有技术相比,基于多特征的开源软件项目孵化状态预测方法通过提取项目前期的属性特征与社交网络的拓扑特征,能够对项目的最终孵化状态进行合理高效的预测,解决了开源软件项目管理的行业需求。
附图说明
图1为本发明中程序设计流程图;
图2为本发明中基于多特征的开源软件项目孵化状态预测模型的构建过程。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的描述。
参照图1和图2,一种基于多特征的开源软件项目孵化状态预测方法,本发明在Apache数据集上进行实例分析,原始数据中包含项目的参与人数,项目ID,文件提交数量等信息。本专利我们提取程序员ID,项目的邮件数量,以及文件提交数量等。
本发明具体分为以下四个步骤:
步骤1:收集关于Apache项目的文件提交以及邮件交流的历史数据;
步骤2:根据项目的前设定时间段(取5个月)的历史数据,构建项目成员社交网络;
步骤3:提取前5个月历史数据中的属性特征和网络特征;
步骤4:采用机器学习分类器模型支持向量机SVM,选取核函数,构建基于多特征的开源软件项目孵化状态的预测模型,并进行十折交叉验证,得出测试精度。
所述步骤1中,具体操作过程如下:选择网站的信息内容和对应的数据,文件提取信息包括:程序员的ID,提交文件的时间,以及被提交文件的ID等。邮件交流信息包括:发件人ID,收件人ID,以及交流的发生时间。
所述步骤2中,选取项目的前5个月的历史数据,构建项目成员社交网络,具体操作过程如下:项目成员社交网络为一个由集合V、E和W组成的图,记为G=(V,E,W),其中V={v1,v2,…,vN}是节点的集合,表示邮件的参与人员,包括收件人和发件人。是有向连边的集合,连边方向是从邮件的发件人指向收件人。W=(wij)N×N是连边权重的集合,表示两人的邮件交流次数。
所述步骤3中,对前设定时间段属性特征的提取,属性特征包括:①前设定时间段的平均程序员数量;②前设定时间段的平均邮件数量;③前设定时间段的平均提交数量
所述步骤3中,邮件属性特征数据的提取,如附图1所示,具体操作过程如下:
3.1)前5个月邮件网络的节点数量|V|,例如项目成员社交网络的节点集合是:
V={v1,v2,…,vN}, (1)
其中,vi(1≤i≤N)是一个节点,节点的集合大小用|V|=N表示;
3.2)前5个月邮件网络的连边数量|E|,例如项目成员社交网络的边的集合是:
其中,(vi,vj)∈E表示节点vi到节点vj的边,边的集合的大小用|E|=M表示;
3.3)前5个月邮件网络的特征向量中心性ce(G),计算如下:
其中网络图G中节点vi的特征向量中心性ce(vi),计算如下:
其中,γ是一个比例常数,Aij表示网络的加权邻接矩阵的元素,
假设Ce=(ce(v1),ce(v2),…,ce(vN))T是所有节点的中心向量,则式(4)可写成如下矩阵形式:
γCe=ATCe, (5)
其中,A=(Aij)N×N表示加权邻接矩阵,γ是对应的特征值,Ce是邻接矩阵AT的特征向量;
3.4)前5个月邮件网络的恢复力β,计算如下:
3.5)前5个月邮件网络的密度D,计算如下:
其中,|E|表示网络的实际总边数;
3.6)前5个月邮件网络的度匹配性r,计算如下:
其中,ki和kj表示一条连边两个端点的度数,H表示网络中所有连边的总权重,wij表示节点vi到节点vj的连边权重;
3.7)前5个月邮件网络的聚类系数C,计算如下:
其中网络图G中节点vi的聚类系数Ci,计算如下:
si=∑jwij表示与节点vi的强度,ki表示节点vi的度,
所述步骤4中,支持向量机SVM二分类模型的构建,过程如下:
首先,确定核函数的选取,使用高斯核RBF,即样本xi和xj之间在特征空间的内积用它们在原始样本空间中通过函数k(xi,xj)来计算,其表达式如下:
其中,δ表示高斯核的带宽。
然后进行通过网格算法寻找SVM模型的参数最优值,之后进行十折交叉验证的方式,即对将数据随机分成10份,依次取其中的1份作测试样本,剩下的9份作训练样本,得出基于多特征的开源软件项目孵化状态预测方法的精度指标。
如上所述为本发明在Apache网站的项目状态分类实施介绍,通过构建邮件网络,然后提取项目的前5个月的网络特征以及属性特征,构建基于多特征的开源软件项目孵化状态的预测模型,对网站内的项目给予合理预测。对发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。
Claims (3)
1.一种基于多特征的开源软件项目孵化状态预测方法,其特征在于,包括如下步骤:
步骤1:收集关于Apache项目的文件提交以及邮件交流的历史数据;
步骤2:根据项目的前设定时间段的历史数据,构建项目成员社交网络;
所述步骤2中,根据步骤1中的项目前设定时间段的历史数据,构建项目成员社交网络,项目成员社交网络为一个由集合V、E和W组成的有向图,记为G=(V,E,W),其中V={v1,v2,…,vN}是节点的集合,表示邮件的参与人员,包括收件人和发件人;是有向连边的集合,连边方向是从邮件的发件人指向收件人;W=(wij)N×N是连边权重的集合,表示两人的邮件交流次数;
步骤3:提取前设定时间段历史数据中的属性特征和网络特征;
所述步骤3中,网络特征提取包括以下过程:
1)前设定时间段邮件网络的节点数量|V|,项目成员社交网络的节点集合是:
V={v1,v2,…,vN}, (1)
其中,vi,是一个节点,(1≤i≤N),节点的集合大小用|V|=N表示;
2)前设定时间段邮件网络的连边数量|E|,项目成员社交网络的边的集合是:
其中,(vi,vj)∈E表示节点vi到节点vj的边,边的集合的大小用|E|=M表示;
3)前设定时间段邮件网络的特征向量中心性ce(G),计算如下:
其中网络图G中节点vi的特征向量中心性ce(vi),计算如下:
假设Ce=(ce(v1),ce(v2),…,ce(vN))T是所有节点的中心向量,则式(4)写成如下矩阵形式:
γCe=ATCe, (5)
其中,A=(Aij)N×N表示加权邻接矩阵,γ是对应的特征值,Ce是邻接矩阵AT的特征向量;
4)前设定时间段邮件网络的恢复力β,计算如下:
5)前设定时间段邮件网络的密度D,计算如下:
其中,|E|表示网络的实际总边数;
6)前设定时间段邮件网络的度匹配性r,计算如下:
其中,ki和kj表示一条连边两个端点的度数,H表示网络中所有连边的总权重,wij表示节点vi到节点vj的连边权重;
7)前设定时间段邮件网络的聚类系数C,计算如下:
其中网络图G中节点vi的聚类系数Ci,计算如下:
si=∑jwij表示节点vi的强度,ki表示节点vi的度,
所述步骤3中,对前设定时间段属性特征的提取,属性特征包括:①前设定时间段的平均程序员数量;②前设定时间段的平均邮件数量;③前设定时间段的平均提交数量;
步骤4:采用机器学习分类器模型支持向量机SVM,选取核函数,构建多特征的开源软件项目孵化状态的预测模型,并进行十折交叉验证,得出测试精度。
2.如权利要求1所述的一种基于多特征的开源软件项目孵化状态预测方法,其特征在于:所述步骤1中,收集历史数据,文件提取信息包括:程序员的ID,提交文件的时间,以及被提交文件的ID;邮件交流信息包括:发件人ID,收件人ID,以及交流的发生时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710813673.2A CN107644268B (zh) | 2017-09-11 | 2017-09-11 | 一种基于多特征的开源软件项目孵化状态预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710813673.2A CN107644268B (zh) | 2017-09-11 | 2017-09-11 | 一种基于多特征的开源软件项目孵化状态预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107644268A CN107644268A (zh) | 2018-01-30 |
CN107644268B true CN107644268B (zh) | 2021-08-03 |
Family
ID=61111335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710813673.2A Active CN107644268B (zh) | 2017-09-11 | 2017-09-11 | 一种基于多特征的开源软件项目孵化状态预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644268B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947462A (zh) * | 2019-03-15 | 2019-06-28 | 武汉大学 | 一种面向软件代码变更集成的决策支持方法及装置 |
CN111612098B (zh) * | 2020-06-02 | 2024-01-05 | 中国人民解放军国防科技大学 | 协同开发社区中里程碑完成时间预测方法和装置 |
CN112347373B (zh) * | 2020-11-13 | 2022-06-17 | 浙江工业大学 | 一种基于开源软件邮件网络的角色推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065066A (zh) * | 2013-01-22 | 2013-04-24 | 四川大学 | 基于药物组合网络的药物联合作用预测方法 |
CN105959988A (zh) * | 2016-04-15 | 2016-09-21 | 北京航空航天大学 | 一种基于支持向量机的认知无线自组织网络节点稳定性判决方法 |
CN106951471A (zh) * | 2017-03-06 | 2017-07-14 | 浙江工业大学 | 一种基于svm的标签发展趋势预测模型的构建方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672953B2 (en) * | 2007-06-28 | 2010-03-02 | Microsoft Corporation | Publishing work activity information key tags associated with shared databases in social networks |
CN101655932A (zh) * | 2008-08-22 | 2010-02-24 | 环达电脑(上海)有限公司 | 项目进度跟踪系统及其方法 |
CN105893050B (zh) * | 2016-04-05 | 2020-04-28 | 延锋伟世通电子科技(南京)有限公司 | 一种基于PLMS、SVN和Jenkins进行软件项目全生命周期管理的方法 |
CN106529562A (zh) * | 2016-09-09 | 2017-03-22 | 浙江工业大学 | 一种基于Email网络的开源软件项目开发者预测方法 |
-
2017
- 2017-09-11 CN CN201710813673.2A patent/CN107644268B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065066A (zh) * | 2013-01-22 | 2013-04-24 | 四川大学 | 基于药物组合网络的药物联合作用预测方法 |
CN105959988A (zh) * | 2016-04-15 | 2016-09-21 | 北京航空航天大学 | 一种基于支持向量机的认知无线自组织网络节点稳定性判决方法 |
CN106951471A (zh) * | 2017-03-06 | 2017-07-14 | 浙江工业大学 | 一种基于svm的标签发展趋势预测模型的构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107644268A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597844B (zh) | 基于深度神经网络与图网络的核心用户挖掘方法及系统 | |
US11783195B2 (en) | Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions | |
CN112199608B (zh) | 基于网络信息传播图建模的社交媒体谣言检测方法 | |
CN109583904A (zh) | 异常操作检测模型的训练方法、异常操作检测方法及装置 | |
CN107644268B (zh) | 一种基于多特征的开源软件项目孵化状态预测方法 | |
CN108280104A (zh) | 目标对象的特征信息提取方法及装置 | |
CN110991789B (zh) | 置信区间的确定方法和装置、存储介质及电子装置 | |
CN111369299A (zh) | 识别的方法、装置、设备及计算机可读存储介质 | |
US20180336482A1 (en) | Social prediction | |
Azadeh et al. | Artificial immune simulation for improved forecasting of electricity consumption with random variations | |
CN111210072A (zh) | 预测模型训练和用户资源额度确定方法及装置 | |
CN105824806A (zh) | 一种公众账号的质量评价方法和装置 | |
CN114841526A (zh) | 一种高风险用户的检测方法、计算设备及可读存储介质 | |
CN114238764A (zh) | 基于循环神经网络的课程推荐方法、装置及设备 | |
CN113704637A (zh) | 基于人工智能的对象推荐方法、装置、存储介质 | |
CN115049397A (zh) | 识别社交网络中的风险账户的方法及装置 | |
CN116307078A (zh) | 账户标签预测方法、装置、存储介质及电子设备 | |
CN107644042A (zh) | 软件程序点击率预估排序方法及服务器 | |
CN112507185B (zh) | 用户肖像的确定方法和装置 | |
JP6306951B2 (ja) | ソーシャルネットワークサービスにおけるノイズ投稿の分類方法およびシステム | |
CN112734142A (zh) | 基于深度学习的资源学习路径规划方法及装置 | |
CN111563775A (zh) | 人群划分方法及装置 | |
JP6199480B2 (ja) | シミュレーション解析方法および情報処理システム | |
CN108876031B (zh) | 一种软件开发者贡献值预测方法 | |
Buruzs et al. | Using Fuzzy Cognitive Maps approach to identify integrated waste management system characteristics |
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 |