2017-11-09 09:00:39
雖然人類社會到今天經(jīng)歷過大大小小很多次技術(shù)變遷和革命,但很明顯,機器學(xué)習(xí)是目前技術(shù)領(lǐng)域熱門的技術(shù)之一。今年早些時候,Stack Overflow發(fā)布了一項大規(guī)模開發(fā)人員調(diào)查的結(jié)果,機器學(xué)習(xí)專家在薪酬方面僅次于DevOps專家。機器學(xué)習(xí)正在經(jīng)歷一段繁榮時期,但對于新手而言,開源項目經(jīng)常會讓人困惑。
作為程序員,你也想擁抱機器學(xué)習(xí)的春天嗎?希望提高機器學(xué)習(xí)技能嗎?為什么不看一下GitHub上流行的開源機器學(xué)習(xí)項目?本文綜合評比了Github上幾乎所有的開源機器學(xué)習(xí)項目,終找出了前五大貢獻度、活躍度、文檔完善情況和Star數(shù)量多的項目。
讓我們開始吧!
1. TensorFlow – ★ 76.2K
TensorFlow位于這個列表的頂部并不奇怪,這是迄今為止GitHub上受歡迎的機器學(xué)習(xí)項目,甚至有傳言表示,Google正準備借助此項目重新踏入中國。
谷歌機器智能研究機構(gòu)Google Brain團隊的一員表示,TensorFlow是一個使用數(shù)據(jù)流圖進行數(shù)值計算的開源軟件庫。它配備了易于使用的Python界面和其他語言的界面來構(gòu)建和執(zhí)行計算圖。
Jeff Dean在今年早些時候表示,當(dāng)開源TensorFlow時,谷歌希望全世界的每個人都可以建立一個機器學(xué)習(xí)平臺。 TensorFlow 1.0是一個快速、靈活,可用于超出其初設(shè)計的廣泛應(yīng)用的生產(chǎn)型產(chǎn)品。它還包括用于Java和Go的實驗性API以及用于對象檢測和本地化以及基于相機的圖像程式化的新Android演示。(Github開源地址:https://github.com/tensorflow/tensorflow)
2. scikit-learn –★ 22.7K
第二名是scikit-learn,一個用于機器學(xué)習(xí)的Python模塊。scikit擁有許多簡單高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具。scikit背后的基本動機是For Science!因此,它在各種情況下都是高度可訪問和可重用的。另外,它建立了像NumPy,SciPy和matplotlib等知名的數(shù)據(jù)科學(xué)工具。
今年早些時候,Groupon軟件工程總監(jiān)Adam Geitgey談了開發(fā)人員應(yīng)該如何進入機器學(xué)習(xí)領(lǐng)域。他表示,程序員肯定應(yīng)該從學(xué)習(xí)Python開始。 這是迄今為止機器學(xué)習(xí)流行的編程語言,為了解決大多數(shù)機器學(xué)習(xí)問題(不需要深入學(xué)習(xí)),答案很簡單,你只需要安裝幾個python庫:scikit-learn,NumPy和pandas。這些工具是免費的,旨在協(xié)同工作。(Github開源地址:https://github.com/scikit-learn/scikit-learn)
3. PredictionIO –★ 10.6K
PredictionIO是這個名單里的新手,這使得它的高排名和受歡迎程度更加令人印象深刻。上個月,Apache軟件基金會發(fā)布了PredictionIO,之后就大受程序員歡迎。PredictionIO建立在先進的開源堆棧之上,該機器學(xué)習(xí)服務(wù)器專為開發(fā)人員和數(shù)據(jù)科學(xué)家設(shè)計,可為任何機器學(xué)習(xí)任務(wù)創(chuàng)建預(yù)測引擎。
開發(fā)人員可以創(chuàng)建可部署的應(yīng)用程序,而無需將底層技術(shù)拼湊在一起,并提供完整的堆棧和模板。PredictionIO直接構(gòu)建在Spark和Hadoop上,允許開發(fā)人員使用可定制的模板快速構(gòu)建和部署引擎,作為生產(chǎn)中的Web服務(wù),它是用Scala寫的。
PredictionIO的主要目的是簡化數(shù)據(jù)基礎(chǔ)架構(gòu)管理,程序員通過實現(xiàn)自己的機器學(xué)習(xí)模型,可以將它們無縫地整合到引擎中,它還通過系統(tǒng)化的流程和預(yù)先構(gòu)建的評估措施來加速機器學(xué)習(xí)建模。(Github開源地址:https://github.com/apache/incubator-predictionio)
4. Swift AI – ★5K
雖然Swift可能正在經(jīng)歷一些逆轉(zhuǎn),但Swift AI繼續(xù)在GitHub上獲得贊譽。Swift AI是一個完全用Swift編寫的高性能深度學(xué)習(xí)庫,支持所有的Apple平臺,Macbook用戶應(yīng)該特別興奮!
Swift AI是為那些有興趣用Swift編寫神經(jīng)網(wǎng)絡(luò)的人提供的一個有趣的工具。NeuralNet類包含一個完全連接的前饋人工神經(jīng)網(wǎng)絡(luò)。 通過對深度學(xué)習(xí)的支持,NeuralNet的設(shè)計具有靈活性,可用于性能至關(guān)重要的應(yīng)用。(Github開源地址:https://github.com/Swift-AI/Swift-AI)
5. GoLearn – ★4.7K
名單的后一名是GoLearn,一個用于GO語言的“batteries included”機器學(xué)習(xí)庫。目前仍在積極開發(fā)中,這個項目正在尋找有興趣從用戶那里接受反饋的開發(fā)者。如果使用了SciPy,WEKA或R,GoLearn的機器學(xué)習(xí)問題模型將會很熟悉。數(shù)據(jù)被表示為類似于電子表格的平板表格,并用于訓(xùn)練和預(yù)測。
作為一個相對較新的項目,愿望清單比實際的現(xiàn)有工具要長。所以,如果你正在尋找一個真正有所作為的項目,GoLearn可能是你需要的。(Github開源地址:https://github.com/sjwhitworth/golearn)
結(jié)論
無論是想加入一個知名項目,還是想用新手項目工作,GitHub上都有非常不錯的開源機器學(xué)習(xí)項目。這些項目也需要程序員的不斷貢獻,還不快去Github上看一看?