淘新聞

機器學習年度 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是由穀歌大腦與穀歌人工智慧實驗室的科研人員研發而成的,這個系統用於機器學習的研究,可以簡單、快速的實現研究人員的想法。前段時間恰逢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大機器學習開源項目的貢獻人數與提交數,以上是雷鋒網整理的簡單分析。不知道到明年的評選上,又有怎樣的開源平臺會登上這個榜單呢?

via 

Top 20 Python Machine Learning Open Source Project