摘要:

本文將介紹一些目前流行的、強大的基於Java的機器學習庫。

機器學習開發庫精選

圖片來源: Mindfire Solutions

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

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

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

·Deeplearning4j

機器學習開發庫精選

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

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

·ELKI

機器學習開發庫精選

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

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

·JavaML

機器學習開發庫精選

JavaML是一個擁有大量機器學習的和資料探勘的演算法的Java類庫,它是由科研工作人員和Java開發者共同開發的。這個庫不含有GUI,但它為每個型別的演算法提供了清晰的介面。當我們比較JavaML與其它的聚類演算法時,就會發現它是非常的簡單直接,並且提供給任何新演算法的簡單實現。更多的情況下,這些演算法的實現是需要簡單明瞭的程度程式碼和新增適當的註釋,因此它可以作為一個很好的參考。這個庫是用Java開發的。

·JSAT

機器學習開發庫精選

JSAT提供的是Java統計分析工具,是基於Java開發的用於解決機器學習問題的庫,它可以在GPL3許可下使用,它的所有原始碼都是包含在內的,沒有任何外部依賴關係。JSAT擁有一個庫中最大的機器學習演算法集合,並被認為是執行最快的Java機器學習庫之一,提供了高效性和靈活性。該庫中的所有機器學習演算法都是使用面向物件的框架來實現的。

·MALLET

機器學習開發庫精選

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

·Mahout

機器學習開發庫精選

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

·Weka

機器學習開發庫精選

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

結論

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

以上為譯文,由

阿里云云棲社群

組織翻譯。

譯文連結

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

作者:Mantra Malhotra

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

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

原文。

更多技術乾貨敬請關注雲棲社群知乎機構號:阿里云云棲社群 - 知乎