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