# Introduction
long time contributor(LTC)预测,LTC 会贡献更多的代码,所以研究 LTC 是有必要的。
# DataSet
888 个最流行的项目,56766 个贡献者,70899 个观察值。每个观察值对应了一个贡献者。这里注意:观察值和贡献者不一致是因为有的贡献者可能参与的多个项目,这里的观察值是一个贡献者在一个项目的情况。
31 个特征,包括 13 个 repo 属性和 18 个贡献者特征。
随机森林方法,AUC 达到了 0.913。
构建方法:从 GHTorrent 中 09/01/2017 数据抽取了 t 根据 start 排名的 top1000 的 repo,并且将没有特定语言、不使用 github 作为 issue tracker、forked 项目、重复项目排除在外,最终构建了 888 个项目。
# 特征
# 重要特征
top10 重要特种中,有 4 个 contributor 特征和 6 个 repository 特征。 c_History_Followers
(contributor 的粉丝数)) c_Age
(contributor 加入 github 和加入 repo 之间的天数差)是 contributor 两个最重要的特征。 r_age
(contributor 加入 repo 和 repo 创建的时间差),r_Number_Of_watches(仓库得到的 watch 数)是 repo 的两个最重要的特征。
# 所有特征
# 特征的重要表
# 预测模型和参数
随机森林作为预测模型,100 树。
这个是个二分类问题,正例是 LTC,负例是 non-LTC。
预测的阈值为 0.5
# 预测效果
In 10-fold cross-validation, the precision, recall, F1-score, MCC, and AUC of our best model (random forest) are 0.695, 0.079, 0.140, 0.226, and 0.913.
可以看出这个它预测的 recall 还是比较低的,也就是说它并不能很好地把 LTC 给找出来。但 AUC 值很高,
# 总结
这篇文章最大的贡献就是使用了机器学习来预测 LTC。