几个星期前,我决定创建一个应用程序,利用这个程序在GitHub中寻找占据主导地位的编程语言。最近我主要进行的项目是机器学习,数据科学和人工智能的项目。我想知道自己新增的东西,如何显示在我已收藏的项目时间表里。还有什么更好的方法,能只利用少量的DS知识来实现我的想法呢?
我的实验包括从GitHub中获取数据,数据清理,并利用可视化方式来展示这些信息。我做了一个网站,如果你也想自己尝试一下,请点击:https://starred.jjperezaguinaga.com/
如果你已经进行了尝试,请给我一点时间解释它的工作原理,然后给你举一些有趣的例子。
检索和分析数据
无论好坏,GitHub不会为你提供一个消费信息的简单方法。你需要遍历github.com网站上的所有被收藏的项目,然后点击大量的页面才能找到你想要的信息。你需要花费几分钟时间才能查到特定时间段内所有的项目,当然,这还要取决于你收藏的资源库的数量。
好的一点是,GitHub有一个针对星标收藏的API,我利用这个API编写了一个JavaScript程序来获取所有我收藏过的项目。(PS:GitHub只允许你显示一个标记,标记出你第一次发布项目的日期,所以我只能看到我2016年收藏的项目。)
随着数据检索的进行,我通过GitHub中项目的编程语言标签来进行信息的过滤。 Ramda对于映射并筛减这些数据特别有用。
然后,为了对这些信息进行可视化处理,我通过下图来显示每个资源库中编程语言被使用的频率。通过每月汇总的各个语言实例,我可以看到随着时间的推移,项目中增添和删减的编程语言信息。
2016年,我收藏的项目的流图每月按语言进行的汇总和分类。 GitHub有时无法确定项目的特定语言,则将项目语言赋予null。
正如图中所示,我在2016年参与了142个项目。在我收藏的资源库中有超过15种的编程语言,但这里只显示前7个,因为每种语言的使用频率是逐渐下降的。毫无疑问,我使用频率最高的语言是JavaScript,因为我是一个前端工程师。
第二和第三种高频使用的编程语言是Python和Go,这很可能与我前面提到的关于人工智能或深度学习的项目有关。Python这种语言很有意义,因为最近它被认为是机器学习算法中最流行的语言。
每个人都会得到一个图
作为开发工具过程中的一部分,我与其他开发人员一起测试了应用程序。并产生了一系列有趣的图表。
以下列出了几个著名开发人员的图表,按他们收藏次数最多的语言进行了分组。
Javascript的开发人员
Addy Osmani - Google网络平台工程师
Paul Irish - Chrome开发工具工程师
Eric Elliott - Javascript开发
Sindre Sorhus - 伪装的独角兽
John Resig - Khan Academy的工程师
Dan Abramov -Facebook工程师,Redux的合作者, React App和React.js的开发人员

Ben Alpert - Facebook工程师,React.js 创始人
Golang的开发人员

TJ Holowaychuk - Apex.sh的创始人,Javascript和Golang开发人员
Jessie Frazzelle - Everything containers
Josh Baker — Makes a killer goulash
aarti - Exercism.io Contributor
Python开发人员

Thaddee Tyl — He saw some code
John Washam-未来Google工程师
Geimfari - Pythonista, Erlanger, Cosmonaut
Nam Vu - 未来机器学习工程师
Swift,R
Luke Zhao - iOS开发者
Jennifer Bryan - UBC教授
关于数据的一些事
我从这个实验中获得了很多乐趣,并学到了两个重要的道理:
数据是迷人的。不是所有东西都需要有深刻的意义才是有趣的。例如,本文的封面是把来自各种数据集的一系列流图进行重叠后的产物。
我们的数据重新定义我们本身。给定足够多被“Star”的项目,两个人在完全相同的时间拥有完全相同的已收藏的资源库的机率是极小的。因此,我们可以通过查看开发者的数据来分析他们的收藏模式。这是一个用户行为分析的示例,过去用于通过分析移动应用的使用情况来进行用户的识别。
实验结束时,我比之前更有兴趣探索数据可视化和机器学习的用法。我将继续在该领域进行广泛而深入的学习,以便在未来创造更多的实验。
英文原文:
https://medium.freecodecamp.com/data-visualization-what-languages-got-the-most-github-stars-in-2016-a4e3908a9532#.vc13qolb3
作者:Jose Aguinaga
继续阅读
阅读原文