在 GitHub 的 2018 年度报告中,机器学习和数据科学是 GitHub 上的热门话题。TensorFlow是贡献者最多的项目之一,PyTorch 是增长最快的项目之一,Python 是 GitHub 上第三流行的语言。
为了深入研究 GitHub 上的机器学习和数据科学现状,GitHub 发布了关于二者的具体报告,统计了 2018 年 1 月 1 日到 12 月 31 日的贡献数据,包括 push 代码、打开 issue 或 pull request、评论 issue 等。至于最流行的包,GitHub 使用了来自依赖图的数据,包括所有开放 repo 和依赖图中现有的私有 repo。
编程语言
GitHub 查看了「machine-learning」相关 repo 的贡献者,对这些 repo 最常用的语言进行了排序。Python 是机器学习 repo 中最常用的语言,也是 GitHub 平台上第三流行的语言。但是,并非所有机器学习 repo 都使用 Python:GitHub 上的一些常用语言也是机器学习项目的常用语言。C++、JavaScript、Java、C#、Shell 和 TypeScript 都在 GitHub 常用语言前十名中,同时也是机器学习项目常用语言前十名。Julia、R 和 Scala 仅为机器学习项目前十,但在 GitHub 平台的使用率并没有那么高。Julia 和 R 是数据科学家常用的语言,Scala 在和大数据系统(如 Apache Spark)互动时的使用率逐渐提高。
流行的机器学习和数据科学包
GitHub 从依赖图中抓取数据,计算机器学习或数据科学项目导入不同流行 Python 包的比例。上述列表展示了这些项目导入包的 top 10。从中,我们可以看到:
支持在多维数据上的数学运算的 Numpy 包是最常导入的包,几乎 1/3 的机器学习和数据科学项目使用了 Numpy 包。
用于科学计算的 Scipy 包、用于管理数据集的 pandas、可视化库 matplotlib 在机器学习和数据科学项目中的使用率均超过 40%。
Scikit-learn 是流行的机器学习包,包含大量机器学习算法的实现,几乎 40% 的机器学习和数据科学项目使用该包。
接近 1/4 的机器学习和数据科学项目使用用于处理神经网络的 tensorflow 包。
前十名中的其余各包是实用程序包:six 是 Python 2 和 3 兼容库,python-dateutil 和 pytz 是处理日期的包。
最受欢迎的机器学习项目
GitHub 还查看了 2018 年「机器学习」标签下贡献者最多的开源项目。tensorflow 是目前最受欢迎的项目,贡献者人数是第二名 scikit-learn 的 5 倍。前十名中的 explosion/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/