欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

必备!Java中常用第三方工具库与包的集合

最编程 2024-08-02 11:33:10
...
  • ***opencv
  • ***TensorFlow: 一个是我们最喜欢的机器学习框架,被称作无与伦比的TensorFlow框架。 TensorFlow是一个使用数据流图进行数值计算的开源软件库,是GitHub上最受欢迎的机器学习项目,也是参与者和贡献者最多的机器学习项目。TensorFlow主要是用Python编写的,但它也支持Java和Go的一些用法。
  • ***Weka: 地址: ​​http://www.cs.waikato.ac.nz/ml/weka/index.html​​ 毫无疑问,Weka 是目前首选的 Java 机器学习库。完全基于 Java 环境,开源,免费,具有易于使用的图形界面,适合于数据挖掘,数据分析和预测建模等多种应用场景。Weka包括一系列的工具,如数据预处理、分类、回归、聚类、关联规则以及可视化。
  • ***ML:Java机器学习库ML官网:​​http://java-ml.sourceforge.net/​
    Java-ML是一个使用Java编写的一系列机器学习算法的Java API。它只提供了一个标准的算法接口。对于一个机器学习库来说,最基础就是数据处理能力,ml库给了dataset和instance两个类,dataset是矩阵,instance是行(可以理解是一个list,或一个double数组)。import net.sf.javaml.core.Dataset;
    import net.sf.javaml.core.DefaultDataset;
    import net.sf.javaml.core.DenseInstance;
    import net.sf.javaml.core.Instance;
    import net.sf.javaml.core.SparseInstance;
    import net.sf.javaml.tools.InstanceTools;
    import net.sf.javaml.tools.data.FileHandler;
  • **Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区。它包括一系列的机器学习算法(分类、回归、聚类、异常检测、概念漂移检测和推荐系统)和评估工具。关联了WEKA项目,MOA也是用Java编写的,其扩展性更强。MOA 也是基于 Java 环境,开源,免费,在面对复杂问题时,MOA 还能和 Weka 协同工作。MOA 在运算效率和内存占用方面都做了特殊优化,通过提供易于扩展的底层结构、可复用的数据流分析设置以及一系列内部实现好机器学习算法,MOA 为实时数据流分析提供了一个非常优秀的基准框架,因此 在实时数据流挖掘领域的应用非常广泛 。其内部实现的机器学习算法包括:分类、回归、聚类、孤立点检测、概念漂移检测和推荐系统等。地址: ​​http://moa.cms.waikato.ac.nz/​
  • ***MALLET :地址: ​​http://mallet.cs.umass.edu/​​ 主要由来自麻省大学(University of Massachusetts)的Andrew McCallum教授和其学生开发,是一个基于 Java 环境的开源机器学习工具包。主要应用于统计自然语言处理,文档分类,聚类,主题建模,信息提取等 文本类分析场景 。许多功能强大的工具,包括用于文档分类的高级工具,用于序列标记的工具,和用于主题建模的工具等。MALLET 还支持各种类型的算法,包括朴素贝叶斯,决策树和最大熵等。此外,MALLET 还提供了许多例程,包括分词,删除停用词,将文本转换为向量表示等。
  • MEKA项目提供了一个面向多标签学习和评价方法的开源实现。在多标签分类中,我们要预测每个输入实例的多个输出变量。这与“普通”情况下只涉及一个单一目标变量的情形不同。此外,MEKA基于WEKA的机器学习工具包。
  • Advanced Data mining And Machine learning System(ADAMS)是一种新型的柔性工作流引擎,旨在迅速建立并保持真实世界的复杂知识流,它是基于GPLv3发行的。
  • Environment for Developing KDD-Applications Supported by Index-Structure(ELKI)是一款基于Java的开源(AGPLv3)数据挖掘软件。ELKI主要集中于算法研究,重点研究聚类分析中的无监督方法和异常检测。
  • Mallet是一个基于Java的面向文本文件的机器学习工具包。Mallet支持分类算法,如最大熵、朴素贝叶斯和决策树分类。
  • Encog是一个先进的机器学习框架,集成了支持向量机(SVM)、人工神经网络、遗传算法、贝叶斯网络、隐马尔可夫模型(HMM)、遗传编程和遗传算法。
  • Encog是一个先进的机器学习框架,集成了支持向量机(SVM)、人工神经网络、遗传算法、贝叶斯网络、隐马尔可夫模型(HMM)、遗传编程和遗传算法。
  • Mahout是一个内置算法的机器学习框架。Mahout-Samsara帮助人们创建他们自己的数学,并提供了一些现成的算法实现。
  • Rapid Miner是德国多特蒙特技术大学开发的。它为开发者开发应用程序提供了一个GUI(图形用户界面)和Java API。它还提供了一些机器学习算法,用来做数据处理、可视化以及建模。
  • Apache SAMOA是 一个机器学习(ML)框架,内嵌面向分布式流ML算法的编程抽象,并且允许在没有直接处理底层分布式流处理引擎(DSPEe,如 Apache Storm、Apache S4和Apache samza)复杂性的情况下,开发新的ML算法。用户可以开发分布式流ML算法,而且可以 在多个DSPEs上执行。
  • Neuroph通过提供支持创建、训练和保存神经网络的Java网络库和GUI工具,简化了神经网络开发。
  • Oryx 2是一个建立在Apache Spark和Apache Kafka的Lambda架构实现,但随着实时大规模机器学习而逐渐开始专业化。这是一个用于构建应用程序的框架,但也包括打包,以及面向协同过滤、分类、回归和聚类的端到端的应用程序。
  • Stanford Classifier是一个机器学习工具,它可以将数据项归置到一个类别。一个概率分类器,比如这个,它可以对一个数据项给出类分配的概率分布。该软件是最大熵分类器的一个Java实现。
  • JSAT是一个快速入门的机器学习库。该库是我在业余时间开发的,基于GPL3发行的。库中的一部分内容可自主学习,例如所有的代码都是独立的。JSAT没有外部依赖,而且是纯Java编写的。
  • Java Machine Learning Library(Java机器学习库)是一系列机器学习算法的相关实现。这些算法,无论是源代码还是文档,都编写的很出色。其主要语言是Java。
  • MLlib (Spark)是Apache Spark的可扩展机器学习库。虽然是Java,但该库与平台还支持Java,Scala和Python绑定。此库是最新的,并且算法很多。
  • H2O是用于智能应用的机器学习API。它在大数据上对统计学、机器学习和数学进行了规模化。H2O可扩展,开发者可以在核心部分使用简单的数学知识。
  • ELKI: ​​https://elki-project.github.io/​​ Environment for Developing KDD-Applications Supported by Index-Structures,即 由索引结构支持的 KDD 应用开发环境 ,Environment for Developing KDD-Applications Supported by Index-Structures,即 由索引结构支持的 KDD 应用开发环境
  • Neo4j :Neo4j是一个世界领先的开源图形数据库。 它是由Neo技术使用Java语言完全开发的。图形数据库是以图形结构的形式存储数据的数据库。 它以节点,关系和属性的形式存储应用程序的数据。 正如RDBMS以表的“行,列”的形式存储数据,GDBMS以“图形”的形式存储数据。​​https://neo4j.com/​​ 教程:​​https://www.w3cschool.cn/neo4j/​
  • 推荐阅读