用于Java的5大机器学习库盘点
机器学习是目前最热门的技能之一,许多公司都在争先恐后的寻找能够编写ML和深度学习代码的程序员,本文将为大家盘点5个针对Java的首选ML库
WEKA
Weka是我们最好的Java机器学习库的首选。Weka 3是一个完全基于Java开发,最适合用于机器学习算法。Weka主要用于数据挖掘,数据分析和预测建模。它完全免费,便携,易于使用,以及在新的交互式界面上的可视化。
“Weka的优势在于分类,但它也支持聚类,关联规则挖掘,时间序列预测,特征选择和异常检测,”新西兰怀卡托大学计算机科学教授Eibe Frank说。
Weka的机器学习算法集合可以直接应用于数据集或从你自己的Java代码调用。它还支持多种标准数据挖掘任务,包括数据预处理,分类,聚类,可视化,回归和特征选择。
(项目地址:http://www.cs.waikato.ac.nz/ml/weka/index.html)
MOA
MOA是一种开源软件,专门用于实时数据流的机器学习和数据挖掘。它采用Java开发,可以轻松地与Weka一起使用,同时支持扩展。MOA的机器学习算法和评估工具集合可用于回归,分类,异常值检测,聚类,推荐系统和概念漂移检测。MOA可用于大型演进数据集和数据流以及物联网(IoT)设备生成的数据。
MOA专门用于实时数据流的机器学习。它旨在实现时间和内存效率的处理。MOA通过提供若干有用的功能(包括用于新算法,流和评估方法的易于扩展的框架),可重复实验的数据流的可存储设置;以及对现有算法和措施进行比较,为在数据挖掘领域中运行实验提供了基准框架。
(项目地址:http://moa.cms.waikato.ac.nz/)
Deeplearning4j
去年,Deeplearning4j是JAXenter社区Java生态系统中最具创新性的贡献者之一,Deeplearning4j是一个商业级的开源分布式深度学习库,用Java和Scala编写,旨在将深度神经网络和深度学习结合在一起,用于商业环境。
Deeplearning4j旨在作为Java,Scala和Clojure程序员的DIY工具,Hadoop是一个庞大的分布式数据存储系统,具有巨大的处理能力,能够处理强大的并发任务或作业。深度神经网络和深度强化学习能够进行模式识别和面向目标的机器学习。所有这一切都意味着Deeplearning4j对于语音识别,声音和文本中的模式和情感非常有用。此外,它还可用于检测金融交易等时间序列数据中的异常。
(项目地址:https://deeplearning4j.org/)
MALLET
MALLET主要由Andrew McCallum和来自UMASS和UPenn的学生开发,是专门用于机器学习方面的软件包,。这个基于Java的包支持统计自然语言处理,文本聚类,文本分类,信息提取等。
MALLET的专长包括用于文档分类,例如用于转换文本的高效例程。它支持各种算法(包括NaïveBayes,Decision Trees和Maximum Entropy)和用于评估classfier性能的代码。此外,MALLET还包括用于序列标记和主题建模的工具。
(项目地址:http://mallet.cs.umass.edu/)
ELKI
ELKI是一个用于Java的开源数据挖掘平台。ELKI的重点是算法研究,强调聚类分析,数据库索引和异常值检测中的无监督方法。ELKI允许通过分离两者来独立评估数据挖掘算法和数据管理任务。此功能在Weta或Rapidminer等其他数据挖掘框架中是独一无二的。ELKI还允许任意数据类型,文件格式或距离或相似性度量。
ELKI专为研究人员和学生设计,提供大量高度可配置的算法参数。这样可以对算法进行公平,简便的评估和基准测试。这意味着ELKI对数据科学特别有用。
项目地址:https://elki-project.github.io/
网友评论