25种Java机器学习工具和库


这是25种Java机器学习工具和库的列表。

  1. Weka拥有一系列用于数据挖掘任务的机器学习算法。算法可以直接应用于数据集,也可以从您自己的Java代码调用。Weka包含用于数据预处理,分类,回归,聚类,关联规则和可视化的工具。
  2. 大规模在线分析(MOA)是一种流行的数据流挖掘开源框架,具有非常活跃的增长社区。它包括一系列机器学习算法(分类,回归,聚类,异常检测,概念漂移检测和推荐系统)和评估工具。与WEKA项目相关,MOA也是用Java编写的,同时可以扩展到更苛刻的问题。
  3. MEKA项目提供的多标记学习和评价方法的开源实现。在多标签分类中,我们希望为每个输入实例预测多个输出变量。这与仅涉及单个目标变量的“标准”情况不同。MEKA基于WEKA机器学习工具包。
  4. 先进的数据挖掘和机器学习系统(ADAMS)是一种新型的,灵活的工作流引擎,旨在快速构建和维护现实世界的,复杂的知识的工作流程,以GPLv3发布。
  5. 开发KDD的环境 - 索引结构支持的应用程序(ELKI)是一个用Java编写的开源(AGPLv3)数据挖掘软件。ELKI的重点是算法研究,重点是聚类分析和异常检测中的无监督方法。
  6. Mallet是一个用于文本文档的java机器学习工具包。Mallet支持分类算法,如最大熵,朴素贝叶斯和用于分类的决策树。
  7. Encog是一种先进的机器学习框架,支持支持向量机,人工神经网络,遗传编程,贝叶斯网络,隐马尔可夫模型,遗传编程和遗传算法。
  8. Datumbox机器学习框架是用Java编写的开源框架,允许快速发展的机器学习和统计应用。该框架的主要重点是包括大量的机器学习算法和统计测试,并能够处理中大型数据集。
  9. Deeplearning4j是第一个为Java和Scala编写的商业级,开源,分布式深度学习库。它旨在用于商业环境,而不是作为研究工具。
  10. Mahout是一个内置算法的机器学习框架。Mahout-Samsara帮助人们创建自己的数学,同时提供一些现成的算法实现。
  11. Rapid Miner由德国多特蒙德技术大学开发。它提供了GUI和Java API,用于开发您自己的应用程序。它使用机器学习算法提供数据处理,可视化和建模。
  12. Apache SAMOA是一个机器学习(ML)框架,包含分布式流ML算法的编程抽象,可以开发新的ML算法,而无需直接处理底层分布式流处理引擎的复杂性(DSPEe,如Apache Storm,Apache S4,和Apache Samza)。它的用户可以开发一次分布式流ML算法并在多个DSPE上执行它们。
  13. Neuroph通过提供支持创建,训练和保存神经网络的Java神经网络库和GUI工具,简化了神经网络的开发。
  14. Oryx 2是基于Apache Spark和Apache Kafka构建的lambda体系结构的实现,但具有专门用于实时大规模机器学习的功能。它是用于构建应用程序的框架,还包括用于协同过滤,分类,回归和群集的打包的端到端应用程序。
  15. 斯坦福分类器是一种机器学习工具,它将获取数据项并将它们放入k类之一。像这样的概率分类器也可以给出数据项的类分配的概率分布。该软件是最大熵分类器的Java实现。
  16. Cortical.io是一种Retina API快速,精确且类似脑的算法,可实现NLP。
  17. JSAT是一个快速入门机器学习问题的库。它是在我的空闲时间开发的,并且可以在GPL 3下使用。图书馆的一部分用于自学,因此 - 所有代码都是自包含的。JSAT没有外部依赖关系,而且是纯Java。
  18. 用于Java的N维数组 (ND4J)是用于JVM的科学计算库。它们旨在用于生产环境,这意味着例程设计为以最低RAM要求快速运行。
  19. Java的机器学习库 是一组机器学习算法参考实现。这些算法都在文档站点的源代码中有详细记录。它主要用Java编写。
  20. Java-ML 是一个Java API,其中包含一系列用Java实现的机器学习算法。它仅为算法提供标准接口。
  21. MLlib(Spark) 是Apache Spark的可扩展机器学习库。虽然Java,库和平台支持Java,Scala和Python绑定。该库是新的,算法列表很长。
  22. H2O  是用于智慧应用程序的机器学习API。它可以扩展大数据的统计,机器学习和数学。H2O是可扩展的,个人可以使用核心中的简单数学句法来构建块。
  23. WalnutiQ 是一个面向对象的部分人脑模型,具有1个理论化的通用学习算法(正朝着强烈的情感AI的简单模型进行工作)
  24. RankLib是一个学习排名算法的库。目前已经实现了八种流行的算法。
  25. htm.java(Java中的分层时态内存实现)是Numenta智能计算平台的Java端口。