怎样追踪GitHub项目的流行度,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
GitHub 是世界上***的开源软件托管平台,因此追踪 GitHub 流行度对于软件开发者和用户都非常重要。
度量流行度
这里我们考虑 GitHub 上前 24 强编程语言,通过 GitHub 先进的搜索引擎分类出来的。下面的数据是每个语言前 1000 个库的 stars 数分布。
假设在 24000 个样例中系统中前 10% 的系统是流行的,前 1% 是非常流行的。
下面这个表展示的是每个编程语言流行和非常流行的系统数目
流行度增长模式 Popularity Growth Patterns
随着时间的推移评估应用的流行度,我们限制分析流行系统时间至少是 52 周。以这种方式,我们研究了 2138 个流行系统(89% 的初始样例)。为了这个系统,我们定义 Rt 是在周数 t 排名列表的排名对数(基数为 2)。这个排名对数是根据流行系统的 Stars 数目的 right-skewed 确定的。***的系统排名是 1。最早的周是 1,***的是 52。同时还定义了 RTop 和 RBottom 作为***排名和***排名。
我们得出以下的几种流行度增长模式:
持续性增长:在分析周期下持续性增长,计算方式:
(RBottom − RTop ) < 0.25示例:
快速增长:计算方式:
(ROld − RNow ) > 1 ∧ (Rt+1 ≤ Rt) in at least 90% of the weeks t
示例:
缓慢增长:计算方式:
(RNow − ROld) > 1 ∧ (Rt+1 ≥ Rt) in at least 90% of the weeks t
示例 (which resulted in a decrease on their rank):
病毒式增长:在很短的时间内(比如一周)达到***的 Stars 数目
示例:
下面列表展示的是每个编程语言持续性增长,快速增长,缓慢增长,病毒式增长的情况:
流行度相关的 Forks 和相关使用
Forks:下面的数据展示了一个项目流行度和 TA 的 forks 数的关系。我们可以看到 forks 和 Stars 很强的正相关关系(Spearman rank correlation coefficient = 0.55)。
客户端:为了关联客户端使用和 Stars,我们专注于一个限制的应用分组,这是由 NPM 注册表的 Node.js 基础库组成的。我们首先使用 NPM API 检索在数据库中流行 JavaScript 应用依赖的数量。然后手动根据依赖选择的 Node.js 基础库模块来审查前 100 个应用。我们发现这两个因素也有很强的关联关系(Spearman’s rank correlation coefficient of 0.68)。
总结
我们致力于一个可以跟踪 GitHub 流行度的框架,使用这个框架我们能发现:
JavaScript 垄断了超过三分之一的 GitHub 流行应用,接下来是 Ruby, Objective-C, Python, Java 和 PHP 这 5 种语言占据另外三分之一的流行应用。
21% 的流行系统有可持续的增长;5% 的流行系统有快速的增长;少于 1% 的流行系统会缓慢增长。我们发现有 37 个系统有病毒式增长的行为。
系统的 Stars 数不仅仅跟 forks 数有关,其他客户端应用的高效使用也有一定的关联。
关于怎样追踪GitHub项目的流行度问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。