摘要:机器学习目前炙手可热,本文搜集了Java、Python以及go等编程语言中常见且实用的开源机器学习工具,对机器学习感兴趣的开发者或者准备和机器学习打交道的数据科学家们不能错过了

[编者按] 机器学习似乎在一夜之间从默默无闻的小卒变成万众瞩目的焦点,关于机器学习的开源工具也越来越多,但是目前的挑战是,如何让对机器学习感兴 趣的开发者和准备使用它的数据科学家们真正使用上它们,本文搜集了几种语言中常见且实用的开源机器学习工具,非常值得关注,本文来 自 InfoWorld。

以下为原文:

经过几十年作为一门专业学科的发展后,机器学习似乎一夜之间作为万众瞩目的商业工具出现在我们面前。目前面临的挑战是如何让其具备实效,尤其是对开发者和正准备使用它的数据科学家们。

为此,我们搜集了一些最常见的且实用的开源机器学习工具,通过本文分享给大家。

Python

数据科学家们投身Python怀抱是希望有另一种更开放式的选择方案来替代R语言,如今许多雇主寻求大数据专家,而Python就是必需的技能。因此,大量的机器学习软件库开始出现在不断扩大的Python软件名单中。

首先推荐的是 scikit-learn,它能够加载至算法与模块当中,在GitHub(fork版本数量接近2000)上受到了广泛赞赏,并受到了许多科技巨头的青睐。另一个紧随其后的是 PyBrain,它的设计目的在于降低使用难度并提供与其它强大工具相对接的能力。顾名思义,PyBrain的关注重点在于神经网络与非监督式学习,它同时也提供一套用于培训与重新定义算法的机制。

Go

谷歌的系统语言,由于其并行设计,使其似乎是一个编写机器学习库理想的环境。虽然目前与之相关的库项目规模尚小,但也有一些值得关注, GoLearn,它的开发者将其描述为一个“内置电池”的机器学习库。它提供过滤、分类以及回归分析等多种工具。另一套较小且更为基础的库是mlgo,虽然目前它能提供的算法数量还非常少,但计划在未来推出更多。

Java on Hadoop

在人们喜爱的大数据框架中,Mahout(在印地语中意思是“大象骑士”)包含几种常见的机器学习方法。这款软件包是围绕算法而非方法,所以你需要 有一定的算法基础,换言之,如果你足够认真,就肯定不难看出其各部分功能是如何整合在一起的,例如,你可以通过几行代码构建起基于用户的推荐系统。

另一个基于Hadoop的机器学习项目是Cloudera公司推行的Oryx,其特性在于通过交付实时流结果而非处理批量作业来对Mahout处理结果进行进一步分析。该该项目现在还处于初始阶段,注意,这只是个项目而非实际产品,但它在不断改善,所以很值得关注。

Java

除了上述主要针对Hadoop的Mahout,其他一些面向Java的机器学习库也在广泛使用。 Weka由新西兰怀卡托大学开发的工作台式的应用,它在常见的算法集合中增加了可视化和数据挖掘功能。对于那些想要为他们的工作打造一个前端或者计划将Java作为初始开发的用户来说,Weka可能是最好的选择。 Java-ML也不错,但它更适合那些已经习惯将Java和机器学习配合使用的开发者。

JavaScript

关于JavaScript的笑话(“阿特伍德定律”),原意是这样的,任何能够由JavaScript编写的内容最终都会由JavaScript编 写,这对机器学习库同样适用。目前由JavaScript编写的方案在这一领域数量仍然相对较少,大多数选项仅仅是单一算法而非完整的库,但已经有部分有 用工具渐渐脱颖而出。 ConvNetJS允许大家直接在浏览器当中进行深度学习神经网络培训,而名为 brain则将神经网络作为可安装的NPM模块提供给大家。此外, Encog库同样值得关注,而且它适用于多种平台:Java、C#、C/C++以及JavaScript。

原文链接:5 ways to add machine learning to Java, JavaScript, and more (编译/魏伟 审校/仲浩)

机器学习的5种语言(选自info world)的更多相关文章

  1. 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类

    30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...

  2. [转自老马的文章]用MODI OCR 21种语言

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...

  3. 机器学习的5种“兵法"

    大数据文摘作品,欢迎个人转发朋友圈,自媒体.媒体.机构转载务必申请授权,后台留言“机构名称+转载”,申请过授权的不必再次申请,只要按约定转载即可. 作者:Jason Brownlee 译者:Clair ...

  4. 用MODI OCR 21种语言

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...

  5. Visual Studio Code 1.0发布,支持中文在内9种语言

    Visual Studio Code 1.0发布,支持中文在内的9种语言:Simplified Chinese, Traditional Chinese, French, German, Italia ...

  6. 栈的图文解析 和 对应3种语言的实现(C/C++/Java)

    概要 本章会先对栈的原理进行介绍,然后分别通过C/C++/Java三种语言来演示栈的实现示例.注意:本文所说的栈是数据结构中的栈,而不是内存模型中栈.内容包括:1. 栈的介绍2. 栈的C实现3. 栈的 ...

  7. 队列的图文解析 和 对应3种语言的实现(C/C++/Java)

    概要 本章和介绍"栈"时的流程一样,先对队列进行介绍,然后分别给出队列的C.C++和Java三种语言的实现.内容包括:1. 队列的介绍2. 队列的C实现3. 队列的C++实现4.  ...

  8. ABBYY PDF Transformer+ Pro支持全世界189种语言

    ABBYY PDF Transformer+ Pro版支持189种语言,包括我们人类的自然语言.人造语言以及正式语言.受支持的语言可能会因产品的版本不同而各异.本文具体列举了所有ABBYY PDF T ...

  9. SQL的四种语言和数据库范式

    1. SQL的四种语言 DDL(Data Definition Language)数据库定义语言 CREATE ALTER DROP TRUNCATE COMMENT RENAME DML(Data ...

随机推荐

  1. Ubuntu下C/C++man手册安装方法及使用方法

    C++在线文档: http://www.cplusplus.com/reference/ https://msdn.microsoft.com/zh-cn/library/aa187916.aspx  ...

  2. 【BZOJ-4591】超能粒子炮·改 数论 + 组合数 + Lucas定理

    4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 95  Solved: 33[Submit][Statu ...

  3. java 基础拾漏

    1.java语言支持的类型非为两类:基础类型(primitive Type) 和引用类型(Reference Type),基础类型8种 2.数组元素的类型是基本类型中的整数类型(byte,short, ...

  4. 【bzoj3884】 上帝与集合的正确用法

    http://www.lydsy.com/JudgeOnline/problem.php?id=3884 (题目链接) 题意 求 Solution 解决的关键: 当${n>φ(p)}$,有$${ ...

  5. Jenkins用HTTP Request Plugin插件进行网站的监控(运维监控)

    使用的插件: [HTTP Request Plugin] 思路: 说明:只能是网站是否正常打开,而不能是这个网站业务是否正常,如果是后者,则需要写特定的接口进行请求处理. 1.通过插件,发送GET请求 ...

  6. hdu 4609 FFT

    题意:给出一堆数,问从这些数中取3个能组成三角形的概率? sol:其实就是问从这些数里取3个组成三角形有多少种取法 脑洞大开的解法:用FFT 设一开始的数是1 3 3 4 作一个向量x,其中x[i]= ...

  7. glibc resolv/res_send.c getaddrinfo() buffer stack smash when dealing malformation big DNS Response Package

    catalogue . 漏洞简述 . 调试环境搭建 . 漏洞利用 . 漏洞分析 . 缓解修复方案 1. 漏洞简述 0x1: 函数调用顺序 getaddrinfo (getaddrinfo.c) -&g ...

  8. phpMyadmin /scripts/setup.php Execute Arbitrary PHP Code Via A Crafted POST Request CVE-2010-3055

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 The configuration setup script (aka scrip ...

  9. maven仓库没有的包依赖

    如果有个jar包是我们自己打的,怎么放到maven中呢? 首先在项目里面新建一个lib目录,如果有lib目录则不需要新建,然后放自己的jar包进去,maven的pom.xml配置是: <depe ...

  10. sql like

    在java里面写sql要用 like CONCAT('%',?,'%')