在 GitHub 2018 年的 Octoverse 报告中,机器学习和数据科学是 GitHub 上的热门话题。其中,tensorflow / tensorflow 是项目贡献最多的项目之一,pytorch / pytorch 是增长最快的项目之一,而 Python 是 GitHub 上第三大最受欢迎的语言。于是,GitHub 决定更加深入地研究一下,机器学习和数据科学在该平台究竟是怎样的情况。
GitHub 提取了 2018 年 1 月 1 日到 2018 年 12 月 31 日之间的贡献数据。这些贡献可能包括推送代码、发起话题或提取请求、评论问题或提取请求,以及审查拉取请求。对于大多数导入的程序包,GitHub 使用了从依赖关系图中获得的数据,其中包括所有公共存储库和已选择加入依赖关系图的所有私有存储库。
机器学习编程语言:Python 稳坐冠军
GitHub 以使用“机器学习”主题标记的存储库的贡献者为依据,对存储库中最常见的主要编程语言进行了排名。结果显示,Python 是机器学习库中最常用的语言,也是 GitHub 上第三种最常用的语言。然而,并非所有机器学习项目都使用 Python:GitHub 上还有其他一些最常见的机器学习通用语言,如 C ++、JavaScript、Java、C#、Shel l 和 TypeScript 跻身 GitHub 编程语言 Top10,同时是机器学习项目的 Top10 语言。Julia、R 和 Scala 都出现在机器学习项目编程语言的前 10 名,但未上榜 GitHub 整体最受欢迎编程语言 Top10。Julia 和 R 都是数据科学家常用的语言,Scala 在 与 Apache Spark 等大数据系统交互时变得越来越常用。
最受欢迎机器学习和数据科学包:numpy、scipy、pandas 占据前三
我们从依赖图中提取数据,以计算导入流行 Python 包的机器学习或数据科学项目的百分比。上表为项目导入最多程序包 Top10 排名。我们发现:
Numpy,一个支持多维数据数学运算的软件包,是导入最多的软件包,近四分之三的机器学习和数据科学项目使用此包。
Scipy,一个用于科学计算的软件,pandas,一个用于管理数据集的软件包,以及可视化库matplotlib,都在超过 40% 的机器学习和数据科学项目中使用。
Scikit-learn 是一种流行的机器学习包,包含大量机器学习算法的实现,近 40% 的项目使用此包。
Tensorflow 是一种用于处理神经网络的软件包,近四分之一的项目使用。
前十名中其他的包均为实用程序包:排名第六的是 Python 2 和 3 兼容性库,python-dateutil 和 pytz 是用于处理日期的包。
最受欢迎的机器学习项目:Tensorflow
2018 年,带有“机器学习”标签、贡献最多的开源项目为 Tensorflow,是迄今为止最受欢迎的机器学习项目,且其贡献者数量是第二大受欢迎项目 scikit-learn 的五倍多。排名第三和第九的 explosion/spaCy/ spaCy 和 RasaHQ / rasa_nlu 是两个专注于自然语言处理问题的项目。另外四个项目,CMU-Perceptual-Computing-Lab / openpose,thtrieu / darkflow,ageitgey / face_recognition 和 tesseract-ocr / tesseract 则专注于图像处理。另外,Julia 语言源代码也是 2018 年项目贡献最多的项目之一。
原文链接:
https://github.blog/2019-01-24-the-state-of-the-octoverse-machine-learning/
评论