Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >超全!基于Java的机器学习项目、环境、库...

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

作者头像
数据派THU
发布于 2018-01-30 08:26:38
发布于 2018-01-30 08:26:38
2.4K0
举报
文章被收录于专栏:数据派THU数据派THU

原文标题:Java Machine Learning

作者:Jason Brownlee

翻译:杨金鸿

校对:丁楠雅

本文长度为3000字,建议阅读8分钟

本文介绍了主要的平台和开放源码的Java机器学习库。

你是一名希望开始或者正在学习机器学习的Java程序员吗?

利用机器学习编写程序是最佳的学习方式。你可以从头开始编写算法,但是利用现有的开源库,你可以取得更大的进步。

本文介绍了主要的平台和开放源码的机器学习库。你可以使用这些机器学习库。

环境

本节描述了用于机器学习的Java环境或工作域。它们提供了用于执行机器学习任务的图形用户界面,还提供了用于开发自己应用程序的Java API

  • WEKA

怀卡托环境知识分析(Weka)( https:// www.cs.waikato.ac.nz/ml/weka/)是一个由新西兰怀卡托大学开发的机器学习平台。提供Java的图形用户接口,命令行接口和Java API接口。它可能是最流行的Java机器学习库,也是开始或练习机器学习的好地方。

  • KNIME

康斯坦茨信息挖掘(KNIME)(https://www.knime. com/)是德国康斯坦茨大学开发的一个分析和报告平台。它的研发重点是药物研究,但已扩展到一般商业智能。它提供一个图形用户接口(基于Eclipse)和Java API。

  • 快速挖掘

快速挖掘(https://rapidminer.com/)由德国多特蒙德应用技术大学研发。它提供了一个GUI和一个Java API来开发自己的应用程序。还提供了数据处理、可视化和建模的机器学习算法

  • ELKI

ELKI是一个用于开发由索引结构支持的KDD-应用程序的环境(https://elki-project.github.io/),它是由德国慕尼黑的路德维希马克西米利安大学用Java语言开发的一款数据挖掘工作平台。它的重点是在关系型数据库中处理数据,例如异常值检测和分类(基于距离函数方法)。它提供了一个迷你GUI、命令行接口和Java API。

其实本文列出的每个项目都带有Java API库。不过在这一节中列出的这些项目仅提供了一个Java API。从狭义上来说,它们是机器学习库。

  • Java-ML

Java机器学习库(Java-ML)(http://java-ml.sourceforge.net/)提供了在Java中实现的机器学习算法的集合。它为每一种算法提供了标准接口,没有UI(用户界面),也没有引用相关的科学文献来进一步阅读。它包括数据操作、群集、特性选择和分类的方法。值得注意的是,截止本文成稿为止,它的最新一个版本是在2012年。

  • JSAT

Java统计分析工具(JSAT)(https://github.com /EdwardRaff/JSAT/tree/master)提供了一个纯Java语言实现的标准机器学习算法,用于解决中等规模的问题。JSAT的作者称他开发的这个库部分是为了进行自我学习,部分是为了完成工作。尽管如此,算法的列表还是令人印象深刻的。它包括分类、回归、合集、聚类和特征选择方法。

Java大数据项目

本节列出了适合大数据的Java项目,例如机器集群。

  • Mahout (Hadoop)

Apache Mahout(https://mahout.apache.org/)提供了用于实现Apache Hadoop平台(分布式映射化简)的机器学习算法。该项目主要关注集群和分类算法,一个流行的应用程序驱动实现是它在推荐系统的协作筛选中使用。还包括在单个节点上运行算法的引用实现。

  • MLlib (Spark)

Apache机器学习库(MLlib)(http://spark. apache.org/mllib/)提供了用于Apache Spark平台(HDFS,而不是映射化简)机器学习算法的实现。尽管Java库和平台支持Java、Scala和Python绑定。这个库是新的,算法的列表很短,但是增长很快。

  • MOA

大规模在线分析(MOA)(https://moa.cms. waikato.ac.nz/)是一个开源平台,由新西兰怀卡托大学的数据流挖掘设计。和Weka相同(开发在相同的地方),提供一个GUI,命令行接口和Java API。它提供了一长串的算法,重点是分类和支持离群检测,解决概念漂移。MOA使用先进的数据挖掘和机器学习系统(ADAMS)(https://adams.cms.waikato.ac.nz/)管理工作流,开发也在相同的地方。

  • SAMOA

可扩展的高级在线分析(SAMOA)(http://samoa-project.net/)是一个由雅虎开发的分布式流媒体机器学习框架。它的设计运行在Apache Storm 和 Apache S4上。系统可以利用MOA项目提供的算法来完成分类等任务。

自然语言处理

本节将致力于Java库和项目,用于解决来自机器学习的子领域的问题,称之为自然语言处理(NLP)。

自然语言处理不是我的领域,所以我仅仅指出关键的库。

  • OpenNLP: Apache OpenNLP(http://opennlp. apache.org/)是处理自然语言文本的工具包,它为诸如标记化、分割和实体提取等自然语言处理任务提供了方法。
  • LingPipe:LingPipe(http://alias-i.com/lingpipe/)是计算语言学的一个工具包,包括了主题分类、实体提取、聚类和情绪分析的方法。
  • GATE: 文本工程一般结构(GATE)(http://gate.ac.uk/)是一个开源的用于文本处理的库。它提供了针对不同用例子项目的数组。
  • MALLET:机器学习语言工具包(MALLET)( http://mallet.cs.umass.edu/)是一种Java工具包,用于统计自然语言处理、文档分类、集群、主题建模和信息提取。

计算机视觉

本节列出了机器学习子领域库,称之为计算机视觉(VC)。

计算机视觉不是我熟悉的领域,所以我仅仅指出关键的库。

  • BoofCV:BoofCV(http://boofcv.org/index.php?title=Main_Page)是一个用于计算机视觉和机器人应用的开放源码库。它支持图像处理、特征、几何视觉、校准、识别和图像数据输入等功能。

深度学习

随着深度学习方法和硬件的快速发展,神经网络又重新流行起来。本节列出了用于处理神经网络和深度学习的关键Java库。

  • Encog:Encog(http://www.heatonresearch.com/encog)是一个机器学习库,提供了诸如SVM、经典神经网络、遗传编程、贝叶斯网络、HMM和遗传算法的算法。
  • Deeplearning4j:Deeplearning4j(http://deeplearning4j.org/)被认为是一个用Java编写的商业级的深度学习库。它被描述为与Hadoop兼容并提供了一些算法,包括受限的Boltzmann机,深层的信念网络和堆叠的降噪自动编码器。

总结

在这篇文章中,当我们在Java中选择一个用于机器学习的库或平台时,我们已经接触到了大项目名称选项。这些是倍受学习者欢迎的项目,但绝不只这些列出来的。比如:看一下MLOSS.org (http://mloss.org/software/language/java/)上的这个页面,(截止本文时)它列出了71个基于java的开源机器学习项目。这是一件很重要的工作,我相信GitHub和SourceForge还有更多的工作要做。

学习者的关键是要认真考虑自己的项目和需求。从一个库或者一个平台中找出你需要的东西,然后选择和学习一个最适合自己的项目。

原文链接:

https://machinelearningmastery.com/java-machine-learning/

编辑:黄继彦

杨金鸿,北京护航科技有限公司员工,在业余时间喜欢翻译一些技术文档。喜欢阅读有关数据挖掘、数据库之类的书,学习java语言编程等,希望能在数据派平台上熟识更多爱好相同的伙伴,今后能在数据科学的道路上走的更远,飞的更远。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
25个Java机器学习工具&库
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法。这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用。Weka包括一系列的工具,如数据预处理、分类、回归、聚类、关联规则以及可视化。 2.Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区。它包括一系列的机器学习算法(分类、回归、聚类、异常检测、概念漂移检测和推荐系统)和评估工具。关联了WEKA项目,MOA也是用Java编写的,其扩展性更强。
CSDN技术头条
2018/02/11
1.5K0
为 Java 开发者量身定制的五款机器学习库
编者按:机器学习是目前最炙手可热的技术之一,各大公司都在积极招聘相关的编程人才,来填补机器学习和深度学习代码编写的空缺。诚然,根据相关的招聘统计数据,Python 语言目前已经超越 Java 成为雇主最亟须的机器学习编程技能。但事实上,Java 在项目开发中仍然发挥着不可替代的作用,并且许多流行的机器学习框架本身就是由 Java 写成的。鉴于此前有关 Python 的参考资料已经很多,而鲜见 Java 的,因此,今天我们在这里推荐五个业内顶尖的 Java 机器学习库。原文载于 jaxenter.com
AI科技评论
2018/03/12
1.2K0
为 Java 开发者量身定制的五款机器学习库
5种方式将机器学习带到Java、Python以及Go等编程语言
【编者按】机器学习似乎在一夜之间从默默无闻的小卒变成万众瞩目的焦点,关于机器学习的开源工具也越来越多,但是目前的挑战是,如何让对机器学习感兴趣的开发者和准备使用它的数据科学家们真正使用上它们,本文搜集了几种语言中常见且实用的开源机器学习工具,非常值得关注,本文来自 InfoWorld。 以下为原文: 经过几十年作为一门专业学科的发展后,机器学习似乎一夜之间作为万众瞩目的商业工具出现在我们面前。目前面临的挑战是如何让其具备实效,尤其是对开发者和正准备使用它的数据科学家们。 为此,我们搜集了一些最常见的且实用的
用户1737318
2018/06/05
4950
35个免费又实用的开源 AI 项目
1. ACT-R:ACT-R由卡内基·梅隆大学开发,它既是人类认知理论的名称,又是基于该理论的软件的名称。该软件基于Lisp,提供详细的说明文档。 链接:http://act-r.psy.cmu.edu/software/ 2. Caffe:Caffe最初由加州大学伯克利分校的一名博士生创建,已成为一种大受欢迎的深度学习框架。它赖以成名的方面包括富有表现力的架构、可扩展代码和速度。 链接:http://caffe.berkeleyvision.org/ 3. CaffeOnSpark:该项目最初在雅虎开发
BestSDK
2018/03/01
1.8K0
机器学习各语言领域工具库中文版汇总
主要资源来自TensorFlow中文社区,翻译借助谷歌翻译,仅用于资源分享。 以下是根据不同语言类型和应用领域收集的各类工具库,持续更新中。 C 通用机器学习 推荐人 -一个产品推荐的Ç语言库,利用了协同过滤。 计算机视觉 CCV – C / Cached /核心计算机视觉库,是一个现代化的计算机视觉库。 VLFeat – VLFeat是开源的计算机视觉算法库,有Matlab工具箱。 ---- C ++ 计算机视觉 OpenCV – 最常用的视觉库。有C ++,C,Python以及Java接口),支持Win
十四君
2019/11/27
2.4K0
【干货】推荐19款最常用的数据挖掘工具
数据在当今世界意味着金钱。随着向基于app的世界的过渡,数据呈指数增长。然而,大多数数据是非结构化的,因此需要一个过程和方法从数据中提取有用的信息,并将其转换为可理解的和可用的形式。
1480
2019/05/23
1.7K0
机器学习必知的15大框架
-免费加入AI技术专家社群>> 摘要: 不管你是一个研究人员,还是开发者,亦或是管理者,想要使用机器学习,需要使用正确的工具来实现。本文介绍了当前最流行15个机器学习框架。 机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。他们和数据科学家密切合作来了解理论知识和行业应用。数据专家和机器学习工程师的主要区别是: ·机器学习工程师构建、开发和维护机器学习系统的产品。 ·数据专家进行调查研究形成有关于机器学习项目的想法,然后分析来理解机器学习系统的度量影响。 下面是机器学习
企鹅号小编
2018/01/25
8000
机器学习库/包的比较
当涉及到训练计算机的行为而不需要明确的编程,存在大量的机器学习领域的工具。学术和工业界专业人士使用这些工具来构建从语音识别到MRI扫描中的癌症检测的许多应用。许多这些工具可以在网上免费获得。如果你有兴趣,我已经编译了这些(见本页底部)的排名,以及区分它们中一些重要功能的概述。具体来说,该工具所用的语言、每个工具的主页网站上的描述、对机器学习中特定范式的关注以及学术界和工业界的一些主要用途。
哒呵呵
2018/08/06
9930
机器学习库/包的比较
专家们最常用的15款机器学习工具
机器学习是一项令人惊叹的技术。如果掌握了正确的使用方法,机器学习技术将势不可当。建造一个在很大程度上表现得像人类的机器,将是多么吸引人。精通机器学习工具有利于处理数据、训练模型、发现新方法并创建自己的算法。
人工智能小咖
2020/04/16
5.6K0
专家们最常用的15款机器学习工具
10款必备神器:机器学习开源工具助你从新手到高手
在厦门人工智能峰会上,依图科技联合创始人、CEO朱珑介绍到短短的5年时间机器的算法水平又提升了100万倍!过去或许只能从1万人中识别出1个人,后来发展到1000万、1亿、10亿甚至20亿人中识别出这个人!与此同时,算力方面提升了10万倍。从过去用1万量级规模的数据做训练,到百万规模的数据做训练,到现在用10亿的数据集做训练,又提升了1万倍!
Python数据科学
2019/08/15
6580
荐读 | 除了会下棋的阿法狗,AI军团还有这44个知名项目
在科幻小说中,我们经常看到AI软件的身影,许多人认为AI是一门存在于未来的技术,也许会变成现实,也许永远会停留在空想之中。 事实并非如此,我们当中的大多数人每天都会使用AI软件。 当你与智能手机对话时,上网搜索时,查看社交媒体动态消息时,都在与AI打交道。AI软件与我们玩游戏,谱写乐曲,撰写电影剧本。当你在网上购物时,遇见AI的机会也越来越大。Gartner预测:“到了2020年,不需要人类控制的自动软件代理将会参与到全球5%的经济交易活动中去。”到了2018年,全球300多万工人将在机器人“老板”的监督下
新智元
2018/03/23
9180
荐读 | 除了会下棋的阿法狗,AI军团还有这44个知名项目
【陆勤践行】机器学习开源项目
机器学习是目前数据分析领域的一个热点内容,在平时的学习和生活中经常会用到各种各样的机器学习算法。实际上,基于Python、Java等的很多机器学习算法基本都被前人实现过很多次了。这些算法在网上可以找到很多,然而往往存在很多“脏”或者“乱”的开源代码。 在这样的背景下, InfoWorld近日公布了机器学习领域11个最受欢迎的开源项目,这11个开源项目大多与垃圾邮件过滤、人脸识别、推荐引擎相关。它们大多数基于现今最流行的语言以及平台,推广以及扩展了机器学习领域的很多重要算法。从中,用户不但可以找到LDA等主题
陆勤_数据人网
2018/02/26
7650
满满的干货:机器学习资料(一)
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FPGA技术江湖
2020/12/29
9850
满满的干货:机器学习资料(一)
进行数据挖掘的 8 个最佳开源工具
数据挖掘,又称为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤,是一个挖掘和分析大量数据并从中提取信息的过程。其中一些应用包括市场细分 - 如识别客户从特定品牌购买特定产品的特征,欺诈检测 - 识别可能导致在线欺诈的交易模式等。在本文中,我们整理了进行数据挖掘的 8 个最佳开源工具。
用户1332428
2018/07/26
1.4K0
进行数据挖掘的 8 个最佳开源工具
机器学习必知的15大框架
机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。他们和数据科学家密切合作来了解理论知识和行业应用。数据专家和机器学习工程师的主要区别是: 机器学习工程师构建、开发和维护机器学习系统的产品。 数据专家进行调查研究形成有关于机器学习项目的想法,然后分析来理解机器学习系统的度量影响。 下面是机器学习的框架介绍: Apache Singa 是一个用于在大型数据集上训练深度学习的通用分布式深度学习平台,它是基于分层抽象的简单开发模型设计的。它还支持各种当前流行的深度学习模型,有
企鹅号小编
2018/01/10
6800
机器学习必知的15大框架
推荐:35个热门又实用的开源 AI 项目!
2017年企业界在AI技术上的开支将达到125亿美元,比2016年增长逾59.3%。这股强劲的增长势头可能会一直持续到2020年,到时收入有望达到460亿美元。开源软件的发展为AI的崛起发挥了巨大作用,市面上许多顶级的机器学习、深度学习、神经网络及其他AI软件采用开源许可证。本文从中遴选了50个最著名的开源AI项目: 1. ACT-R:ACT-R由卡内基·梅隆大学开发,它既是人类认知理论的名称,又是基于该理论的软件的名称。该软件基于Lisp,提供详细的说明文档。 链接:http://act-r.psy.
IT派
2018/03/29
2.5K0
推荐:35个热门又实用的开源 AI 项目!
干货 | 19款最好用的免费数据挖掘工具大汇总
数据在当今世界意味着金钱。随着向基于app的世界的过渡,数据呈指数增长。然而,大多数数据是非结构化的,因此需要一个过程和方法从数据中提取有用的信息,并将其转换为可理解的和可用的形式。
Python数据科学
2019/05/21
1.1K0
史上最全!国外程序员整理的机器学习资源
本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。 C++ 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java 以及 MATLAB 接口,并支持 Windows, Linux, Android and Mac OS 操作系统。 通用机器学习 MLPack DLib ecogg shark Closure 通用机器学习 Closure Toolbox—Clojure 语言库与工具的分类目录 Go 自然语言处
CDA数据分析师
2018/02/05
2.3K0
「首席架构师推荐」精选数据挖掘和机器学习软件列表
数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。[1]
架构师研究会
2019/09/30
7010
「首席架构师推荐」精选数据挖掘和机器学习软件列表
2020年用于机器学习的5大编程语言及其库
如果你是机器学习的新手,你可能会想我应该学什么编程语言?不同的人使用不同的编程语言,但在这些流行的高级编程语言中,哪一种最适合机器学习? 机器学习是技术领域发展最快的领域之一,其发展速度呈指数级增长。
三次方AIRX
2021/01/03
1.8K0
相关推荐
25个Java机器学习工具&库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档