当今时代,开源是创新和技术快速发展的核心。本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们的发展趋势。和去年一样,KDnuggets 介绍了 GitHub 上最新的并且排名前 20 的 Python 机器学习开源项目。令人吃惊的是,去年一些最活跃的项目已经停滞不前了,也有一些项目跌出了前 20 名(在 contribution 和 commit 方面),当然,也有 13 个新项目进入了前 20。

 

2016 年排名前 20 的 Python 机器学习开源项目

1.Scikit-learn 是一种基于 NumPy、SciPy 和 matplotlib 的用于数据挖掘和数据分析的工具,其不仅使用起来简单高效,而且还是开源的,可供所有人使用,并且拥有商业可用的 BSD 许可证,在不同的环境下都能很好的被使用。

提交:21486,贡献者:736

链接:http://scikit-learn.org/

2.TensorFlow 最初由 Google 机器智能研究机构的 Google Brain 团队的研究人员和工程师开发。该系统旨在促进对机器学习的研究,同时也让机器学习研究原型过渡到生产系统更加高效容易。

提交:10466,贡献者:493

链接:https://www.tensorflow.org/

3.Theano 能让您更加高效地定义、优化和评估涉及多维数组的数学表达式。

提交:24108,贡献者:263

链接:http://deeplearning.net/software/theano/

4.Caffe 是一个由伯克利视觉与学习中心(BVLC)和社区贡献者开发的深度学习框架,它兼具表现力和速度,还有模块化的优点。

提交:3801,贡献者:215

链接:http://caffe.berkeleyvision.org/

5.Gensim 是一个免费的 Python 库,它具有诸如可扩展的统计语义等特征,它可用于分析纯文本文档的语义结构和检索语义相似的文档。

提交:2702,贡献者:145

链接:https://radimrehurek.com/gensim/

6.Pylearn2 是一个机器学习库。它的大部分功能都是建立在 Theano 的基础之上。这意味着你可以使用数学表达式编写 Pylearn2 插件(新模型、算法等),然后 Theano 将为你优化这些表达式让其更加稳定,并将根据你的选择把它编译适配相应的后端(CPU 或 GPU)。

提交:7100,贡献者:115

链接:http://github.com/lisa-lab/pylearn2

7.Statsmodels 是一个允许用户挖掘数据、估计统计模型和执行统计测试的 Python 模块。描述性统计、统计测试、绘图函数和结果统计的详细列表可用于不同类型的数据和估计器。

提交:8664,贡献者:108

链接:https://github.com/statsmodels/statsmodels/

8.Shogun 是一种提供大量高效且统一的机器学习(ML)方法的机器学习工具箱。它能容易地把多种数据表示,算法类和通用工具紧密地联系起来。

提交:15172,贡献者:105

链接:https://github.com/shogun-toolbox/shogun

9.Chainer 是一个基于 Python 并且独立的深度学习模型开源框架。Chainer 提供一种灵活、直观且高效的方法来实现整个深度学习模型,包括如循环神经网络和变分自动编码器等最先进的模型。

提交:6298,贡献者:84

链接:https://github.com/pfnet/chainer

10.NuPIC 是一个基于一种被称为分层式即时记忆(HTM/ Hierarchical Temporal Memory)的新皮质理论的开源项目。HTM 理论中的一部分已经在应用中被实现、测试和使用了,而其他部分仍在开发中。

提交:6088,贡献者:76

链接:http://github.com/numenta/nupic

11.Neon 是 Nervana (http://nervanasys.com/) 公司的一个基于 Python 的深度学习库。它提供易用性的同时也提供了最高的性能。

提交:875,贡献者:47

链接:http://neon.nervanasys.com/

12.Nilearn 是一个用于在 NeuroImaging 数据上快速轻松地进行统计学习的 Python 模块。它利用 scikit-learn Python 工具箱来处理如预测建模、分类、解码或连接分析等多变量统计信息。

提交:5254,贡献者:46

链接:http://github.com/nilearn/nilearn

13.Orange3 是一个新手和专家都可以使用的开源机器学习和数据可视化工具。在交互式数据分析工作流程中拥有大型的工具箱。

提交:6356,贡献者:40

链接:https://github.com/biolab/orange3

14.Pymc 是一个实现贝叶斯统计模型和拟合算法的 Python 模块,其中包括马尔可夫链和蒙特卡罗方法。其灵活性和可扩展性使其适用于大量问题。

提交:2701,贡献者:37

链接:https://github.com/pymc-devs/pymc

15.PyBrain 是 Python 的一个模块化机器学习库。它的目标是为机器学习任务提供灵活且易于使用但仍然强大的算法,以及各种预定义环境来对你的算法进行测试和比较。

提交:984,贡献者:31

链接:http://github.com/pybrain/pybrain

16.Fuel 是一个数据管道框架(data pipeline framework),它为你的机器学习模型提供所需的数据。它将被 Blocks 和 Pylearn2 神经网络库使用。

提交:1053,贡献者:29

链接:http://github.com/mila-udem/fuel

17.PyMVPA 是一个用于简化大型数据集的统计学习分析 Python 包。它提供了一个可扩展的框架,具有大量用于分类、回归、特征选择、数据导入和导出等算法的高级接口。

提交:9258,贡献者:26

链接:https://github.com/PyMVPA/PyMVPA

18.Annoy(Approximate Nearest Neighbors Oh Yeah)是一个绑定 Python 的 C ++库,用来搜索在空间中距离给定查询点较近的点。它还创建了基于大型只读文件的数据结构,这些数据结构被映射到内存中,以便许多进程可以共享相同的数据。

提交:365,贡献者:24

链接:https://github.com/spotify/annoy

19.Deap 是一个用于快速原型和测试思想的新颖的进化计算框架。它试图使算法更加浅显易懂,数据结构更加透明。它与并行机制(例如 multiprocessing 和 SCOOP)能完美协调。

提交:1854,贡献者:21

链接:https://github.com/deap/deap

12.Pattern 是 Python 编程语言的 Web 挖掘模块。它捆绑了数据挖掘(Google + Twitter +维基百科 API、网络爬虫、HTML DOM 解析器)、自然语言处理(词性标记、n-gram 搜索、情感分析、WordNet)、机器学习(向量空间模型、k-means 聚类、朴素贝叶斯+ k-NN + SVM 分类器)和网络分析(图形中心性和可视化)等工具。

提交:943,贡献者:20

链接:https://pypi.python.org/pypi/Pattern

 

机器之心编译

参与:杨旋、吴攀