1.现在已处理的可利用信息有:项目间贡献者(提交过commit信息)的交集、pull request核心开发者交集(pr的合并或关闭,重开)、issue核心开发者交集(issue的合并或关闭,重开)、项目owner的follow关系。
其中项目owner的follow关系数量极少,只有20条关系,而且大都不准确直接忽略。
-
贡献者交集数量>=5的关系数量:1152 >=1 : 275844
-
pr核心开发者交集数量>=5的关系数量 :145 >=1 : 2509
-
issue核心开发者交集数量>=5的关系数量 :102 >=1 : 715
2.两种做法:
-
选出和原项目A有依赖关系的多个项目B、C,采取投票制,训练回归模型确定项目影响权重。Acc(A) = W0 * H(B) + W1 * H(C) ,H(B)表示B的模型对A的数据的分类结果。W0、W1又可以通过pr和issue交集等信息确定,即W0 = X0 * Count(Pr) + X1 * Count(Issue) + X2 * Count(Contributors),整个可以看做是线性回归问题,最终确定权重X0,X1,X2。
-
根据依赖关系强度按比例抽取各个项目的issue数据,最终综合数据训练模型对原项目A进行预测
3.先采取第一种做法
-
由于数据计算量较大,首先将所有项目的模型和vocab存储下来
-
采取随机抽一个项目对原项目进行跨项目预测作为baseline,之后通过引入项目依赖关系等先验知识,再次对原项目预测分类比较结果