【為什麼我們挑選這篇文章】每年結束前都會出現各種評選,像是最好用或最奇怪的程式語言等等,這篇文章則評選了 20 大開源的機器學習項目(Python 版),來看看你是不是都有用過!(責任編輯:張瑋倫)
如今,開源已經成為創新與技術發展的核心。在本文中,雷鋒網將介紹 2016 Python 前 20 大機器學習開源項目。
去年 KDnuggets 評選了前20大機器學習開源項目(Python 版),今年的評選結果與去年相比,名單中出現了一些新的面孔,有13個新開源項目入圍了這個名單。作者 Prasad Pore 將具體介紹這些開源項目,雷鋒網編譯,未經許可不得轉載。
第一名:Scikit-learn
Scikit-learn 可以說是一款簡單而高效的數據挖掘與分析工具,大家可以免費下載安裝,使用它處理各種數據,使用時需引入 NumPy, SciPy, and matplotlib 這些第三方開源模塊。
提交:21486,貢獻:736,Github URL:Scikit-learn
第二名:Tensorflow
Tensorflow 是由 Google 大腦與 Google 人工智慧實驗室的科研人員研發而成的,這個系統用於機器學習的研究,可以簡單、快速的實現研究人員的想法。前段時間恰逢 Tensorflow 一周年,雷鋒網也做過報導和回顧。
提交:10466,貢獻:493,Github URL:Tensorflow
第三名:Theano
Theano 可以對那些高維數組數學表達式進行定義、優化與評估。
提交:24108,貢獻:263,Github URL:Theano
第四名:Caffe
Caffe 是一款具有表達、加速、模塊化思想的深度學習框架,由 Berkeley Vision and Learning Center(BVLC)於社區志願者共同開發維護。
提交:3801,貢獻:215,Github URL:Caffe
第五名:Gensim
Gensim 是一個免費的 Python 庫,這個庫可以實現文本的情感傾向判斷,相似文本檢索等功能。
提交:2702,貢獻:145,Github URL:Gensim
第六名:Pylearn2
Pylearn2 也是一個機器學習的開源庫,但它是一個基於 Theano 的庫,所以它有一些 Theano 的特點,你可以使用數學表達式來寫 Pylearn2 外掛,Theano 會自動對你寫的表達式進行優化,按照你的選擇(用 CPU 或 GPU)對這些表達式進行編譯。
提交:7100,貢獻:115,Github URL:Pylearn2
第七名:Statsmodels
Statsmodels 是一款 Python 開源工具,可以實現數據探究、統計模型評價、性能測試等功能,擴展性能良好,可對各種類型的數據進行各種處理,例如描述統計、統計測試、繪圖、結果統計等等。
提交:8664,貢獻:108,Github URL:Statsmodels
第八名:Shogun
Shogun 是一款機器學習工具,其包含了各種機器學習方法。它可以簡單的實現多種數據表示、多種算法的無縫融合。
提交:15172,貢獻:105,Github URL:Shogun
第九名:Chainer
Chainer 是一個基於 Python 的開源深度學習框架,它可以讓你以一種靈活、簡單、快速的方式實現多種深度學習模型,包括 RNN 與各種自編碼。
提交:6298,貢獻:84,Github URL:Chainer
第十名:NuPIC
NuPIC 是一個基於 Hierarchical Temporal Memory 理論的開源項目,目前 Hierarchical Temporal Memory 這個理論中的部分功能已經實現,並進行了測試與應用,其它部分正在完善中。
提交:6088,貢獻:76,Github URL:NuPIC
第十一名:Neon
Neon 是一款深度學習第三方庫,在進行高性能計算時它具有簡單易用的特點。
提交:875,貢獻:47,Github URL:Neon
第十二名:NiLearn
NiLearn 主要用於處理醫學圖像數據,具有簡單、快速的特點。它通過調用 scikit-learn 進行多元統計分析(例如:預測模型、分類、解碼、關聯分析)。
提交:5254,貢獻:46,Github URL:NiLearn
第十三名:Orange3
Orange3 是一款機器學習與數據可視化開源工具,可以對數據進行各種交互分析。
提交:6356,貢獻:40,Github URL:Orange3
第十四名:Pymc
Pymc 是一個貝葉斯統計模型(包括馬爾科夫鏈)庫,具有靈活、擴展性能好的特點。
提交:2701,貢獻:37,Github URL:Pymc
第十五名:PyBrain
PyBrain 是一個機器學習庫,它的目標是讓算法的實現變的簡單、靈活、高效。同時使得在特定環境下對算法的測試與比較也變的簡單、靈活、高效。
提交:984,貢獻:31,Github URL:PyBrain
第十六名:Fuel
Fuel 主要用於算法與輸入數據之間的銜接。它將被 Blocks and Pylearn2 這兩個 Python 庫使用。
提交:1053,貢獻:29,Github URL:Fuel
第十七名: PyMVPA
PyMVPA 適用於大規模的數據集,具有擴展性能好優點,提供多種算法(分類、回歸、特徵選擇、數據導入、數據導出等)接口。
提交:9258,貢獻:26,Github URL:PyMVPA
第十八名:Annoy
Annoy 是一個 Python 可調用的 C++ 庫,主要用來對給定數據進行搜索。它可以生成大量的基於文檔的可讀數據結構,這種數據結構與內存相對應,從而使數據被共享。
提交:365,貢獻:24,Github URL:Annoy
第十九名:Deap
Deap 是一款新的計算框架,它使得算法實現與數據結構變得簡單明了。它採用的是並行處理機制。
提交:1854,貢獻:21,Github URL:Deap
第二十名:Pattern
Pattern 是一款 web 訊息挖掘工具,它集成了各種工具。這些工具可以用來進行數據挖掘、自然語言處理、機器學習、網路分析。
提交:943,貢獻:20,Github URL:Pattern
如下圖所示,PyMVPA 的社區貢獻率最高,而排名第一的 Scikit-learn 社區貢獻率卻很低,究其原因是 PyMVPA 是還是一個比較新的開源項目,還有一些地方需要完善、修復。而 Scikit-learn 則是一個相對來說比較成熟的項目,需要修改、完善的地方比較少。
當我們對2015與2016的結果進行對比(下圖),我們發現 Pattern, PyBrain and Pylearn2 這三個項目的貢獻人數與提交數均沒有變化。貢獻的人增加了,提交的次數也才跟著增加,這就是開源社區的神奇所在。這些新增的貢獻者與其提交內容導致了新的思想、新的軟體的產生。
基於2016年20大機器學習開源項目的貢獻人數與提交數,以上是雷鋒網整理的簡單分析。不知道到明年的評選上,又有怎樣的開源平台會登上這個榜單呢?
(本文經合作夥伴雷鋒網授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈機器學習年度20 大開源項目花落誰家?(Python 版)〉。)
延伸閱讀
IEEE Spectrum 公佈程式語言最新排行:還不跟娘子一起出來學大數據?
簡直是個老不死!年度工程師最愛程式語言 JAVA 勇奪第一名
讓你猜猜,2015 年工程師最愛、最可怕和最需要的語言各是什麼?
TechOrange 誠徵 社群編輯
如果你對數位行銷、Startup 趨勢、產業轉型,以及新科技議題有興趣,不怕用與眾不同的面向,去衝撞一般思維,歡迎你加入 TO。
我們希望你:
- 喜歡編輯/策展工作,認同編輯不只是寫字,而是包括採集素材、消化提出觀點,並策展的工作歷程。
- 對經營「內容」與「社群」有莫大興趣,希望參與線上/線下活動企劃與執行工作。
- 英文成績多益 800(或同等托福、雅思成績)以上,英文閱讀無礙,多益 850 以上為加分條件。
- 其他必備特質:
(1) 細心、主動、獨立思考、追求事半功倍、有問題不怕舉手。
(2) 不害怕總是在變動的工作環境與工作方式,樂於學習新工具與新鮮事。
(3) 喜歡挑戰、討厭一成不變。 - 畢業生可,具有 1~2 年網路社群相關工作經驗亦佳。
歡迎提供履歷自傳以及文字作品,寄至jobs@fusionmedium.com
來信主旨請寫明:【應徵】TechOrange +社群編輯:您的大名