为 Java 开发者量身定制的五款机器学习库

编者按:机器学习是目前最炙手可热的技术之一,各大公司都在积极招聘相关的编程人才,来填补机器学习和深度学习代码编写的空缺。诚然,根据相关的招聘统计数据,Python 语言目前已经超越 Java 成为雇主最亟须的机器学习编程技能。但事实上,Java 在项目开发中仍然发挥着不可替代的作用,并且许多流行的机器学习框架本身就是由 Java 写成的。鉴于此前有关 Python 的参考资料已经很多,而鲜见 Java 的,因此,今天我们在这里推荐五个业内顶尖的 Java 机器学习库。原文载于 jaxenter.com 网站,AI科技评论编译。

Weka

地址:http://www.cs.waikato.ac.nz/ml/weka/index.html

毫无疑问,Weka 是目前首选的 Java 机器学习库。

它由新西兰怀卡托大学(University of Waikato)的机器学习项目组研发。其命名来源于一种新西兰特有的不会飞的鸟——新西兰秧鸡,新西兰秧鸡的英文名称就是 Weka。按照官网描述,Weka 吸收了许多目前常用的机器学习算法,并且完全基于 Java 环境,开源,免费,具有易于使用的图形界面,适合于数据挖掘,数据分析和预测建模等多种应用场景。

来自怀卡托大学的计算机科学教授 Eibe Frank 表示:“Weka 最大的优势在于分类,因此需要自动数据分类的应用程序可以从中获益。但同时它也支持数据预处理、聚类、关联规则挖掘、时间序列预测、特征选择、和异常检测等场景。”

开发者可以直接通过 Weka 软件处理目标数据集,同时也支持用户在自己编写的代码中调用,将 Weka 视为一个灵活的组件。更贴心的是,怀卡托大学还提供了许多免费的基于 Weka 的数据挖掘和机器学习视频教程,感兴趣的朋友可以在 Weka 官网点击查看。

Massive Online Analysis (MOA)

地址:http://moa.cms.waikato.ac.nz/

和 Weka 一脉相承,MOA 的命名也是来源于一种新西兰特有的无翼大鸟——新西兰恐鸟(目前已灭绝)。MOA 也是基于 Java 环境,开源,免费,在面对复杂问题时,MOA 还能和 Weka 协同工作。

MOA 在运算效率和内存占用方面都做了特殊优化,通过提供易于扩展的底层结构、可复用的数据流分析设置以及一系列内部实现好机器学习算法,MOA 为实时数据流分析提供了一个非常优秀的基准框架,因此在实时数据流挖掘领域的应用非常广泛。其内部实现的机器学习算法包括:分类、回归、聚类、孤立点检测、概念漂移检测和推荐系统等。此外,MOA 还提供了多种评估工具,以及活跃的社区讨论、博客等配套资源。

Deeplearning4j

地址:https://deeplearning4j.org/

Deeplearning4j(Deep Learning For Java)是 Java 和 Scala 环境下的一个开源分布式的深度学习项目,由总部位于美国旧金山的商业智能和企业软件公司 Skymind 牵头开发,并得到了腾讯的投资。正如它的命名,Deeplearning4j 的运行需要 Java 虚拟机 JVM 的支持。

去年,JAXenter 社区曾提名 Deeplearning4j 作为 Java 生态系统最具创新的贡献者之一。

Deeplearning4j 旨在为工作在 Hadoop 框架下的 Java、Scala 和 Clojure 程序员提供一个可以灵活 DIY 的机器学习工具。团队在官网表示,他们希望通过一些机器学习算法的开发,将商业带入智能化数据的时代。也正是为了实现这一理想,惠及更多的用户,因此选择了移植性更好的 Java 环境来实现这些算法。目前,Deeplearning4j 在模式识别、时间序列检测和基于语音、文本的情感识别方面应用广泛,包括谷歌、Facebook和微软等巨头公司都是它的用户。

MALLET

地址:http://mallet.cs.umass.edu/

MALLET主要由来自麻省大学(University of Massachusetts)的Andrew McCallum教授和其学生开发,是一个基于 Java 环境的开源机器学习工具包。主要应用于统计自然语言处理,文档分类,聚类,主题建模,信息提取等文本类分析场景

MALLET 内部实现了许多功能强大的工具,包括用于文档分类的高级工具,用于序列标记的工具,和用于主题建模的工具等。MALLET 还支持各种类型的算法,包括朴素贝叶斯,决策树和最大熵等。此外,MALLET 还提供了许多例程,包括分词,删除停用词,将文本转换为向量表示等。

ELKI

地址:https://elki-project.github.io/

ELKI 的全称是:Environment for Developing KDD-Applications Supported by Index-Structures,即由索引结构支持的 KDD 应用开发环境,这里 KDD 是指 Knowledge Discovery in Database,即知识发现。

ELKI 也是一款知名的基于 Java 环境的数据挖掘软件。ELKI 的重点是算法研究,强调聚类分析,数据库索引和孤立点检测等无监督方法。ELKI 可以对数据挖掘算法和数据管理任务进行各自独立的分析,这在其他数据挖掘框架(如 Weta 和 Rapidminer)中是独一无二的。此外,ELKI 还支持各种数据类型和文件格式,以及各种相似性度量方法。

ELKI 专为研究人员和学生设计,提供了大量可灵活配置的算法参数,以便进行简单和公平的算法评估。目前 ELKI 已经被广泛应用于各种数据科学的相关领域,包括鲸鱼的回声定位,航天飞行操作,共享单车分配和交通预测等。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-03-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

第一个手机端分布式深度学习系统,设计自动化顶会 DATE 最佳论文

【新智元导读】欧洲最大的设计自动化会议 DATE 昨天在瑞士洛桑召开。杜克大学陈怡然教授组关于移动平台深度学习计算的研究荣获嵌入式软件类最佳论文。陈怡然等人提出...

4108
来自专栏大数据挖掘DT机器学习

分布式机器学习的故事

一个新时代 起源 分布式机器学习是随着“大数据”概念兴起的。在有大数据之前,有很多研究工作为了让机器学习算法更快,而利多多个处理器。这类工作通常称为“并行计算”...

3779
来自专栏机器学习、深度学习

人群行为分类数据库--Crowd-11: A Dataset for Fine Grained Crowd Behaviour Analysis

Crowd-11: A Dataset for Fine Grained Crowd Behaviour Analysis CVPRW2017 这个数据库目...

21210
来自专栏机器之心

想轻松复现深度强化学习论文?看这篇经验之谈

选自Amid Fish 作者:Matthew Rahtz 机器之心编译 近期深度强化学习领域日新月异,其中最酷的一件事情莫过于 OpenAI 和 DeepMin...

3106
来自专栏AI研习社

这些关于TensorFlow问题的解答,你不能错过

作为目前最普及的深度学习框架,TensorFlow 实不必多做介绍。 无论国内外,有相当数量程序员以 TensorFlow 入门深度学习开发,逐步走上职业机器学...

4246
来自专栏CDA数据分析师

从零开始学数据分析,什么程度可以找工作?

基本答一下吧,但是不是很准确,只了解大致情况(杭州),带有某种行业自黑。 一、第一阶段(一般岗位叫数据专员) 基本学会excel(VBA最好学会;会做透视表;熟...

2246
来自专栏AI研习社

盘点:为 Java 开发者量身定制的五款机器学习库

编者按:机器学习是目前最炙手可热的技术之一,各大公司都在积极招聘相关的编程人才,来填补机器学习和深度学习代码编写的空缺。诚然,根据相关的招聘统计数据,Pytho...

40914
来自专栏AI科技评论

深度| OpenAI 教你如何构建深度学习研究的基础设施

编者按:OpenAI研究工程师Vicki Cheung, Jonas Schneider , Ilya Sutskever, and Greg Brockman...

3506
来自专栏机器之心

加入巨头竞争之列,索尼开源可在Windows中运行的神经网络库NNabla

选自Sony 机器之心编译 参与:蒋思源、李泽南 索尼昨天宣布开源了自己的神经网络库 NNabla,其中包含用于深度学习系统的 Python API 与用于嵌入...

3226
来自专栏数据派THU

超全!基于Java的机器学习项目、环境、库...

原文标题:Java Machine Learning 作者:Jason Brownlee 翻译:杨金鸿 校对:丁楠雅 本文长度为3000字,建议阅读8分钟 本文...

2166

扫描关注云+社区