# 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 的两个最重要的特征。

# 所有特征

image-20220104145833565

# 特征的重要表

image-20220104153402886

# 预测模型和参数

随机森林作为预测模型,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 值很高,

image-20220104153046914

# 总结

这篇文章最大的贡献就是使用了机器学习来预测 LTC。