5種方式將機器學習帶到Java、Python以及Go等程式語言
機器學習似乎在一夜之間從默默無聞的小卒變成萬眾矚目的焦點,關於機器學習的開源工具也越來越多,但是目前的挑戰是,如何讓對機器學習感興趣的開發者和準備使用它的資料科學家們真正使用上它們,本文蒐集了幾種語言中常見且實用的開源機器學習工具,非常值得關注,本文來自 InfoWorld。
以下為原文:
經過幾十年作為一門專業學科的發展後,機器學習似乎一夜之間作為萬眾矚目的商業工具出現在我們面前。目前面臨的挑戰是如何讓其具備實效,尤其是對開發者和正準備使用它的資料科學家們。
為此,我們蒐集了一些最常見的且實用的開源機器學習工具,通過本文分享給大家。
Python
資料科學家們投身Python懷抱是希望有另一種更開放式的選擇方案來替代R語言,如今許多僱主尋求大資料專家,而Python就是必需的技能。因此,大量的機器學習軟體庫開始出現在不斷擴大的Python軟體名單中。
首先推薦的是 scikit-learn,它能夠載入至演算法與模組當中,在GitHub(fork版本數量接近2000)上受到了廣泛讚賞,並受到了許多科技巨頭的青睞。另一個緊隨其後的是 PyBrain,它的設計目的在於降低使用難度並提供與其它強大工具相對接的能力。顧名思義,PyBrain的關注重點在於神經網路與非監督式學習,它同時也提供一套用於培訓與重新定義演算法的機制。
Go
谷歌的系統語言,由於其並行設計,使其似乎是一個編寫機器學習庫理想的環境。雖然目前與之相關的庫專案規模尚小,但也有一些值得關注, GoLearn,它的開發者將其描述為一個“內建電池”的機器學習庫。它提供過濾、分類以及迴歸分析等多種工具。另一套較小且更為基礎的庫是mlgo,雖然目前它能提供的演算法數量還非常少,但計劃在未來推出更多。
Java on Hadoop
在人們喜愛的大資料框架中,Mahout(在印地語中意思是“大象騎士”)包含幾種常見的機器學習方法。這款軟體包是圍繞演算法而非方法,所以你需要有一定的演算法基礎,換言之,如果你足夠認真,就肯定不難看出其各部分功能是如何整合在一起的,例如,你可以通過幾行程式碼構建起基於使用者的推薦系統。
另一個基於Hadoop的機器學習專案是Cloudera公司推行的Oryx,其特性在於通過交付實時流結果而非處理批量作業來對Mahout處理結果進行進一步分析。該該專案現在還處於初始階段,注意,這只是個專案而非實際產品,但它在不斷改善,所以很值得關注。
Java
除了上述主要針對Hadoop的Mahout,其他一些面向Java的機器學習庫也在廣泛使用。 Weka由紐西蘭懷卡託大學開發的工作臺式的應用,它在常見的演算法集合中增加了視覺化和資料探勘功能。對於那些想要為他們的工作打造一個前端或者計劃將Java作為初始開發的使用者來說,Weka可能是最好的選擇。 Java-ML也不錯,但它更適合那些已經習慣將Java和機器學習配合使用的開發者。
JavaScript
關於JavaScript的笑話(“阿特伍德定律”),原意是這樣的,任何能夠由JavaScript編寫的內容最終都會由JavaScript編寫,這對機器學習庫同樣適用。目前由JavaScript編寫的方案在這一領域數量仍然相對較少,大多數選項僅僅是單一演算法而非完整的庫,但已經有部分有用工具漸漸脫穎而出。 ConvNetJS允許大家直接在瀏覽器當中進行深度學習神經網路培訓,而名為 brain則將神經網路作為可安裝的NPM模組提供給大家。此外, Encog庫同樣值得關注,而且它適用於多種平臺:Java、C#、C/C++以及JavaScript。
原文連結:5 ways to add machine learning to Java, JavaScript, and more
相關文章
- 部署Go語言程式的N種方式Go
- 5種將死的程式語言
- 什麼是Python?Python語言支援哪幾種程式設計方式?Python程式設計
- 效能對比 Go、Python、PHP、C/C++、C# .Net、Java、Node.js、… 等多程式語言GoPythonPHPC++C#JavaNode.js
- 程式設計師都不知道的5種將死的程式語言程式設計師
- 學習Python語言選擇哪種方式好?Python
- Go語言將支援AndroidGoAndroid
- Go 語言的 GOPATH 設定方式Go
- java語言屬於哪種語言Java
- Go語言基於go module方式管理包(package)GoPackage
- 帶讀 |《Go in Action》(中文:Go語言實戰)(一)Go
- 將GO編繹成JavaScript,用GO語言來寫前端程式碼GoJavaScript前端
- Python程式語言的註釋方式有哪些?Python
- 最新Go語言學習路線圖 帶你通關Go語言-千鋒Go
- 帶讀 |《Go in Action》(中文:Go語言實戰)語法和語言結構概覽 (二)Go
- 帶讀 |《Go in Action》(中文:Go語言實戰) 語法和語言結構概覽(三)Go
- Golang語言排序的幾種方式Golang排序
- Java中將方法作為引數傳遞5種方式Java
- go語言偵錯程式Go
- java 自動化與 python 自動化哪種程式語言吃香?JavaPython
- 開源go-zero作者描述自己從Java到Go語言經歷 - RedditGoJava
- Go 語言誕生5週年Go
- 比Python、Java更快的 Go 語言,能否稱霸江湖?PythonJavaGo
- 幫你提升 Python 的 27 種程式語言Python
- 一個 Java 程式設計師眼中的 Go 語言Java程式設計師Go
- Go語言將登陸安卓平臺Go安卓
- 線上語言編輯器(js,css,html等多種語言支援)JSCSSHTML
- Java vs Big data 哪種程式語言更好?Java
- Java是一種廣泛使用的程式語言Java
- Java比Go更長壽:如何判斷哪種程式語言最有發展潛力?JavaGo
- 再見,Python!你好,Go語言PythonGo
- Go語言————1、初識GO語言Go
- Go 語言高效分詞, 支援英文、中文、日文等Go分詞
- Go語言(1)——程式結構Go
- Google釋出go程式語言Go
- 為什麼Go是一種設計糟糕的程式語言Go
- 5.go語言函式提綱Go函式
- 將會改變未來IT世界的十種程式語言