Top 20-Python 機器學習開源項目

機器學習 Python GitHub 編程語言 人生在勤 2017-07-16

導語:KDnuggets 為您帶來 Github 上最新的 Python 機器學習開源項目前 20 名。奇怪的是,去年一些非常活躍的項目漸漸停滯了,因此沒能上榜,而 13 個新項目衝進了今年的 top 20(參考貢獻 contributions 和提交數 commits)。

Top 20-Python 機器學習開源項目

2016 Top 20 Python 機器學習開源項目

1. Scikit-learn 是一個簡單且高效的數據挖掘和數據分析工具,易上手,可以在多個上下文中重複使用。它基於NumPy, SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)

提交數: 21486, 貢獻者: 736, Github 鏈接: Scikit-learn(http://github.com/scikit-learn/scikit-learn0

2. Tensorflow 最初由谷歌機器智能科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產項目。

提交數: 10466, 貢獻者: 493, Github 鏈接: Tensorflow(https://github.com/tensorflow/tensorflow)

3. Theano 允許高效地定義、優化以及評估涉及多維數組的數學表達式. 提交數: 24108, 貢獻者: 263, Github 鏈接: Theano(https://github.com/Theano/Theano)

4. Caffe 是一個基於表達式,速度和模塊化原則創建的深度學習框架。它由伯克利視覺學習中心(BVLC, Berkeley Vision and Learning Center)和社區貢獻者共同開發。 提交數: 3801, 貢獻者: 215, Github 鏈接: Caffe(https://github.com/BVLC/caffe)

5. Gensim 是一個免費的 Python 庫,它包含可擴展的統計語義,分析純文本文檔的語義結構,以及檢索相似語義的文檔等功能。

提交數: 2702, 貢獻者: 145, Github 鏈接: Gensim(https://github.com/RaRe-Technologies/gensim)

6. Pylearn2 是一個機器學習庫。它的大多數功能都是構建於Theano 之上的。這意味著你可以利用數學表達式自己寫 Pylearn2 插件(新模型,算法等等),Theano 會為你優化這些表達式使其更加穩定,你還可以選擇將其編譯到後端(CPU 或 GPU)。

提交數: 7100, 貢獻者: 115, Github 鏈接: Pylearn2(http://github.com/lisa-lab/pylearn2)

7. Statsmodels 是一個 Python 模塊,可以用來探索數據,估計統計模型,進行統計測試。對於不同類型的數據和模型估計,都有描述性統計,統計測試,繪圖功能和結果統計的詳細列表可用。

提交數: 8664, 貢獻者: 108, Github 鏈接: Statsmodels(https://github.com/statsmodels/statsmodels/)

8. Shogun 是一個機器學習工具箱,它提供了很多統一高效的機器學習方法。這個工具箱允許多個數據表達,算法類和通用工具無縫組合。

提交數: 15172 貢獻者: 105, Github 鏈接: Shogun(https://github.com/shogun-toolbox/shogun)

9. Chainer 是一個基於 Python 的獨立的深度學習模型開源框架。Chainer 提供了靈活、直觀且高性能的方法實現全方位的深度學習模型,包括循環神經網絡 (recurrent neural networks) 和變分自編碼器(variational autoencoders)這些最新的模型 。

提交數: 6298, 貢獻者: 84, Github 鏈接: Chainer(https://github.com/pfnet/chainer)

10. NuPIC 是一個基於 HTM 算法 (Hierarchical Temporal Memory) 的開源項目。HTM 的一部分已經通過實踐、測試和應用,另一部分仍在開發之中。

提交數: 6088, 貢獻者: 76, Github 鏈接: NuPIC(http://github.com/numenta/nupic)

11. Neon 是 Nervana 公司一個基於 Python 的深度學習庫。它易於使用且具有超高的性能。

提交數: 875, 貢獻者: 47, Github 鏈接: Neon(https://github.com/NervanaSystems/neon)

12. Nilearn 是一個 Python 模塊,用於在神經成像 (NeuroImaging) 數據上進行快速簡單的統計學習。它利用 scikit-learn Python 工具箱來處理多變量統計信息,包括預測建模,分類,解碼或連接分析.

提交數: 5254, 貢獻者: 46, Github 鏈接: Nilearn(http://github.com/nilearn/nilearn)

13. Orange3 是一個同時適用於新手和數據專家的機器學習和數據可視化開源軟件,支持擁有大型工具箱的交互式數據分析工作流程。

提交數: 6356, 貢獻者: 40, Github 鏈接: Orange3(https://github.com/biolab/orange3)

14. Pymc 是一個Python 模塊,它能實現貝葉斯統計模型和擬合算法,包括馬爾科夫鏈蒙特卡羅(Markov chain Monte Carlo)算法。它非常靈活,具有可擴展性,適用於處理一系列大規模問題。

提交數: 2701, 貢獻者: 37, Github 鏈接: Pymc(https://github.com/pymc-devs/pymc)

15. PyBrain 是一個模塊化的 Python 機器學習庫。它致力於為機器學習任務提供靈活易上手但功能強大的算法,和一系列用於測試和比較算法的預定義環境。

提交數: 984, 貢獻者: 31, Github 鏈接: PyBrain(http://github.com/pybrain/pybrain)

16. Fuel 是一個數據管道框架(data pipeline framework),它為機器學習模型提供所需的數據。Blocks 和 Pylearn2 這兩個神經網絡庫都有計劃使用 Fuel。

提交數: 1053, 貢獻者: 29, Github 鏈接: Fuel(http://github.com/mila-udem/fuel)

17.PyMVPA 是一個 Python 包,旨在簡化大型數據集的統計學習分析。它提供了一個可擴展的框架和一個用於分類,迴歸,特徵選擇,數據導入導出等算法的高級接口。

提交數: 9258, 貢獻者: 26, Github 鏈接: PyMVPA(https://github.com/PyMVPA/PyMVPA)

18. Annoy (Approximate Nearest Neighbors Oh Yeah) 是一個帶有 Python 綁定的 C++ 庫,用於在空間中找到和已知的查詢點臨近的點。它還可以創建大型的基於文件的只讀數據結構,並映射至內存,以便多個進程能共同使用相同的數據。

提交數: 365, Contributors: 24, Github 鏈接: Annoy(https://github.com/spotify/annoy)

19. Deap 是一個創新的,仍在發展中的計算框架,用於快速構建原型和測試方法。它旨在使算法和數據結構更加清晰透明。它與並行機制(如多進程和 SCOOP 模塊)完美協調。

提交數: 1854, 貢獻者: 21, Github 鏈接: Deap(https://github.com/deap/deap)

20. Pattern 是一個 Python 的網絡挖掘模塊。它綁定了數據挖掘(Google + Twitter + Wikipedia API, 網絡爬蟲, HTML DOM 解析器),自然語言處理 (詞性標記, n-gram 搜索, 語義分析, WordNet),機器學習(向量空間模型, k-means 聚類, Naive Bayes + k-NN + SVM 分類器) 和網絡分析(圖核心性 graph centrality 和可視化)等工具。

提交數: : 943, Contributors: 20 , Github 鏈接: Pattern(http://github.com/clips/pattern)

在下面的圖表中,可以看到 PyMVPA 相較於其他項目擁有最高的貢獻率(contribution rate)。令人吃驚的是,Scikit-learn 雖然擁有最多的貢獻者,但是貢獻率卻很低。這種現象背後的原因可能是:PyMVPA 是新項目,正處於開發的早期階段,新功能開發,漏洞修補和重構等都能夠引導更多的提交。而 Scikit-learn 屬於比較舊且非常穩定的項目,改進和修復的空間更小。

Top 20-Python 機器學習開源項目

在比較同時上榜 2015 和 2016 Top 20 的項目時,可以發現,Pattern,PyBrain 和 Pylearn2 沒有新的貢獻者(contributors)也沒有新的貢獻代碼。同時,還可以發現貢獻者數和提交數之間有顯著關聯。貢獻者數的增長可能會導致提交數的增長,我認為這是開源項目和社區的魔力——引領頭腦風暴,激發更多創意,開發更好的軟件工具。

Top 20-Python 機器學習開源項目

相關推薦

推薦中...