25个Java机器学习工具和库

1. Weka集成了数据挖掘工作的机器学习算法。这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用。Weka包括一系列的工具,如数据预处理、分类、回归、聚类、关联规则以及可视化。

2.Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区。它包括一系列的机器学习算法(分类、回归、聚类、异常检测、概念漂移检测和推荐系统)和评估工具。关联了WEKA项目,MOA也是用Java编写的,其扩展性更强。

3.MEKA项目提供了一个面向多标签学习和评价方法的开源实现。在多标签分类中,我们要预测每个输入实例的多个输出变量。这与“普通”情况下只涉及一个单一目标变量的情形不同。此外,MEKA基于WEKA的机器学习工具包。

4. Advanced Data mining And Machine learning System(ADAMS)是一种新型的柔性工作流引擎,旨在迅速建立并保持真实世界的复杂知识流,它是基于GPLv3发行的。

5. Environment for Developing KDD-Applications Supported by Index-Structure(ELKI)是一款基于Java的开源(AGPLv3)数据挖掘软件。ELKI主要集中于算法研究,重点研究聚类分析中的无监督方法和异常检测。

6. Mallet是一个基于Java的面向文本文件的机器学习工具包。Mallet支持分类算法,如最大熵、朴素贝叶斯和决策树分类。

7. Encog是一个先进的机器学习框架,集成了支持向量机(SVM)、人工神经网络、遗传算法、贝叶斯网络、隐马尔可夫模型(HMM)、遗传编程和遗传算法。

8. Datumbox机器学习框架是一个用Java编写的开源框架,允许快速地开发机器学习和统计应用。该框架的核心重点包括大量的机器学习算法以及统计测试,能够处理中等规模的数据集。

9. Deeplearning4j是使用Java和Scala编写的第一个商业级的、开源的、分布式深入学习库。其设计的目的是用于商业环境中,而不是作为一个研究工具。

10. Mahout是一个内置算法的机器学习框架。Mahout-Samsara帮助人们创建他们自己的数学,并提供了一些现成的算法实现。

11.Rapid Miner是德国多特蒙特技术大学开发的。它为开发者开发应用程序提供了一个GUI(图形用户界面)和Java API。它还提供了一些机器学习算法,用来做数据处理、可视化以及建模。

12. Apache SAMOA
一个机器学习(ML)框架,内嵌面向分布式流ML算法的编程抽象,并且允许在没有直接处理底层分布式流处理引擎(DSPEe,如
Apache Storm、Apache S4和Apache samza)复杂性的情况下,开发新的ML算法。用户可以开发分布式流ML算法,而且可以
在多个DSPEs上执行。

13. Neuroph通过提供支持创建、训练和保存神经网络的Java网络库和GUI工具,简化了神经网络开发。

14. Oryx 2是一个建立在Apache Spark和Apache Kafka的Lambda架构实现,但随着实时大规模机器学习而逐渐开始专业化。这是一个用于构建应用程序的框架,但也包括打包,以及面向协同过滤、分类、回归和聚类的端到端的应用程序。

15. Stanford Classifier是一个机器学习工具,它可以将数据项归置到一个类别。一个概率分类器,比如这个,它可以对一个数据项给出类分配的概率分布。该软件是最大熵分类器的一个Java实现。

16.io是一个Retina API,有着快速精确的类似大脑的自然语言处理算法。

17.JSAT是一个快速入门的机器学习库。该库是我在业余时间开发的,基于GPL3发行的。库中的一部分内容可自主学习,例如所有的代码都是独立的。JSAT没有外部依赖,而且是纯Java编写的。

18. N-Dimensional Arrays for Java(ND4J)是一个用于JVM的科学计算库。它们是用来在生产环境中使用的,这表明例程的设计是以最小的内存需求来运行的。

19. Java Machine Learning Library(Java机器学习库)是一系列机器学习算法的相关实现。这些算法,无论是源代码还是文档,都编写的很出色。其主要语言是Java。

20. Java-ML是一个使用Java编写的一系列机器学习算法的Java API。它只提供了一个标准的算法接口。

21. MLlib (Spark)是Apache Spark的可扩展机器学习库。虽然是Java,但该库与平台还支持Java,Scala和Python绑定。此库是最新的,并且算法很多。

22. H2O是用于智能应用的机器学习API。它在大数据上对统计学、机器学习和数学进行了规模化。H2O可扩展,开发者可以在核心部分使用简单的数学知识。

23. WalnutiQ是人脑部分面向对象模型,有着理论常用的学习算法(正在向简单强烈的情感人工智能模型方向研究)。

24. RankLib是一个排名学习算法库。目前已经实现八种流行的算法。

25. htm.java(基于Java的Hierarchical Temporal Memory算法实现)是一个面向智能计算的Numenta平台的Java接口。源码

作者:bigdata

来源:51CTO

时间: 2024-09-20 00:57:23

25个Java机器学习工具和库的相关文章

25 个 Java 机器学习工具和库

本列表总结了25个Java机器学习工具&库: Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预处理.分类.回归.聚类.关联规则以及可视化. 2.Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区.它包括一系列的机器学习算法(分类.回归.聚类.异常检测.概念漂移检测和推荐系统)和评估工具.关联了WEKA项目,MOA也是用Java编写的,其扩展性

BlackHat2017热点之DefPloreX---大规模网络犯罪取证的机器学习工具

本文讲的是BlackHat2017热点之DefPloreX---大规模网络犯罪取证的机器学习工具, 前言 Black Hat USA 2017是在通过四天(7月22日-7月25日)的技术培训后才举办的会议,为期两天的会议是在7月26日-7月27日召开的. 在为期四天的培训中,培训者除了可以综合学习文件系统理论.应用分析.电子邮件.照片取证.事件日志审查等内容,还可以对Windows 8.Windows 10和其它操作系统的数字取证与事件响应方法进行了解.今天我们嘶吼就为大家具体剖析一下其中的一个

如何开始使用 Java 机器学习

开始Java机器学习的最好工具是什么? 这个问题已经有一段时间了,但最近这些日子几乎每个人都在谈论人工智能和机器学习.这已经不再是一个保留给科学家和研究者的秘密,而是几乎实现于每一项新兴技术中. 在下面的章节中,我们会做一个java的机器学习的主要框架的快速概述,并证明Java机器学习是多么容易上手,不需要你另起炉灶或者从头开始创建算法. 人类的人工智能人工智能在一段时间以来是一个广泛并且炫酷的领域,但总是感觉有点难以触及,是特别为科学家所做.如果你想创造一个人工智能系统,你必须实现你自己的核心

关于Java常用工具您不知道的5件事

Java 常用工具,如解析.计时和声音 很多年前,当我还是高中生的时候,我曾考虑以小说作家作为我的职业追求,我订阅了一本 Writer's Digest 杂志.我记得其中有篇专 栏文章,是关于 "太小而难以保存的线头",专栏作者描述厨房储物抽屉中放满了无法分类的玩意儿.这句话我一直铭记在心,它正好用 来描述本文的内容,本系列的最后一篇(至少目前是这样). Java 平台就充满了这样的 "线头" - 有用的命令行工具和库,大多数 Java 开发人员甚至都不知道,更别提

十四种Java开发工具点评

在计算机开发语言的历史中,从来没有哪种语言象Java那样受到如此众多厂商的支持,有如此多的开发工具,Java菜鸟们如初入大观园的刘姥姥,看花了眼,不知该何种选择.的确,这些工具各有所长,都没有绝对完美的,就算是老鸟也很难做出选择.在本文中我简要介绍了常见的十四种Java开发工具的特点,管中窥"器",希望能对大家有所帮助. 1.JDK (Java Development Kit) 2.Java Workshop 3.NetBeans 与Sun Java Studio 5 4.Borlan

Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解

原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率. 1 创建新的项目 创建名为UnitTestingApp的Java项目. 2 创建一个类进行测试 创建一个新的类用于测试. 添加方法sayHello返回Hello字符串. 3 创建测试源根目录 为了不将测试添加到源中,用户可以创建根目录.在这种情

Java多线程与并发库高级应用

想快速精通多线程?看这里  http://blog.chinaunix.net/uid-540802-id-4431193.html 什么是线程         线程,是程序执行流的最小单元.是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可以与同属一个进程的其他线程共享进程所拥有的全部资源,一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行.在单个程序中同时运行多个线程完成不同的工作,称为多线程.当自己想

Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP

Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上它们的确是不太一样的.因此,我们运行了一个基准测试来对常用的几个JSON库进行了测试,看看在解析不同大小的文件时哪个库的速度是最快的.下面我会把结果分享给大家. JSON通常用于传

25岁Java工程师如何转型学习人工智能?

"大牛我要问"栏目推出一段时间后,阿里妹收到不少童鞋的来信,其中以职业发展.技术成长的困惑居多. 今天阿里妹选择了一个颇具有代表性的问题:关于目前大热的AI入门学习,希望能帮助有同样问题的童鞋解惑指路. 来信问题:25岁Java工程师如何转型学习AI? 我是一名25岁的Java开发工程师.本科学习的专业是信息与计算科学(数学专业),因为对计算机方面感兴趣,之后培训学习了Java,所以现在从事Java开发.目前就是在电商公司开发一些系统. 我对人工智能非常感兴趣,对数学的兴趣也从未减弱.