盘点:为 Java 开发者量身定制的五款机器学习库

Weka

地址:http://www.cs.waikato.ac.nz/ml/weka/index.html 

毫无疑问,Weka 是目前首选的 Java 机器学习库。

它由新西兰怀卡托大学(University of Waikato)的机器学习项目组研发。其命名来源于一种新西兰特有的不会飞的鸟——新西兰秧鸡,新西兰秧鸡的英文名称就是 Weka。按照官网描述,Weka 吸收了许多目前常用的机器学习算法,并且完全基于 Java 环境,开源,免费,具有易于使用的图形界面,适合于数据挖掘,数据分析和预测建模等多种应用场景。

来自怀卡托大学的计算机科学教授 Eibe Frank 表示:“Weka 最大的优势在于分类,因此需要自动数据分类的应用程序可以从中获益但同时它也支持数据预处理、聚类、关联规则挖掘、时间序列预测、特征选择、和异常检测等场景。”

开发者可以直接通过 Weka 软件处理目标数据集,同时也支持用户在自己编写的代码中调用,将 Weka 视为一个灵活的组件。更贴心的是,怀卡托大学还提供了许多免费的基于 Weka 的数据挖掘和机器学习视频教程,感兴趣的朋友可以在 Weka 官网点击查看。

Massive Online Analysis (MOA)

地址:http://moa.cms.waikato.ac.nz/ 

和 Weka 一脉相承,MOA 的命名也是来源于一种新西兰特有的无翼大鸟——新西兰恐鸟(目前已灭绝)。MOA 也是基于 Java 环境,开源,免费,在面对复杂问题时,MOA 还能和 Weka 协同工作。

MOA 在运算效率和内存占用方面都做了特殊优化,通过提供易于扩展的底层结构、可复用的数据流分析设置以及一系列内部实现好机器学习算法,MOA 为实时数据流分析提供了一个非常优秀的基准框架,因此在实时数据流挖掘领域的应用非常广泛。其内部实现的机器学习算法包括:分类、回归、聚类、孤立点检测、概念漂移检测和推荐系统等。此外,MOA 还提供了多种评估工具,以及活跃的社区讨论、博客等配套资源。

Deeplearning4j

地址:https://deeplearning4j.org/ 

Deeplearning4j(Deep Learning For Java)是 Java 和 Scala 环境下的一个开源分布式的深度学习项目,由总部位于美国旧金山的商业智能和企业软件公司 Skymind 牵头开发,并得到了腾讯的投资。正如它的命名,Deeplearning4j 的运行需要 Java 虚拟机 JVM 的支持。

去年,JAXenter 社区曾提名 Deeplearning4j 作为 Java 生态系统最具创新的贡献者之一。

Deeplearning4j 旨在为工作在 Hadoop 框架下的 Java、Scala 和 Clojure 程序员提供一个可以灵活 DIY 的机器学习工具。团队在官网表示,他们希望通过一些机器学习算法的开发,将商业带入智能化数据的时代。也正是为了实现这一理想,惠及更多的用户,因此选择了移植性更好的 Java 环境来实现这些算法。目前,Deeplearning4j 在模式识别、时间序列检测和基于语音、文本的情感识别方面应用广泛,包括谷歌、Facebook和微软等巨头公司都是它的用户。

MALLET

地址:http://mallet.cs.umass.edu/ 

MALLET主要由来自麻省大学(University of Massachusetts)的Andrew McCallum教授和其学生开发,是一个基于 Java 环境的开源机器学习工具包。主要应用于统计自然语言处理,文档分类,聚类,主题建模,信息提取等文本类分析场景

MALLET 内部实现了许多功能强大的工具,包括用于文档分类的高级工具,用于序列标记的工具,和用于主题建模的工具等。MALLET 还支持各种类型的算法,包括朴素贝叶斯,决策树和最大熵等。此外,MALLET 还提供了许多例程,包括分词,删除停用词,将文本转换为向量表示等。

ELKI

地址:https://elki-project.github.io/ 

ELKI 的全称是:Environment for Developing KDD-Applications Supported by Index-Structures,即由索引结构支持的 KDD 应用开发环境,这里 KDD 是指 Knowledge Discovery in Database,即知识发现。

ELKI 也是一款知名的基于 Java 环境的数据挖掘软件。ELKI 的重点是算法研究,强调聚类分析,数据库索引和孤立点检测等无监督方法。ELKI 可以对数据挖掘算法和数据管理任务进行各自独立的分析,这在其他数据挖掘框架(如 Weta 和 Rapidminer)中是独一无二的。此外,ELKI 还支持各种数据类型和文件格式,以及各种相似性度量方法。

ELKI 专为研究人员和学生设计,提供了大量可灵活配置的算法参数,以便进行简单和公平的算法评估。目前 ELKI 已经被广泛应用于各种数据科学的相关领域,包括鲸鱼的回声定位,航天飞行操作,共享单车分配和交通预测等。

本文作者:恒亮

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-08-01 01:02:57

盘点:为 Java 开发者量身定制的五款机器学习库的相关文章

值得Java开发者关注的7款新工具_java

云计算.大数据地快速发展催生了不少热门的应用及工具.作为老牌语言Java,其生态圈也出来了一些有关云服务.监控.文档分享方面的工具.本文总结了7款较新的Java工具,大家不妨看下. 1. JClarity--性能监控 JClarity目前提供两款有关Java性能的工具:Illuminate和Censum,Illuminate是一款性能监控工具,而Censum是一款专注于垃圾回收的日志分析工具.除了收集和可视化数据之外,这两款工具还会根据检测到的问题提供解决方案. 核心功能: 瓶颈问题检测(磁盘

招财猫进销存软件领衔 盘点五款功能强大的进销存管理软件

中介交易 SEO诊断 淘宝客 云主机 技术大厅 目前大多数中小型企业面临一个问题,就是产品内部管理这块,特别是一到销售旺季或者节假日促销,商品的品种太多,记不清型号,规格等,让人手忙脚乱,工作效率也提不上来.而随着店内会员的增多,会员促销如何实施?针对这一系列问题,小编接下来盘点国内五款功能强大的进销存管理软件,其中招财猫进销存软件已经成为进销存软件市场的领航者,市场占有率遥遥领先. Top1.招财猫进销存软件 招财猫通用版界面截图 招财猫进销存管理软件,专注于中小企业进销存管理,并针对每个行业

五款java 删除数组元素与重复数组实例代码

五款java 删除数组元素与重复数组实例代码 本文章从网络上收藏了java 删除数组元素哦,各种删除数组元素都有自己的方法,这里不但可以删除数组元素而还可以删除重复的数组元素实例. package com.lzy; import java.util.hashset; import java.util.set; public class test {  /**   * @param args   */  public static void main(string[] args) {   // t

Java开发者必备:PaaS解决方案盘点

PaaS(Platform-as-a-Service)是云服务的一种,服务提供商不仅提供按需索取的硬件和操作系统服务,还提供了应用程序平台和解决方案栈.对开发者而言,PaaS极大程度上减少了IT部署的开销和痛苦,按需为应用程序提供资源,让其更易伸缩. JVM.应用服务器和部署包(例如,WAR和EAR)为Java应用程序提供了天然的隔离,允许不同开发者在同一套基础设施中部署应用程序,因此Java平台十分适合PaaS.但是,过去几年里,大多数PaaS产品都围绕着Ruby和Python这样的平台,当时

盘点WP 7的五款必装应用

和苹果有类似的触感,但却有着独特的脸:能和Xbox Live相连玩游戏:能连接Windows Office办公:能必应搜索:能通过Zune软件下载并播放音乐--这就是被微软寄予厚望,正在各家手机制造商推广的Windows Phone 7.对于不少正徘徊在是否选择Windows Phone 7还是选择其他系统手机的朋友来说,是否能找到自己喜欢的应用,是决定的必要参考条件.本期笔者经过在下载排名.应用易用度和同类软件功能比较等方面对比.筛选出时下最适合国人使用的五款Windows Phone 7热门

横评:五款免费开源的语音识别工具

作为 SVDS 研究团队的成员,我们会经常接触各种不同的语音识别技术,也差不多见证了语音识别技术近几年的发展.直到几年之前,最先进的语音技术方案大多都是以语音为基础的(phonetic-based),包括发音模型(Pronunciation models),声学模型(Acoustic Modelling)和语言模型(Language Model)等.通常情况下,这些模型大多都是以隐马尔可夫模型(HMM)和 N-gram 模型为核心的.未来,我们希望以这些传统模型为基础,探索一些诸如与百度 Dee

点评五款用于 Linux 编程的内存调试器

点评五款用于 Linux 编程的内存调试器 Credit: Moini 作为一个程序员,我知道我肯定会犯错误--怎么可能不犯错!程序员也是人啊.有的错误能在编码过程中及时发现,而有些却得等到软件测试了才能显露出来.然而,还有一类错误并不能在这两个阶段被解决,这就导致软件不能正常运行,甚至是提前终止. 如果你还没猜出是那种错误,我说的就是和内存相关的错误.手动调试这些错误不仅耗时,而且很难发现并纠正.值得一提的是,这种错误很常见,特别是在用 C/C++ 这类允许手动管理内存的语言编写的软件里. 幸

JavaScript如何调试有哪些建议和技巧附五款有用的调试工具_javascript技巧

以下内容是关于javascript如何调试有哪些建议和技巧的相关知识,具体详情请看下文吧. 浏览器开发者工具 我个人最喜欢Chrome开发者工具.虽然Safari和Firefox无法达到Chrome那么高的标准,但它们也在逐渐改善.在Firefox中,可以将Firebug和Firefox开发者工具组合使用.如果Firefox小组在改进内置开发者工具方面继续表现优异的话,Firebug有一天可能会被淘汰. 先把个人偏好放在一边,你应该能够在目标浏览器中对任意代码进行试验和调试.你的目标浏览器可能包

php开发工具有哪五款_php技巧

 由于最近小编要自学php,所以整理了一些常用的php开发工具,给大家分享一下: 1.EditPlus     EditPlus是一套功能强大,可取代记事本的文字编辑器,拥有无限制的Undo/Redo.英文拼字检查.自动换行.列数标记.搜寻取代.同时编辑多文件.全屏幕浏览功能.对于很多php程序来说,EditPlus 非常简单好用.同时EditPlus也是一款好用的HTML编辑器,除了可以颜色标记HTML Tag (同时支持C/C++.Perl.Java)外,还内建完整的HTML和CSS1指令功