11个开源工具使大多数机器学习

利用这些多样的、易于实现的库和框架,开发机器学习的预测能力

充分利用机器学习的11个开源工具

充分利用机器学习的11个开源工具

垃圾邮件过滤功能,脸部识别,推荐引擎 - 当你有,你想进行预测分析或模式识别大型数据集,机器学习是要走的路。这门科学,在计算机培训了来自学习,分析和数据采取行动而不被明确地编程,已飙升在其原有的学术和高端编程界的回廊后期外的利益。

这种上升的普及不仅是由于硬件不断增长的更便宜和更强大,而且免费的软件,使机器学习更容易在单个机器和规模化同时实现增殖。机器学习库,意味着有多样性可能是可用的选项,无论你喜欢什么语言或环境。

这11机器学习工具提供了单独的应用程序或整个框架,如Hadoop的功能。有些人比其他人更通晓多国语言:Scikit,例如,是专门为Python,而幕府运动接口,多国语言,从通用到特定领域。

Scikit学习

Scikit学习

Python已经成为一去到编程语言,数学,科学和统计数据,因为它易于采纳和库可用于几乎任何应用的广度。NumPy的,SciPy的,和matplotlib - - 对数学和科学工作的基础上现有的几种Python包顶Scikit学习利用此广度。所得文库可任意用于交互式“工作台”应用程序或嵌入其他软件和再利用。该套件是一个BSD许可下可用,所以它是完全开放的和可重复使用。

项目:scikit-learn
GitHub:
https://github.com/scikit-learn/scikit-learn

将军

将军

其中历史最悠久,最古老的机器学习库,将军于1999年创建,并用C ++编写,但不限于使用C ++工作。非常感谢痛饮图书馆在Java、Python、c#、Ruby、R、Lua、Octave和Matlab等语言和环境中都可以透明地使用Shogun。

虽然可敬,将军有竞争。另一个C ++ - 基于机器学习库,Mlpack自2011年以来,它就一直存在自称是与其他库相比,使用这些库更快、更容易(通过更完整的API集)。

项目:将军
GitHub:https://github.com/shogun-toolbox/shogun

协议框架/ AForge.net

协议框架/ AForge.net

雅阁,对于.NET机器学习和信号处理架构,在同样的一个以前的项目的延伸,AForge.net。顺便说一下,“信号处理”在这里指的是一系列针对图像和音频的机器学习算法,比如无缝拼接图像或执行人脸检测。包括一套用于视觉处理的算法;它对图像流(如视频)进行操作,并可用于实现移动对象跟踪等功能。Accord还包括一些库,这些库提供了更传统的机器学习功能,从神经网络到决策树系统。

项目:协议框架/ AForge.net
GitHub:https://github.com/accord-net/framework/

Mahout

Mahout

象夫框架早已绑在Hadoop的,但它的许多伞下的算法也可以运行作为,是Hadoop的外面。他们对于可能最终迁移到Hadoop的或可能被分拆到自己的独立应用程序的Hadoop项目的独立应用。

Mahout中的一个缺点:很少有它的算法,目前支持高性能火花框架Hadoop的,而是使用传统(和日益过时)MapReduce框架。该项目不再接受基于MapReduce的算法,但那些寻找一个更高性能和面向未来的图书馆想看看MLlib代替。

项目:Mahout

MLlib

MLlib

Apache自己的Spark和Hadoop的机器学习库,MLlib拥有的色域常见的算法和有用的数据类型这款车的设计初衷是让它能以一定的速度和比例运行。正如您对任何Hadoop项目所期望的那样,Java是在MLlib中工作的主要语言,但是Python用户可以将MLlib与NumPy库连接起来(也在scikit-learn中使用),Scala用户可以针对MLlib编写代码。如果设置Hadoop集群不切实际,可以在没有Hadoop的情况下将MLlib部署在Spark之上,也可以部署在EC2或Mesos上。

另一个项目,MLbase,建立在MLlib的顶部为了更容易得出结果。用户不是编写代码,而是使用SQL那样的声明性语言进行查询。

项目:MLlib

H2O

H2O

0xdata的H2O算法适用于业务流程——例如,欺诈或趋势预测——而不是图像分析。H2O可以以独立的方式与HDFS商店交互,可以在YARN上交互,可以在MapReduce上交互,也可以直接在Amazon EC2实例中交互。Hadoop mavens可以使用Java与H2O交互,但是框架还为Python、R和Scala提供绑定,提供与这些平台上可用的所有库的交叉交互。

项目:H20
GitHub:https://github.com/0xdata/h2o

Cloudera的羚羊

Cloudera的羚羊

另一个为Hadoop设计的机器学习项目Oryx是由Cloudera的Hadoop发行版。标签上的名字并不是Oryx与众不同的唯一细节:Per Cloudera强调分析直播数据通过星火项目的方式,羚羊被设计成允许部署的机器学习模型实时数据流,从而实现,如实时垃圾邮件过滤器或推荐引擎项目。

这个项目的一个全新版本,暂定名为Oryx 2,正在制作中。它使用像Spark和Kafka这样的Apache项目来获得更好的性能,它的组件是沿着更松散耦合的线路构建的,以进一步进行未来验证。

项目:Cloudera的羚羊
GitHub:
https://github.com/cloudera/oryx

GoLearn

GoLearn

谷歌的Go语言已经在野外只有五年,但开始被广泛使用由于库的成长集合。GoLearn成立是为了解决缺乏围棋的所有功能于一身的机器学习库;我们的目标是“简单搭配定制”,根据开发者史蒂芬Witworth。The simplicity comes from the way data is loaded and handled in the library, since it’s patterned after SciPy and R. The customizability lies in both the library’s open source nature (it’s MIT-licensed) and in how some of the data structures can be easily extended in an application. Witworth has also created元音pal Wabbit库的Go包装器,库之一,在幕府工具箱中。

项目:GoLearn
GitHub:
https://github.com/sjwhitworth/golearn

WEKA

WEKA

WEKA,怀卡托,新西兰,大学的产品收集了一组专门用于数据挖掘工程的Java机器学习算法。这GNU GPLv3的许可集合有一个包装系统,以扩展其功能,与官方和非官方包可用。Weka甚至还附带了一个为了解释软件和使用的技术,所以那些想要在概念和软件上都有优势的人可能想从这里开始。

虽然Weka并不是专门针对Hadoop用户的,但它可以与Hadoop一起使用,这要感谢为最新版本的Weka生成的一组包装器。注意,它还不支持Spark,只支持MapReduc。Clojure用户还可以利用WekaCLJ毫升图书馆。

项目:WEKA

CUDA-Convnet

CUDA-Convnet

到目前为止,大多数人都知道gpu如何比cpu更快地处理某些问题。但应用程序不会自动利用GPU加速;它们必须是专门写的。CUDA- convnet是一个用于神经网络应用程序的机器学习库,用c++编写,利用Nvidia的CUDA GPU处理技术(至少需要Fermi一代的CUDA板)。对于那些使用Python而不是c++的用户,生成的神经网络可以保存为Python pickle的对象,因此可以从Python访问。

请注意,项目的原始版本已经不再开发,但是已经被重新开发为一个后续版本,CUDA-Convnet2,支持多个gpu和Kepler-generation gpu。一个类似的项目,,已经写在F#和与.NET Framework通常工作。

项目:CUDA-Convnet

ConvNetJS

ConvNetJS

顾名思义,ConvNetJS提供神经网络的机器学习库,用于在JavaScript中使用,便于使用浏览器作为数据工作台。一个NPM版本也可以使用Node.js的那些,和图书馆的目的是使JavaScript的异步的正确使用 - 例如,训练操作可以给出一个回调,一旦他们完成执行。的演示大量的例子包括,太。

项目:ConvNetJS
GitHub:
https://github.com/karpathy/convnetjs

版权©2014足球竞彩网下载