0
本文作者: 恒亮 | 2017-03-11 12:34 |
編者按:機(jī)器學(xué)習(xí)是目前最炙手可熱的技術(shù)之一,各大公司都在積極招聘相關(guān)的編程人才,來(lái)填補(bǔ)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)代碼編寫的空缺。誠(chéng)然,根據(jù)相關(guān)的招聘統(tǒng)計(jì)數(shù)據(jù),Python 語(yǔ)言目前已經(jīng)超越 Java 成為雇主最亟須的機(jī)器學(xué)習(xí)編程技能。但事實(shí)上,Java 在項(xiàng)目開發(fā)中仍然發(fā)揮著不可替代的作用,并且許多流行的機(jī)器學(xué)習(xí)框架本身就是由 Java 寫成的。鑒于此前有關(guān) Python 的參考資料已經(jīng)很多,而鮮見 Java 的,因此,今天我們?cè)谶@里推薦五個(gè)業(yè)內(nèi)頂尖的 Java 機(jī)器學(xué)習(xí)庫(kù)。原文載于 jaxenter.com 網(wǎng)站,雷鋒網(wǎng)編譯。
地址:http://www.cs.waikato.ac.nz/ml/weka/index.html
毫無(wú)疑問(wèn),Weka 是目前首選的 Java 機(jī)器學(xué)習(xí)庫(kù)。
它由新西蘭懷卡托大學(xué)(University of Waikato)的機(jī)器學(xué)習(xí)項(xiàng)目組研發(fā)。其命名來(lái)源于一種新西蘭特有的不會(huì)飛的鳥——新西蘭秧雞,新西蘭秧雞的英文名稱就是 Weka。按照官網(wǎng)描述,Weka 吸收了許多目前常用的機(jī)器學(xué)習(xí)算法,并且完全基于 Java 環(huán)境,開源,免費(fèi),具有易于使用的圖形界面,適合于數(shù)據(jù)挖掘,數(shù)據(jù)分析和預(yù)測(cè)建模等多種應(yīng)用場(chǎng)景。
來(lái)自懷卡托大學(xué)的計(jì)算機(jī)科學(xué)教授 Eibe Frank 表示:“Weka 最大的優(yōu)勢(shì)在于分類,因此需要自動(dòng)數(shù)據(jù)分類的應(yīng)用程序可以從中獲益。但同時(shí)它也支持?jǐn)?shù)據(jù)預(yù)處理、聚類、關(guān)聯(lián)規(guī)則挖掘、時(shí)間序列預(yù)測(cè)、特征選擇、和異常檢測(cè)等場(chǎng)景?!?/p>
開發(fā)者可以直接通過(guò) Weka 軟件處理目標(biāo)數(shù)據(jù)集,同時(shí)也支持用戶在自己編寫的代碼中調(diào)用,將 Weka 視為一個(gè)靈活的組件。更貼心的是,懷卡托大學(xué)還提供了許多免費(fèi)的基于 Weka 的數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)視頻教程,感興趣的朋友可以在 Weka 官網(wǎng)點(diǎn)擊查看。
地址:http://moa.cms.waikato.ac.nz/
和 Weka 一脈相承,MOA 的命名也是來(lái)源于一種新西蘭特有的無(wú)翼大鳥——新西蘭恐鳥(目前已滅絕)。MOA 也是基于 Java 環(huán)境,開源,免費(fèi),在面對(duì)復(fù)雜問(wèn)題時(shí),MOA 還能和 Weka 協(xié)同工作。
MOA 在運(yùn)算效率和內(nèi)存占用方面都做了特殊優(yōu)化,通過(guò)提供易于擴(kuò)展的底層結(jié)構(gòu)、可復(fù)用的數(shù)據(jù)流分析設(shè)置以及一系列內(nèi)部實(shí)現(xiàn)好機(jī)器學(xué)習(xí)算法,MOA 為實(shí)時(shí)數(shù)據(jù)流分析提供了一個(gè)非常優(yōu)秀的基準(zhǔn)框架,因此在實(shí)時(shí)數(shù)據(jù)流挖掘領(lǐng)域的應(yīng)用非常廣泛。其內(nèi)部實(shí)現(xiàn)的機(jī)器學(xué)習(xí)算法包括:分類、回歸、聚類、孤立點(diǎn)檢測(cè)、概念漂移檢測(cè)和推薦系統(tǒng)等。此外,MOA 還提供了多種評(píng)估工具,以及活躍的社區(qū)討論、博客等配套資源。
地址:https://deeplearning4j.org/
Deeplearning4j(Deep Learning For Java)是 Java 和 Scala 環(huán)境下的一個(gè)開源分布式的深度學(xué)習(xí)項(xiàng)目,由總部位于美國(guó)舊金山的商業(yè)智能和企業(yè)軟件公司 Skymind 牽頭開發(fā),并得到了騰訊的投資。正如它的命名,Deeplearning4j 的運(yùn)行需要 Java 虛擬機(jī) JVM 的支持。
去年,JAXenter 社區(qū)曾提名 Deeplearning4j 作為 Java 生態(tài)系統(tǒng)最具創(chuàng)新的貢獻(xiàn)者之一。
Deeplearning4j 旨在為工作在 Hadoop 框架下的 Java、Scala 和 Clojure 程序員提供一個(gè)可以靈活 DIY 的機(jī)器學(xué)習(xí)工具。團(tuán)隊(duì)在官網(wǎng)表示,他們希望通過(guò)一些機(jī)器學(xué)習(xí)算法的開發(fā),將商業(yè)帶入智能化數(shù)據(jù)的時(shí)代。也正是為了實(shí)現(xiàn)這一理想,惠及更多的用戶,因此選擇了移植性更好的 Java 環(huán)境來(lái)實(shí)現(xiàn)這些算法。目前,Deeplearning4j 在模式識(shí)別、時(shí)間序列檢測(cè)和基于語(yǔ)音、文本的情感識(shí)別方面應(yīng)用廣泛,包括谷歌、Facebook和微軟等巨頭公司都是它的用戶。
地址:http://mallet.cs.umass.edu/
MALLET主要由來(lái)自麻省大學(xué)(University of Massachusetts)的Andrew McCallum教授和其學(xué)生開發(fā),是一個(gè)基于 Java 環(huán)境的開源機(jī)器學(xué)習(xí)工具包。主要應(yīng)用于統(tǒng)計(jì)自然語(yǔ)言處理,文檔分類,聚類,主題建模,信息提取等文本類分析場(chǎng)景。
MALLET 內(nèi)部實(shí)現(xiàn)了許多功能強(qiáng)大的工具,包括用于文檔分類的高級(jí)工具,用于序列標(biāo)記的工具,和用于主題建模的工具等。MALLET 還支持各種類型的算法,包括樸素貝葉斯,決策樹和最大熵等。此外,MALLET 還提供了許多例程,包括分詞,刪除停用詞,將文本轉(zhuǎn)換為向量表示等。
地址:https://elki-project.github.io/
ELKI 的全稱是:Environment for Developing KDD-Applications Supported by Index-Structures,即由索引結(jié)構(gòu)支持的 KDD 應(yīng)用開發(fā)環(huán)境,這里 KDD 是指 Knowledge Discovery in Database,即知識(shí)發(fā)現(xiàn)。
ELKI 也是一款知名的基于 Java 環(huán)境的數(shù)據(jù)挖掘軟件。ELKI 的重點(diǎn)是算法研究,強(qiáng)調(diào)聚類分析,數(shù)據(jù)庫(kù)索引和孤立點(diǎn)檢測(cè)等無(wú)監(jiān)督方法。ELKI 可以對(duì)數(shù)據(jù)挖掘算法和數(shù)據(jù)管理任務(wù)進(jìn)行各自獨(dú)立的分析,這在其他數(shù)據(jù)挖掘框架(如 Weta 和 Rapidminer)中是獨(dú)一無(wú)二的。此外,ELKI 還支持各種數(shù)據(jù)類型和文件格式,以及各種相似性度量方法。
ELKI 專為研究人員和學(xué)生設(shè)計(jì),提供了大量可靈活配置的算法參數(shù),以便進(jìn)行簡(jiǎn)單和公平的算法評(píng)估。目前 ELKI 已經(jīng)被廣泛應(yīng)用于各種數(shù)據(jù)科學(xué)的相關(guān)領(lǐng)域,包括鯨魚的回聲定位,航天飛行操作,共享單車分配和交通預(yù)測(cè)等。
來(lái)源:jaxenter,雷鋒網(wǎng)編譯
雷鋒網(wǎng)相關(guān)閱讀:
Python、R、Java、 C++ 等:從業(yè)界反饋看機(jī)器學(xué)習(xí)語(yǔ)言趨勢(shì)
數(shù)據(jù)科學(xué)入門難?老司機(jī)為你盤點(diǎn) 24 門精品課程
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。