JavaRush /Java 博客 /Random-ZH /前 5 个 Java 机器学习库

前 5 个 Java 机器学习库

已在 Random-ZH 群组中发布
公司正在争夺能够编写机器学习和深度学习代码的程序员。如果您对这些主题感兴趣,也许您应该看看当今最好的机器学习 Java 库?
前 5 个 Java 机器学习库 - 1

迷你词汇表

机器学习是一种人工智能最初并不知道如何解决特定问题,而是通过解决类似问题来学习这个过程的方法。使用各种数学方法来建立关系。 深度学习是机器学习的一个子集,最常使用模仿人类决策的神经网络。深度学习通常需要大量的训练数据。例如,如果您需要设置一种算法来识别萨克斯管,则程序不仅必须提供萨克斯管的图像,还必须提供其他类似的铜管乐器的图像,以便算法将来不会将它们混淆。

这有希望吗?

人工智能发展的漫长寒冬已经结束。机器学习现在是技术领域最热门的技能之一,对了解该主题的专家的需求量很大。到目前为止,还没有一种语言成为机器学习领域的绝对领导者,但 Java 显然是最受欢迎的语言之一。因此,如果您对科学感兴趣并且想要进行研究而不仅仅是编码,我们建议您查看用于机器学习编程的前五个 Java 库。
前 5 个 Java 机器学习库 - 2

韦卡

图书馆链接: https://www.cs.waikato.ac.nz/ml/weka/index.html Weka 绝对是我们的最爱,这并不奇怪。该产品被认为是开发机器学习方法并将其应用于真实数据的现代环境,这种环境将使机器学习方法得到广泛使用。借助 Weka,应用科学家可以使用机器学习技术直接从可能非常大的数据中提取有用的知识。Weka 3 是用 Java 编写的免费软件。该产品可以很好地集成到其他代码中,因为它可以直接访问其中实现的算法库。也就是说,你将能够使用用Java实现的其他系统中已经编写的算法。此外,Weka有自己的Explorer用户界面,即知识流组件界面,但你也可以使用命令行。此外,Weka 还开发了一个 Experimenter 应用程序,用于比较机器学习算法对一组给定问题的预测能力。
前 5 个 Java 机器学习库 - 3
“Weka 的优势在于分类。因此它非常适合需要自动数据分类的应用程序。Weka 还执行聚类、预测、特征选择和异常检测任务。”新西兰怀卡托大学计算机科学教授 Eibe Frank 说道。Weka 的机器学习算法套件可以直接应用于数据库或从您自己的 Java 代码中调用。它支持多种标准数据挖掘任务,包括数据预处理、分类、聚类、可视化、回归分析和特征选择。 将 Weka 与 Java 代码结合使用的示例: https: //weka.wikispaces.com/Use+WEKA+in+your+Java+code

大规模在线分析 (MOA)

库链接: https ://moa.cms.waikato.ac.nz/ MOA(大规模在线分析)是一个用于开发数据流的框架。它包括评估工具和一组节省时间和内存的机器学习算法。这个开源库直接用于机器学习和实时从数据流中收集信息。MOA是用Java编写的,因此可以很容易地与Weka一起使用来解决大规模复杂的问题。MOA 的机器学习算法和评分引擎套件可用于回归分析、分类、异常值检测、聚类、推荐系统。MOA 对于更改数据集和流以及物联网 (IoT) 设备生成的数据也很有用。
前 5 个 Java 机器学习库 - 4
MOA中的工作流程遵循一个简单的方案:首先选择并配置数据流(通道、生成器),然后选择算法(例如分类器)并设置其参数。第三步,选择评估方法或措施,然后得出结果。
前 5 个 Java 机器学习库 - 5
要使用 MOA 运行实验,用户可以选择图形用户界面 (GUI) 或命令行。

深度学习4

库链接: https: //deeplearning4j.org/ Deeplearning4j 是为 Java 生态系统带来重大创新的创新贡献者之一。这是一个非常高质量的库,一个 Java 和 Scala 的开源项目,由优秀的人(和半智能机器人!)Skymind 向我们提供。Deep;earning4j 背后的想法是将深度神经网络和深度学习结合起来应用于商业环境。
前 5 个 Java 机器学习库 - 6
Deeplearning4j 对于使用 Hadoop 的 Java、Scala 和 Clojure 程序员来说是一个很棒的 DIY 工具,Hadoop 是一个用于开发和运行在具有数千个节点的集群上运行的分布式程序的框架。Hadoop 拥有强大的计算能力,能够处理几乎无限数量的并行任务。深度神经网络和深度强化学习能够进行模式识别和有针对性的机器学习。这意味着 Deeplearning4j 对于识别语音、音频和文本中的模式和情绪非常有用。此外,该库还可用于检测时间序列数据(例如金融交易)中的异常情况。

库链接: http: //mallet.cs.umass.edu/ MALLET 是一个开源 Java 工具包,由 Andrew McCallum 以及 UMASS 和 UPenn 的学生创建。该库主要设计用于使用机器学习进行文本处理。库名称说明 - MAchine Learning for LanguageE Toolkit。
前 5 个 Java 机器学习库 - 7
该软件包支持统计自然语言处理、聚类、文档分类、信息检索、建模和其他高级学习应用程序。MALLET 的主要优势是用于文档分类的现代工具,例如用于文本转换的高效标准程序。它支持多种算法,包括朴素贝叶斯、决策树、最大决策树和最大熵,以及分类器性能分析代码。

爱尔基

库链接: https: //elki-project.github.io/ ELKI 的全称是Environment for Developing KDD-Applications Supported by Index Structures,可以翻译为“用于开发索引结构支持的KDD应用程序的环境”。反过来,KDD(数据库中的知识发现)是一个缩写,隐藏了从数据中大规模提取知识的可能性。ELKI 的重点是算法研究,重点是聚类分析和异常值检测中的无监督方法。为了实现高性能和可扩展性,ELKI提供了R*树等数据索引结构(此类数据结构用于索引空间信息),这可以提供显着的性能提升。ELKI易于扩展,旨在提供大量高度参数化的算法,以实现轻松、公平的算法评估。
前 5 个 Java 机器学习库 - 8
这意味着 ELKI 在数据科学领域非常有用。该工具被用来研究抹香鲸的声音、太空飞行和交通预测。也许您知道另一个尚未涉及的 Java 机器学习库?在评论中与我们分享,找出我们可能错过的内容很有趣! 基于jaxenter 的材料
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION