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

Weka

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

盘点:为 Java 开发者量身定制的五款机器学习库_第1张图片

毫无疑问,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/ 

盘点:为 Java 开发者量身定制的五款机器学习库_第2张图片

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

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

Deeplearning4j

地址:https://deeplearning4j.org/ 

盘点:为 Java 开发者量身定制的五款机器学习库_第3张图片

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/ 

盘点:为 Java 开发者量身定制的五款机器学习库_第4张图片

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

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

ELKI

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

盘点:为 Java 开发者量身定制的五款机器学习库_第5张图片

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 已经被广泛应用于各种数据科学的相关领域,包括鲸鱼的回声定位,航天飞行操作,共享单车分配和交通预测等。






本文作者:恒亮
本文转自雷锋网禁止二次转载, 原文链接

你可能感兴趣的:(盘点:为 Java 开发者量身定制的五款机器学习库)