如今机器学习和人工智能已经变得家喻户晓,有很多爱好者进入了该领域。但是,什么才是能够进入该领域的正确路径呢?如何保持自己跟上该领域的发展步伐呢?
为了解决以上两个问题,可以通过利用高级专业人员每天使用的众多开源项目和工具,与社区进行接触。
如今,Tensorflow的贡献者人数增长最快,居首位。Scikit-learn下降到第二位,但仍有非常大的贡献者群体。
与2016年相比,贡献者人数增长最快的项目是:
1. TensorFlow提高了169%,从493个增加到1324个贡献者。
2. Deap,提高了86%,从21个增加到39个贡献者。
3. Chainer,提高了83%,从84个增加到154个贡献者。
4. Gensim,提高了81%,从145个增加到262个贡献者。
5. Neon,提高了66%,从47个增加到78个贡献者。
6. Nilearn提高了50%,从46个增加到69个贡献者。
2018年新晋的两个项目的贡献者人数:
1. Keras,626名贡献者。
2. Pytorch,399名贡献者。
图1:Github上的前20名Python人工智能和机器学习项目
上图:雪花大小与贡献者的数量成正比,颜色代表贡献者数量的变化-红色越高,蓝色越低。雪花形状适用于深度学习项目,适用于其他项目。
下面的列表根据Github上贡献者的数量将项目从高到低进行排列。贡献者人数的变化与2016年KDnuggets发布的前20名Python机器学习开源项目相对。
1. TensorFlow最初是由谷歌机器智能研究机构的Goole Brain Team的研究人员和工程师开发的。该系统旨在促进机器学习方面的研究,并使其快速、容易的从研究原型过渡到生产系统。
贡献者:1324(上升168%),提交:28476,Stars:92359.Github网址:Tensorflow。
2. Scikit-learn是用于数据挖掘和数据分析的简单而高效的工具,基于NumPy,SciPy和matplotlib,开源,商业可用-BSD许可证,可供所有人访问,并且可在各种环境中重复使用。
贡献者:1019(上升39%),提交:22575,Github网址:Scikit-learn。
3. Keras是一种高级神经网络的API,用Python编写,能够在TensorFlow,CNTK或Theano上运行。
贡献者:629(新),提交:4371,Github网址:Keras。
4. PyTorch、张量(Tensor)和动态神经网络(Dynamic neyral networks)在Python中具有强大的GPU加速。
贡献者:399(新),提交:6458,Github 网址:pytorch。
5. Theano允许你定义、优化和评估涉及多维数数组的数学表达式。
贡献者:327(上升24%),提交:27931,Github网址:Theano。
6. Gensim是一个免费的Python库,具有可扩展的统计语义,用于分析语义结构的纯文本文档,检索语义相似的文档。
贡献者:262(上升81%),提交:3549,Github网址:Gensim
7. Caffe是一个深度学习框架,它的表达、速度和模块化都是在头脑中形成的。它由伯克利视觉和学习中心(BVLC)和社区贡献者开发。
贡献者:260(上升21%),提交:4099,Github网址:Caffe。
8. Chainer是一个基于Python的深度学习模型的独立开源框架。Chainer提供灵活、直观和高性能的手段来实施全方位的深度学习模型,包括最新的模型,如递归神经网络和变分自动编码器。
贡献者:154(上升84%),提交:12613,Github网址:Chainer。
9. Statsmodels是一个Python模块,允许用户探索数据,估计统计模型并执行统计测试。描述统计、统计测试、绘图功能和结果统计的广泛列表适用于不同类型的数据和任意一个估算器。
贡献者:144(上升33%),提交:9729,Github网址:Statsmodels。
10. Shogun是机器学习工具箱,它提供了广泛的统一和高效的机器学习(ML)方法。该工具箱可以无缝地组合多个数据表示、算法类和通用工具。
贡献者:139(上升32%),提交:16362,Github网址:Shogun。
11. Pylearn2是一个机器学习库。其大部分功能都建立在Theano之上。这意味着你可以使用数学表达式编写Pylearn2插件(新模型、算法等),Theano将为你优化和稳定这些表达式,并将它们编译为你选择的后端(CPU或GPU)。
贡献者:119(上升3.5%),提交:7119,Github网址:Pylearn2。
12. NuPIC是一个开源项目,它基于被称为分层时间存储器(HTM)的新大脑皮层理论。部分HTM理论已经在应用中实施、测试和使用,而HTM理论的其他部分仍在开发中。
贡献者:85(上升12%),提交:6588,Github网址:NuPIC。
13. Neon是Nervana基于Python的深度学习库。它提供易用性,同时提供最高的性能。
贡献者:78%(上升66%),提交:1112,Github网址:Neon。
14. Nilearn是一个Python模块,用于快速简单的统计学习神经成像数据。它利用scikit-learn Python工具箱进行多变量统计,并提供预测建模,分类,解码或连接分析等应用。
贡献者:69(上升50%),提交:6198,Github网址:Nilearn。
15. Orange3是新手和专家的开源机器学习和可视化数据。使用大型工具箱交互式数据分析工作流程。
贡献者:53(上升33%),提交:8915,Github网址:Orange3。
16.Pymc是一个python模块,实现贝叶斯统计模型和拟合算法,包括马尔可夫链蒙特卡罗(Markov chain Monte Carlo)。其灵活性和可扩展性使其适用大量问题。
贡献者:39(上升5.4%),提交:2721,Github网址:Pymc。
17.Deap是用于快速原型设计和测试思想的新型演化计算框架,它试图使算法明确,数据结构透明。它与多处理(Multiprocessing)和SCOOP等并行机制完美协调。
贡献者:39(上升86%),提交:1960年,Github网址:Deap。
18. Annoy(Approximate Nearest Neighbor Oh Yeah)是一个C++库,它使用Python绑定来搜索接近给定查询点的空间点。它还创建了大量的基于只读文件的数据结构,这些数据结构被映射到内存中,以便许多进程可以共享相同的数据。
贡献者:35(上升46%),提交:527,Github网址:Annoy。
19. PyBrain是Python的模块化机器学习库。其目标是为机器学习任务提供灵活,易于使用但仍然强大的算法,以及各种预定义环境来测试和比较你的算法。
贡献者:32(上升3%),提交:992,Github网址:PyBrain。
20. Fuel是一个数据管道框架,它为你的机器学习模型提供所需数据。它将被用于Blocks和Pylearn2神经网络库。
贡献者:32(上升10%),提交:1116,Github 网址:Fuel。
文章原标题《Top 20 Python AI and Machine Learning Open Source Projects》
作者:IIan Reinstein
译者:乌拉乌拉