机器学习开发库精选
?
圖片來源: 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
譯者:奧特曼,審校:袁虎。
總結
 
                            
                        - 上一篇: 概率论面经汇总
- 下一篇: 【机器学习】今天想跟大家聊聊SVM
