標籤:匯出 進階 伯克利 效能 near 可視化 data proc frame
當今時代,開源是創新和技術快速發展的核心。本文來自 KDnuggets 的年度盤點,介紹了 2016 年排名前 20 的 Python 機器學習開源項目,在介紹的同時也會做一些有趣的分析以及談一談它們的發展趨勢。和去年一樣,KDnuggets 介紹了 GitHub 上最新的並且排名前 20 的 Python 機器學習開源項目。令人吃驚的是,去年一些最活躍的項目已經停滯不前了,也有一些項目跌出了前 20 名(在 contribution 和 commit 方面),當然,也有 13 個新項目進入了前 20。
2016 年排名前 20 的 Python 機器學習開源項目
1.Scikit-learn 是一種基於 NumPy、SciPy 和 matplotlib 的用於資料採礦和資料分析的工具,其不僅使用起來簡單高效,而且還是開源的,可供所有人使用,並且擁有商業可用的 BSD 許可證,在不同的環境下都能很好的被使用。
提交:21486,貢獻者:736
連結:http://scikit-learn.org/
2.TensorFlow 最初由 Google 機器智能研究機構的 Google Brain 團隊的研究人員和工程師開發。該系統旨在促進對機器學習的研究,同時也讓機器學習研究原型過渡到生產系統更加高效容易。
提交:10466,貢獻者:493
連結:https://www.tensorflow.org/
3.Theano 能讓您更加高效地定義、最佳化和評估涉及多維陣列的數學運算式。
提交:24108,貢獻者:263
連結:http://deeplearning.net/software/theano/
4.Caffe 是一個由伯克利視覺與學習中心(BVLC)和社區貢獻者開發的深度學習架構,它兼具表現力和速度,還有模組化的優點。
提交:3801,貢獻者:215
連結:http://caffe.berkeleyvision.org/
5.Gensim 是一個免費的 Python 庫,它具有諸如可擴充的統計語義等特徵,它可用於分析純文字文檔的語義結構和檢索語義相似的文檔。
提交:2702,貢獻者:145
連結:https://radimrehurek.com/gensim/
6.Pylearn2 是一個機器學習庫。它的大部分功能都是建立在 Theano 的基礎之上。這意味著你可以使用數學運算式編寫 Pylearn2 外掛程式(新模型、演算法等),然後 Theano 將為你最佳化這些運算式讓其更加穩定,並將根據你的選擇把它編譯適配相應的後端(CPU 或 GPU)。
提交:7100,貢獻者:115
連結:http://github.com/lisa-lab/pylearn2
7.Statsmodels 是一個允許使用者挖掘資料、估計統計模型和執行統計測試的 Python 模組。描述性統計、統計測試、繪圖函數和結果統計的詳細列表可用於不同類型的資料和估計器。
提交:8664,貢獻者:108
連結:https://github.com/statsmodels/statsmodels/
8.Shogun 是一種提供大量高效且統一的機器學習(ML)方法的機器學習工具箱。它能容易地把多種資料表示,演算法類和通用工具緊密地聯絡起來。
提交:15172,貢獻者:105
連結:https://github.com/shogun-toolbox/shogun
9.Chainer 是一個基於 Python 並且獨立的深度學習模型開源架構。Chainer 提供一種靈活、直觀且高效的方法來實現整個深度學習模型,包括如迴圈神經網路和變分自動編碼器等最先進的模型。
提交:6298,貢獻者:84
連結:https://github.com/pfnet/chainer
10.NuPIC 是一個基於一種被稱為分層式即時記憶(HTM/ Hierarchical Temporal Memory)的新皮質理論的開源項目。HTM 理論中的一部分已經在應用中被實現、測試和使用了,而其他部分仍在開發中。
提交:6088,貢獻者:76
連結:http://github.com/numenta/nupic
11.Neon 是 Nervana (http://nervanasys.com/) 公司的一個基於 Python 的深度學習庫。它提供易用性的同時也提供了最高的效能。
提交:875,貢獻者:47
連結:http://neon.nervanasys.com/
12.Nilearn 是一個用於在 NeuroImaging 資料上快速輕鬆地進行統計學習的 Python 模組。它利用 scikit-learn Python 工具箱來處理如預測建模、分類、解碼或串連分析等多變數統計資訊。
提交:5254,貢獻者:46
連結:http://github.com/nilearn/nilearn
13.Orange3 是一個新手和專家都可以使用的開源機器學習和資料視覺化工具。在互動式資料分析工作流程中擁有大型的工具箱。
提交:6356,貢獻者:40
連結:https://github.com/biolab/orange3
14.Pymc 是一個實現貝葉斯統計模型和擬合演算法的 Python 模組,其中包括馬爾可夫鏈和蒙特卡羅方法。其靈活性和可擴充性使其適用於大量問題。
提交:2701,貢獻者:37
連結:https://github.com/pymc-devs/pymc
15.PyBrain 是 Python 的一個模組化機器學習庫。它的目標是為機器學習任務提供靈活且便於使用但仍然強大的演算法,以及各種預定義環境來對你的演算法進行測試和比較。
提交:984,貢獻者:31
連結:http://github.com/pybrain/pybrain
16.Fuel 是一個資料管道架構(data pipeline framework),它為你的機器學習模型提供所需的資料。它將被 Blocks 和 Pylearn2 神經網路程式庫使用。
提交:1053,貢獻者:29
連結:http://github.com/mila-udem/fuel
17.PyMVPA 是一個用於簡化大型資料集的統計學習分析 Python 包。它提供了一個可擴充的架構,具有大量用於分類、迴歸、特徵選取、資料匯入和匯出等演算法的進階介面。
提交:9258,貢獻者:26
連結:https://github.com/PyMVPA/PyMVPA
18.Annoy(Approximate Nearest Neighbors Oh Yeah)是一個綁定 Python 的 C ++庫,用來搜尋在空間中距離給定查詢點較近的點。它還建立了基於大型唯讀檔案的資料結構,這些資料結構被映射到記憶體中,以便許多進程可以共用相同的資料。
提交:365,貢獻者:24
連結:https://github.com/spotify/annoy
19.Deap 是一個用於快速原型和測試思想的新穎的進化計算架構。它試圖使演算法更加淺顯易懂,資料結構更加透明。它與並行機制(例如 multiprocessing 和 SCOOP)能完美協調。
提交:1854,貢獻者:21
連結:https://github.com/deap/deap
12.Pattern 是 Python 程式設計語言的 Web 挖掘模組。它捆綁了資料採礦(Google + Twitter +維基百科 API、網路爬蟲、HTML DOM 解析器)、自然語言處理(詞性標記、n-gram 搜尋、情感分析、WordNet)、機器學習(向量空間模型、k-means 聚類、樸素貝葉斯+ k-NN + SVM 分類器)和網路分析(圖形中心性和可視化)等工具。
提交:943,貢獻者:20
連結:https://pypi.python.org/pypi/Pattern
從下面的圖表中我們可以得知,與其它項目相比,PyMVPA 具有最高的貢獻率。令人吃驚的是,相比於其它項目,儘管 Scikit-learn 的貢獻者最多,但是它的貢獻率比較低。這背後的原因可能是因為 PyMVPA 是一個新的項目,經曆了早期的發展階段,由於新的想法/功能開發,缺陷修複,重構等原因導致了許多提交。而 Scikit-learn 是一個早期的並且比較穩定的項目,所以擁有較少的改進或缺陷修複等提交。
我們對 2015 年和 2016 年的項目進行了比較,它們都是排名前 20 名的項目。我們可以看到 Pattern、PyBrain 和 Pylearn2 的貢獻率沒有明顯的改變,也沒有新的貢獻者。此外,我們可以在貢獻者的數量和提交的數量中看到一個顯著的相關性。貢獻者的增加可能會導致提交的增加,這也是我認為開源項目和社區神奇的地方;它可以導致頭腦風暴,產生新想法以及創造更好的軟體工具。
以上就是 KDnuggets 團隊根據貢獻者數量和提交數量對 2016 年排名前 20 的 Python 機器學習開源項目的分析。
開源和知識共用是令人快樂的一件事!
原文串連:http://www.kdnuggets.com/2016/11/top-20-python-machine-learning-open-source-updated.html
2016年GitHub排名前20的Python機器學習開源項目(轉)