2016 年有哪些好的 Python 機器學習開源項目?


謝謝邀請。下面是 KDnuggets 的2016 年排名前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

鏈接:Welcome - Theano 0.8.2 documentation


4.Caffe 是一個由伯克利視覺與學習中心(BVLC)和社區貢獻者開發的深度學習框架,它兼具表現力和速度,還有模塊化的優點。

提交:3801,貢獻者:215

鏈接:Caffe | Deep Learning Framework


5.Gensim 是一個免費的 Python 庫,它具有諸如可擴展的統計語義等特徵,它可用於分析純文本文檔的語義結構和檢索語義相似的文檔。

提交:2702,貢獻者:145

鏈接:gensim: topic modelling for humans


6.Pylearn2 是一個機器學習庫。它的大部分功能都是建立在 Theano 的基礎之上。這意味著你可以使用數學表達式編寫 Pylearn2 插件(新模型、演算法等),然後 Theano 將為你優化這些表達式讓其更加穩定,並將根據你的選擇把它編譯適配相應的後端(CPU 或 GPU)。

提交:7100,貢獻者:115

鏈接:lisa-lab/pylearn2


7.Statsmodels 是一個允許用戶挖掘數據、估計統計模型和執行統計測試的 Python 模塊。描述性統計、統計測試、繪圖函數和結果統計的詳細列表可用於不同類型的數據和估計器。

提交:8664,貢獻者:108

鏈接:statsmodels/statsmodels


8.Shogun 是一種提供大量高效且統一的機器學習(ML)方法的機器學習工具箱。它能容易地把多種數據表示,演算法類和通用工具緊密地聯繫起來。

提交:15172,貢獻者:105

鏈接:shogun-toolbox/shogun

9.Chainer 是一個基於 Python 並且獨立的深度學習模型開源框架。Chainer 提供一種靈活、直觀且高效的方法來實現整個深度學習模型,包括如循環神經網路和變分自動編碼器等最先進的模型。

提交:6298,貢獻者:84

鏈接:pfnet/chainer


10.NuPIC 是一個基於一種被稱為分層式即時記憶(HTM/ Hierarchical Temporal Memory)的新皮質理論的開源項目。HTM 理論中的一部分已經在應用中被實現、測試和使用了,而其他部分仍在開發中。

提交:6088,貢獻者:76

鏈接:numenta/nupic


11.Neon 是 Nervana (Nervana - AI on demand - Making machines smarter.) 公司的一個基於 Python 的深度學習庫。它提供易用性的同時也提供了最高的性能。

提交:875,貢獻者:47

鏈接:neon - neon 1.7.0+d8ae0ee documentation


12.Nilearn 是一個用於在 NeuroImaging 數據上快速輕鬆地進行統計學習的 Python 模塊。它利用 scikit-learn Python 工具箱來處理如預測建模、分類、解碼或連接分析等多變數統計信息。

提交:5254,貢獻者:46

鏈接:nilearn/nilearn


13.Orange3 是一個新手和專家都可以使用的開源機器學習和數據可視化工具。在互動式數據分析工作流程中擁有大型的工具箱。

提交:6356,貢獻者:40

鏈接:biolab/orange3


14.Pymc 是一個實現貝葉斯統計模型和擬合演算法的 Python 模塊,其中包括馬爾可夫鏈和蒙特卡羅方法。其靈活性和可擴展性使其適用於大量問題。

提交:2701,貢獻者:37

鏈接:pymc-devs/pymc


15.PyBrain 是 Python 的一個模塊化機器學習庫。它的目標是為機器學習任務提供靈活且易於使用但仍然強大的演算法,以及各種預定義環境來對你的演算法進行測試和比較。

提交:984,貢獻者:31

鏈接:pybrain/pybrain


16.Fuel 是一個數據管道框架(data pipeline framework),它為你的機器學習模型提供所需的數據。它將被 Blocks 和 Pylearn2 神經網路庫使用。

提交:1053,貢獻者:29

鏈接:mila-udem/fuel


17.PyMVPA 是一個用於簡化大型數據集的統計學習分析 Python 包。它提供了一個可擴展的框架,具有大量用於分類、回歸、特徵選擇、數據導入和導出等演算法的高級介面。

提交:9258,貢獻者:26

鏈接:PyMVPA/PyMVPA


18.Annoy(Approximate Nearest Neighbors Oh Yeah)是一個綁定 Python 的 C ++庫,用來搜索在空間中距離給定查詢點較近的點。它還創建了基於大型只讀文件的數據結構,這些數據結構被映射到內存中,以便許多進程可以共享相同的數據。

提交:365,貢獻者:24

鏈接:spotify/annoy

19.Deap 是一個用於快速原型和測試思想的新穎的進化計算框架。它試圖使演算法更加淺顯易懂,數據結構更加透明。它與並行機制(例如 multiprocessing 和 SCOOP)能完美協調。

提交:1854,貢獻者:21

鏈接:DEAP/deap


12.Pattern 是 Python 編程語言的 Web 挖掘模塊。它捆綁了數據挖掘(Google + Twitter +維基百科 API、網路爬蟲、HTML DOM 解析器)、自然語言處理(詞性標記、n-gram 搜索、情感分析、WordNet)、機器學習(向量空間模型、k-means 聚類、樸素貝葉斯+ k-NN + SVM 分類器)和網路分析(圖形中心性和可視化)等工具。

提交:943,貢獻者:20

鏈接:Python Package Index


從下面的圖表中可以得知,與其它項目相比,PyMVPA 具有最高的貢獻率。令人吃驚的是,相比於其它項目,儘管 Scikit-learn 的貢獻者最多,但是它的貢獻率比較低。這背後的原因可能是因為 PyMVPA 是一個新的項目,經歷了早期的發展階段,由於新的想法/功能開發,缺陷修復,重構等原因導致了許多提交。而 Scikit-learn 是一個早期的並且比較穩定的項目,所以擁有較少的改進或缺陷修復等提交。

此外還比較了 2015 年和 2016 年的前20的項目。可以看到 Pattern、PyBrain 和 Pylearn2 的貢獻率沒有明顯的改變,也沒有新的貢獻者。此外,我們可以在貢獻者的數量和提交的數量中看到一個顯著的相關性。貢獻者的增加可能會導致提交的增加,這也是我認為開源項目和社區神奇的地方;它可以導致頭腦風暴,產生新想法以及創造更好的軟體工具。


看了下上面說的最高贊的,基本都是很常用和很知名的,幾乎沒有是2016年才開始的項目吧。下面是我的一個筆記,供參考交流
andrea-cuttone/geoplotlib
這是一個可視化地理信息數據的項目,簡單易用

datamade/parserator
一個很好用的parse工具

rlabbe/Kalman-and-Bayesian-Filters-in-Python
學慣用

mshang/python-elevator-challenge
program an elevator

erikbern/deep-fonts
deep learning生成字體

boramalper/himawaripy
換桌面

StijnMiroslav/top-starred-devs-and-repos-to-follow
list for inspiration

Zephrys/monica
吃飯

UnkL4b/GitMiner
check before public

sammachin/AlexaPi
Alexa and iot etc

jisungk/deepjazz
deep learning又一個音樂的應用

akshayKMR/hogwatch
cool tool!

EricsonWillians/Open-Browser
to learn web browser

johnwheeler/flask-ask
another one for Alexa

minimaxir/facebook-page-post-scraper
facebook news feed and post scraper

groveco/content-engine
推薦系統

dufferzafar/netuse
another network usage tool

deependersingla/deep_trader
learn trading

bcicen/wikitables
import wikipedia data

sohelamin/chatbot
chatbot

AHAAAAAAA/PokemonGo-Map
when we do pokemon

overlap-ai/words2map
interesting nlp small tool

TheAlgorithms/Python
learn algo

jjangsangy/ExplainToMe
text summarization

jamesturk/jellyfish
fuzzy match strings

fake-name/ReadableWebProxy
reading from web

paarthneekhara/text-to-image
text to image

jlsutherland/doc2text
pdf ocr

pavelgonchar/face-search
face search

zo7/deconvfaces
generate faces

lk-geimfari/elizabeth
generate fake/dummy data

evoapps/wikischolar
work with wikipedia

anfederico/Stocktalk
data collection

kalliope-project/kalliope
another to help smart home

sihaelov/harser
html parsing and xpath

robbiebarrat/rapping-neural-network
another deep learning to write songs

warner/magic-wormhole
"secure move"


根據Udemy的課程做的一個簡單的無人車AI程序,語言python,並對所涉及到的知識寫了中文的解釋,代碼中也帶有注釋~主要演算法是Deep Q-learning

Github Repo鏈接:

JianyangZhang/Self-Driving-Car-AI


大公司會有自己的開源項目,如谷歌甲骨文等都有。開源公司的最好的結果是被大公司收購,如spiggadle等。


這些工具有用好一個就可以了。而且你能用到的肯定也是這些工具的不到10分之1,所以,如果你是要找個工具包練練手,隨便找個就可以。如果是想學習機器學習,這些項目幫不了你太多。


20 個頂尖的 Python 機器學習開源項目,從github上匯總整理的,大家可以看下我的這篇文章知乎專欄


真正大牛都是自己搭建體系


推薦閱讀:

如何看待希拉里的普選票得票數高於川普卻敗選?
2016 年美國大選中共和黨為何有這麼多人參選,這會造成共和黨在兩黨正式對決前的嚴重內耗嗎?

TAG:Python | 機器學習 | 2016 年盤點 |