目前开源是技术创新和快速发展的核心。这篇文章向你展示了2016年20大Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势。
作者:Prasad Pore
继续去年的分析:20大Python机器学习开源项目,今年KDnuggets向您展示Github上最新的20大Python机器学习开源项目。奇怪的是,一些去年最活跃的项目已经变得停滞不前,而且也有一些从前20名中跌落了出来(考虑贡献率和评论量),而13个新的项目进入了前20名。
1.Scikit-learn是简单高效的数据挖掘和数据分析工具,方便任何人使用,而且可以在许多环境中重复使用,建立在NumPy,SciPy和matplotlib之上,开源,商业上可用的BSD许可证。
评论:21486,贡献者:736,Github URL:Scikit-learn
2.Tensorflow最初由在Google机器智能研究组织中Google大脑团队的研究人员和工程师开发出来的。设计该系统是为了促进机器学习的研究并使其更加快速容易地从研究原型过渡到生产系统。
评论:10466,贡献者:493,Github URL:Tensorflow
3.Theano允许您有效的定义,优化和评估涉及多维数组的数学表达式。
评论:24108,贡献者:263,Github URL:Theano
4.Caffe是一种由表达式,速度和模块化思维构成的深度学习框架。它是由伯克利想象力和学习中心(简称BVLC)以及社会上的贡献者共同开发出来的。
评论:3801,贡献者:215,Github URL:Caffe
5.Gensim是具有可扩展统计语义,分析纯文本文件的语义结构,检索相似语义文件特征的一种免费的Python库。
评论:2702,贡献者:145,Github URL:Gensim
6.Pylearn2是一种机器学习库。它的大部分功能是建立在Theano的上层。这意味着,您可以使用数学表达式写Pylearn插件(新模型,算法等),而Theano会为您优化和稳定这些表达式,并且根据您选择的后台(CPU或GPU)编译这些表达式。
评论:7100,贡献者:115,Github URL:Pylearn2
7.Statsmodels是一个Python模块,它允许用户检索数据,评估统计模型,并进行统计测试。一列广泛的描述性统计,统计测试,绘图功能,以及结果统计列表就可用于不同类型的数据和估测对象。
评论:8664,贡献者:108,Github URL:Statsmodels
8.Shogun是机器学习的工具箱,它能提供一个广泛同一、高效的机器学习方法。这个工具箱轻松完美地实现多个数据表达式,算法类别以及通用工具的组合。
评论:15172,贡献者:105,Github URL:Shogun
9.Chainer是一个基于Python深度学习模型的独立开源框架。Chainer提供一种灵活,直观,高效的实现全方位深度学习模型的方法,包括最先进的模型如周期性的神经网络和变化的自动编码器。
评论:6298,贡献者:84,Github URL:Chainer
10.NuPIC是基于一种叫做分层时间记忆(HTM)新皮质理论的开源项目。部分HTM理论已经在实际应用中实施,测试和运用了,而其他部分的HTM理论仍在开发中。
评论:6088,贡献者:76,Github URL:NuPIC
11.Neon是以Nervana's Python为基础的深度学习库。当启用最高性能时它提供易用性。
评论:875,贡献者:47,Github URL:Neon
12.Nilearn是一种快速简单地对影像数据进行统计学习的Python模块。它利用了scikit-learn UPython工具箱的应用如预测模型、多元统计分类,解码,或连通性分析。
评论:5254,贡献者:46,Github URL:Nilearn
13.Orange3是提供给新手和专家的开源机器学习和数据可视化工具。具有大工具箱的交互式数据分析工作流程。
评论:6356,贡献者:40,Github URL:Orange3
14.Pymc是是一个实现了贝叶斯统计模型和拟合算法的Python模块,包括马尔可夫和蒙特卡洛。它的灵活性和可扩展性使它适用于一大系列的问题。
评论:2701,贡献者:37,Github URL:Pymc
15.pybrain是Python模块化的机器学习库。它的目标是提供灵活便捷而又高效的机器学习任务算法,还有一系列预先定义的环境来测试和比较用户算法。
评论:984,贡献者:31,Github URL:pybrain
16.Fuel是一个数据管道框架,它能提供你所需要的数据的机器学习模型。Fuel计划被用于Blocks和Pylearn2神经网络库。
评论:1053,贡献者:29,Github URL:Fuel
17.pymvpa是一个Python包,旨在缓解大数据集的统计学分析。它提供了一个可扩展的框架,一个高层次的接口,广泛的算法分类,回归,特征选择,数据导入和导出。
评论:9258,贡献者:26,Github URL:pymvpa
18.Annoy(近似最邻近)是一个C++库的Python绑定搜索空间中的点,是接近一个给定的查询点。它还创造了基础,mmapped到内存中,许多进程可以共享相同的数据结构大的只读文件。
评论:365,贡献者:24,Github URL:Annoy
19.Deap是一个新型的快速原型设计和测试思想的进化计算框架。它旨在使算法显式和数据结构透明。它可以和类似于多进程及SCOOP等并行化机制完美协同工作。
评论:1854,贡献者:21,Github URL:Deap
20.Pattern是一个Python编程语言的Web挖掘模块。它使用许多工具进行数据挖掘(谷歌+维基百科+推特API,网络爬虫,HTML DOM解析器),自然语言处理(言语者部分n-gram搜索,情感分析,WordNet),机器学习(向量空间模型、k-均值聚类,贝叶斯+ k + SVM分类器)和网络分析(图的中心和可视化)。
评论:943,贡献者:20,Github URL:Pattern
我们可以看到下面的图,与列表中的所有项目对比pymvpa贡献率最高。令人惊讶的是,scikit-learn的贡献率低,尽管有着比其他项目多的贡献者。原因可能是,PyMVPA是一个新的项目,通过早期阶段的发展,由于新思想/发展特点、缺陷修复、重构等导致有许多评论。而scikit-learn是旧的,稳定的项目从而减少改善或缺陷的修复。
当我们比较2016和2015个项目的20强名单的一部分,我们可以看到的pattern,PyBrain和pylearn2没有重大的贡献也没有新的贡献。此外可以看到评论和贡献者有显著的相关性。贡献者的增多可能导致评论的增多,我认为这就是开源项目和社区的魔力。它能激发头脑风暴,新的想法和更好的软件工具。
这是由 KDnuggets Team – Prasad and Gregory整理的基于贡献者数目和评论数目的对2016年20大Python机器学习开源项目的分析。
领取专属 10元无门槛券
私享最新 技术干货