如今开源是创新的核心,推动着技术的飞速革新。本文会为你介绍 2016 年机器学习 Top 20 Python 开源项目,同时分析得出一些有趣的见解和发展趋势。

KDnuggets 为您带来 Github 上最新的 Python 机器学习开源项目前 20 名。奇怪的是,去年一些非常活跃的项目渐渐停滞了,因此没能上榜,而 13 个新项目冲进了今年的 top 20(参考贡献 contributions 和提交数 commits)。

2016 Top 20 Python 机器学习开源项目

1. Scikit-learn 是一个简单且高效的数据挖掘和数据分析工具,易上手,可以在多个上下文中重复使用。它基于NumPy, SciPy 和 matplotlib,开源,可商用(基于 BSD 许可)

提交数: 21486, 贡献者: 736, Github 链接: Scikit-learn

2. Tensorflow 最初由谷歌机器智能科研组织中的谷歌大脑团队(Google Brain Team)的研究人员和工程师开发。该系统设计的初衷是为了便于机器学习研究,能够更快更好地将科研原型转化为生产项目。

提交数: 10466, 贡献者: 493, Github 链接: Tensorflow

3. Theano 允许高效地定义、优化以及评估涉及多维数组的数学表达式. 提交数: 24108, 贡献者: 263, Github 链接: Theano

4. Caffe 是一个基于表达式,速度和模块化原则创建的深度学习框架。它由伯克利视觉学习中心(BVLC, Berkeley Vision and Learning Center)和社区贡献者共同开发。 提交数: 3801, 贡献者: 215, Github 链接: Caffe

5. Gensim 是一个免费的 Python 库,它包含可扩展的统计语义,分析纯文本文档的语义结构,以及检索相似语义的文档等功能。

提交数: 2702, 贡献者: 145, Github 链接: Gensim

6. Pylearn2 是一个机器学习库。它的大多数功能都是构建于Theano 之上的。这意味着你可以利用数学表达式自己写 Pylearn2 插件(新模型,算法等等),Theano 会为你优化这些表达式使其更加稳定,你还可以选择将其编译到后端(CPU 或 GPU)。

提交数: 7100, 贡献者: 115, Github 链接: Pylearn2

7. Statsmodels 是一个 Python 模块,可以用来探索数据,估计统计模型,进行统计测试。对于不同类型的数据和模型估计,都有描述性统计,统计测试,绘图功能和结果统计的详细列表可用。

提交数: 8664, 贡献者: 108, Github 链接: Statsmodels

8. Shogun 是一个机器学习工具箱,它提供了很多统一高效的机器学习方法。这个工具箱允许多个数据表达,算法类和通用工具无缝组合。

提交数: 15172 贡献者: 105, Github 链接: Shogun

9. Chainer 是一个基于 Python 的独立的深度学习模型开源框架。Chainer 提供了灵活、直观且高性能的方法实现全方位的深度学习模型,包括循环神经网络 (recurrent neural networks) 和变分自编码器(variational autoencoders)这些最新的模型 。

提交数: 6298, 贡献者: 84, Github 链接: Chainer

10. NuPIC 是一个基于 HTM 算法 (Hierarchical Temporal Memory) 的开源项目。HTM 的一部分已经通过实践、测试和应用,另一部分仍在开发之中。

提交数: 6088, 贡献者: 76, Github 链接: NuPIC

11. Neon 是 Nervana 公司一个基于 Python 的深度学习库。它易于使用且具有超高的性能。

提交数: 875, 贡献者: 47, Github 链接: Neon

12. Nilearn 是一个 Python 模块,用于在神经成像 (NeuroImaging) 数据上进行快速简单的统计学习。它利用 scikit-learn Python 工具箱来处理多变量统计信息,包括预测建模,分类,解码或连接分析.

提交数: 5254, 贡献者: 46, Github 链接: Nilearn

13. Orange3 是一个同时适用于新手和数据专家的机器学习和数据可视化开源软件,支持拥有大型工具箱的交互式数据分析工作流程。

提交数: 6356, 贡献者: 40, Github 链接: Orange3

14. Pymc 是一个Python 模块,它能实现贝叶斯统计模型和拟合算法,包括马尔科夫链蒙特卡罗(Markov chain Monte Carlo)算法。它非常灵活,具有可扩展性,适用于处理一系列大规模问题。

提交数: 2701, 贡献者: 37, Github 链接: Pymc

15. PyBrain 是一个模块化的 Python 机器学习库。它致力于为机器学习任务提供灵活易上手但功能强大的算法,和一系列用于测试和比较算法的预定义环境。

提交数: 984, 贡献者: 31, Github 链接: PyBrain

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

提交数: 1053, 贡献者: 29, Github 链接: Fuel

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

提交数: 9258, 贡献者: 26, Github 链接: PyMVPA

18. Annoy (Approximate Nearest Neighbors Oh Yeah) 是一个带有 Python 绑定的 C++ 库,用于在空间中找到和已知的查询点临近的点。它还可以创建大型的基于文件的只读数据结构,并映射至内存,以便多个进程能共同使用相同的数据。

提交数: 365, Contributors: 24, Github 链接: Annoy

19. Deap 是一个创新的,仍在发展中的计算框架,用于快速构建原型和测试方法。它旨在使算法和数据结构更加清晰透明。它与并行机制(如多进程和 SCOOP 模块)完美协调。

提交数: 1854, 贡献者: 21, Github 链接: Deap

20. Pattern 是一个 Python 的网络挖掘模块。它绑定了数据挖掘(Google + Twitter + Wikipedia API, 网络爬虫, HTML DOM 解析器),自然语言处理 (词性标记, n-gram 搜索, 语义分析, WordNet),机器学习(向量空间模型, k-means 聚类, Naive Bayes + k-NN + SVM 分类器) 和网络分析(图核心性 graph centrality 和可视化)等工具。

提交数: : 943, Contributors: 20 , Github 链接: Pattern

在下面的图表中,可以看到 PyMVPA 相较于其他项目拥有最高的贡献率(contribution rate)。令人吃惊的是,Scikit-learn 虽然拥有最多的贡献者,但是贡献率却很低。这种现象背后的原因可能是:PyMVPA 是新项目,正处于开发的早期阶段,新功能开发,漏洞修补和重构等都能够引导更多的提交。而 Scikit-learn 属于比较旧且非常稳定的项目,改进和修复的空间更小。

在比较同时上榜 2015 和 2016 Top 20 的项目时,可以发现,Pattern,PyBrain 和 Pylearn2 没有新的贡献者(contributors)也没有新的贡献代码。同时,还可以发现贡献者数和提交数之间有显著关联。贡献者数的增长可能会导致提交数的增长,我认为这是开源项目和社区的魔力——引领头脑风暴,激发更多创意,开发更好的软件工具。

以上是对 2016 Python 机器学习开源项目所做的分析,该分析基于项目贡献者和提交数,作者是 KDnuggets 团队的 Prasad 和 Gregory。

开源万岁!分享万岁!

机器学习 Python 库 Top 20相关推荐

  1. 几行代码搞定ML模型,低代码机器学习Python库正式开源

    公众号关注 "视学算法" 设为 "星标",消息即可送达! 机器之心报道 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器 ...

  2. python灰色模型代码_几行代码搞定ML模型,低代码机器学习Python库正式开源

    机器之心报道 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代 ...

  3. python低代码_几行代码搞定ML模型,低代码机器学习Python库正式开源

    PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的 ...

  4. 代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...

    PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想提高机器学习实验的效率,把更多精力放在解决业务问题而不是写代码上?低代码平台或许是个不错的 ...

  5. 机器学习 python 库_Python机器学习库

    机器学习 python 库 什么是机器学习? (What is Machine Learning?) As the web is immensely growing with each day, an ...

  6. 厉害了!几行代码搞定ML模型,低代码机器学习Python库正式开源

    点击上方"Python高校",关注 文末干货立马到手 机器之心编辑部 PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型,提升机器学习实验的效率. 想 ...

  7. 机器学习 —— python库 —— 使用array创建

    python库 Pip 安装python包的推荐工具 Numpy 为python提供快速的多维数组处理能力 Scipy 在Numpy基础上添加了众多科学计算工具包 Matplotlib python丰 ...

  8. 2020 年最佳流行 Python 库 Top 10

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 来源:Python中文社区 2020年最热门的Python库有哪些?规则很简单.我们正在寻找的库满足以下条件: ...

  9. 5个常用的机器学习python库

    前言 机器学习的工作内容往往复杂枯燥又困难--通过大量重复工作进行提升必不可少: 汇总工作流及传输渠道.设置数据源以及在内部部署和云部署的资源之间来回分流. 所以使用工具提升你的工作效率实在很关键,而 ...

最新文章

  1. bitset优化+滚动优化dp ----- 2021牛客多校第8场 F Robot
  2. 利用Spring-Boot解析Excel、用Java分析Excel、告别手动输入用程序读取Excel
  3. 使用GitHub存储库中的更改更新本地存储库
  4. Serenity安装和创建DEMO--学习第一天
  5. 【学习笔记】新基建/新动能——部分学习笔记
  6. mysql和jfinal的区别_mysql与JFinal的数据关系-阿里云开发者社区
  7. asp.net jquery.Ajax() 方法调用后台方法
  8. 3-8 堆栈模拟队列 (25 分)
  9. 计算机二级c语言题库选择题,计算机二级C语言真题选择题
  10. 酒店IPTV数字电视系统解决方案
  11. termux无法安装引导程序包_安卓神器termux之二——文本编辑器篇
  12. GreenPlum常用数值计算函数
  13. 动态表情包制作?gif动态图怎么制作?
  14. php双线切换线路,双线双路和断线自动切换
  15. 解决java.lang.ClassCastException class java.lang.Integer cannot be cast to class java.lang.Long异常
  16. python数字转换为大写中文_阿拉伯数字金额转中文大写 (python实现)
  17. [HTML] HTML常见的元素
  18. 企业邮箱能传多大的附件?企业邮箱附件大小有限制吗?
  19. jenkins部署流程图_jenkins怎样实现自动部署的流程图
  20. Python-随机生成20位数字

热门文章

  1. unittest测试框架_python接口自动化测试 - 4.unittest单元测试框架学习
  2. PHP获取字符串的所有子集,PHP Regexp(PCRE)-查找所有子字符串的集合
  3. python协程asyncio 应用_Python-如何使用asyncio同时运行多个协程?
  4. Android逆向笔记-通过配置文件设置全屏(逆向开发与正向开发)
  5. canvas笔记-画一片星空
  6. Qt文档阅读笔记-QGraphicsItem::paint中QStyleOptionGraphicsItem *option的进一步认识
  7. C++工作笔记-作用域的巧妙使用,释放堆区创建的资源
  8. Qt的信号槽机制介绍(含Qt5与Qt4的差异对比)
  9. 4.3串的模式匹配算法(BF算法)
  10. 简单的反U盘病毒(删除不了的畸形文件夹)