天天看點

Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

圖檔來源: Mindfire Solutions

摘要:現如今,擁有深度學習和機器學習領域的技術是科技界的趨勢之一,并且企業則希望雇傭一些擁有良好的機器學習知識背景的程式開發工程師。本文将介紹一些目前流行的、強大的基于Java的機器學習庫,希望給大家帶來幫助。

事實上,Java已經成為開發新的機器學習算法的标準語言。學習Java語言有很多好處,并且在機器學習社群中也被人們所廣泛接受,其優點包括:易維護、商業化、可讀性、可移植性等等。根據2018年6月的程式設計語言排行榜TIOBE-index提供的資料顯示,Java是目前最流行和使用最廣泛的計算機程式設計語言,包括PHP、C語言、C++、Python和JavaScript等。如果企業想将機器學習業務整合到現有的Java商業應用程式中,那麼就必須雇用Java開發人員。

下面我們将列出一些在現有的一些Java應用程式中實作機器學習的最佳類庫。所有的這些庫都是通過各種部落格、網站和論壇的流行程度來編寫的。

· Deeplearning4j

https://deeplearning4j.org/ https://deeplearning4j.org/
Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

這個機器學習庫是專門為Java設計的,它是為開發深度學習算法提供了廣泛支援的計算機架構。當涉及到機器學習領域時,Deeplearning4j被認為是Java的最傑出的貢獻者之一,它是一個開源的深度學習庫,為各種商業環境同時帶來深度神經網絡和強化深度學習。它通常還可以作為Java的DIY工具,而且還具有應對所有那些無限制的虛拟并發任務的能力。

另外,該庫對于識别語音、文字和聲音中的情緒和模式是很有幫助的。它也可以用于發現時間序列資料中的異常,如财務資料,都清楚地表明它可以用于實際的商業場景而不是單純作為一個研究工具。

ELKI

https://elki-project.github.io/
Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

ELKI代表了開發KDD應用程式的環境,KDD應用是由索引結構支援的,它是另一個由Java開發的用于資料挖掘的開源機器學習庫。ELKI是專門為研究人員和學生設計的,它提供了大量的可詳細配置的算法參數。

ELKI主要是由正在尋求建立一些相關的資料庫的院校研究所學生使用的,它的目的是開發和評估進階的資料挖掘算法及其與資料庫索引結構的合作和互動。使用ELKI的Java開發人員可以使用任意的資料類型、檔案格式等等。

JavaML

http://java-ml.sourceforge.net/
Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

JavaML是一個擁有大量機器學習的和資料挖掘的算法的Java類庫,它是由科研從業人員和Java開發者共同開發的。這個庫不含有GUI,但它為每個類型的算法提供了清晰的接口。當我們比較JavaML與其它的聚類算法時,就會發現它是非常的簡單直接,并且提供給任何新算法的簡單實作。更多的情況下,這些算法的實作是需要簡單明了的程度代碼和添加适當的注釋,是以它可以作為一個很好的參考。這個庫是用Java開發的。

JSAT

http://github.com/EdwardRaff/JSAT
Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

JSAT提供的是Java統計分析工具,是基于Java開發的用于解決機器學習問題的庫,它可以在GPL3許可下使用,它的所有源代碼都是包含在内的,沒有任何外部依賴關系。JSAT擁有一個庫中最大的機器學習算法集合,并被認為是運作最快的Java機器學習庫之一,提供了高效性和靈活性。該庫中的所有機器學習算法都是使用面向對象的架構來實作的。

MALLET

http://mallet.cs.umass.edu/
Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

MALLET庫是用于機器學習的語言工具包,它是Java源代碼的合集,可應用的領域包括統計NLP、主題模組化、聚類分析、文檔分類和各種其它用于文本的機器學習應用。MALLET也可以被稱為用于文本的Java機器學習工具包,它是由馬薩諸塞大學和賓夕法尼亞大學的學生開發的,并為那些諸如決策樹、樸素貝葉斯和最大熵模型等各種算法提供支援。

Mahout

Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

Mahout是一個機器學習架構,帶有內建的機器學習算法,能幫助開發人員建立自己的算法實作程式。Mahout還是一個代數相關的架構,被設計用來幫助資料科學工作者、數學工作者和分析人員運作自己的算法。這個機器學習庫是可擴充的,并提供了豐富的元件集,允許你開發一個适用于各種機器學習算法的定制推薦系統。Mahout提供了高性能、靈活性和可擴充性,同時也是為商業化用途所設計的。

Weka

https://www.cs.waikato.ac.nz/ml/weka/
Java開發者必看!機器學習開發庫精選!·Deeplearning4j·ELKI·JavaML·JSAT·MALLET·Mahout·Weka結論

Weka是另一個非常流行的基于Java的機器學習庫,可以用于資料挖掘和資料分析工作,其中可以将算法直接應用到一個資料集,或者使用Java源代碼自己建立新的算法。這個Java庫包含了許多的工具,如:回歸、聚類、分類和可視化等等。該庫不僅是免費的,而且還便于使用,支援特征選擇、異常檢測、時間序列預測等等。Weka的全稱是懷卡托智能分析環境(Waikato Environment for Knowledge Analysis),它可以被定義為用于預測模組化和資料分析以及圖形使用者界面(GUI)的算法和工具的集合。

結論

在過去的幾年中,機器學習領域有了新的趨勢。事實上,上述大多數的庫都是開源的,這就意味着開發者可以很容易地掌握機器學習的開發能力和擷取到相關的技術資訊,并且所有的開發者都必須得考慮利用這些庫都可以做些什麼。基于Java的機器學習技術将徹底改變應用程式的工作模式。

數十款阿裡雲産品限時折扣中,趕緊點選領劵開始雲上實踐吧!

本文由北郵

@愛可可-愛生活

 老師推薦,

阿裡雲雲栖社群

組織翻譯。

文章原标題《Best Machine Learning Libraries For Java Development》

作者:Mantra Malhotra

譯者:奧特曼,審校:袁虎。

文章為簡譯,更為詳細的内容,請檢視

原文