15個排名最佳的數據科學 Python 包
選自The data Incubator
機器之心編譯
參與:蔣思源、黃小天
Python 語言是數據科學中最常見、最受歡迎的工具之一。近日,Data Incubator 發布了一篇題為《15 個排名最佳的數據科學 Python 包》(Ranked: 15 Python Packages for Data Science)的報告,報告作者對數據科學有價值的 15 個 Python 包進行了一個排名,旨在以一種簡單易懂的列表或排名形式幫助數據科學家排序並分析與其專業相關的大量主題。機器之心對報告全文進行了編譯,下載報告 PDF 請點擊文末「閱讀原文」。
排名
Python 和 R 語言是數據科學中最常見、最受歡迎的工具之一。而且因為 Python 的簡單易用,相對其他語言,我們可以使用更少的代碼就能表達大多數概念。
這也就正是為什麼我們希望通過給出最受歡迎的 Python 包排名而幫助數據科學家入門,或幫助對哪些 Python 包使用廣泛有一個了解。
以下就是 Python 包的排名,該排名基於軟體包在 Github 的活躍度和 Stack Overflow 活躍度,其指標為 PyPI(Python 庫的索引)下載量。
該表單展示了標準分,其中 1 代表高於平均值(均值為 0)一個標準差。例如,numpy 在 Stack Overflow activity 中標準分為 2,其表明高於平均值 2 個標準差,而 TensorFlow 就更接近於均值。
對於這一排位表,研究者專註於使用一些標準進行排序,包括機器學習包的排序列表(exhaust list)和三個客觀指標:總下載量、Github 收藏數和 Stack Overflow 問題數量。
然而,可擴展的機器學習包 TensorFlow(起源於谷歌)比其他庫在 Github 上要活躍地多(基於收藏和分享數)。更通用的機器學習模塊 scikit-learn 在 Github 排名第 2,整體排名第 5。
numpy 和 pandas(高性能數據結構和數據分析包)在 Github 上的得分只在中等,但是在其它兩個類別中得分很高。互動式解釋器 ipython 整體排名第 4,而 jupyter project(非常流行的 Python 代碼展示方式)整體排名第 19(未進入排名)。
所有數據截止到 2017 年 1 月 19 日。
見解
Github 活躍度 vs Stack Overflow 活躍度
與頂級軟體包的 Stack Overflow 問題數量和下載量相比,Github 的活躍度似乎存在反相關性。例如,相比於 TensorFlow 和 scikit-learn、numpy 和 pandas 有很多 Stack Overflow 問題,但是 TensorFlow 和 scikit-learn 在 Github 上具有優勢。由於 numpy 和 pandas 是兩個「實用」包,也許實際上有更多的人在使用它們(並且需要幫助)。
在所有核心庫中,numpy 是最受歡迎的(擊敗了 pandas 和 scipy)。numpy 遙遙領先排名第 1,pandas 第 3,ipython 第 4,scipy(一個用於數學、科學和工程學的開源軟體生態系統)第 9。
在神經網路中,TensorFlow 的表現要優於 Theano
另外一個深度學習包,Theano,在排名中落後 TensorFlow 很多。精心打造的互動式 TensorFlow Playground 可能是 TensorFlow 領先的原因之一。
matplotlib 是最受歡迎的圖形庫
matplotlib(2D 繪圖庫)預料之中地成為了最受歡迎的圖形包,但是排名之中同樣包括 plotly(可以輕鬆在線發布的互動式、出版級別的圖表)和 bokeh(面向現代網頁瀏覽器的互動式可視化庫)。ggpy(R 的流行的 ggplot2 包的 Python 埠)的整體排名是 18,但是其數據較不可靠,正如下一節所述。
局限
如同任何分析一樣,排名的決定是在分析過程中做出的。所有的源代碼和數據都在我們的 Github 上。
機器學習包的完整列表有若干個來源;由於不可用的下載或者 Github 數據,少量包未參與排名。
它們是:basemap(與 matplotlib 映射)、d3py(像 D3 一樣的繪圖)、jupyter-notebook、mlpy(基於 scipy 和 numpy 的機器學習)、 pylearn2(機器學習,基於 theano)、pytables(大表格)和 shogun(機器學習)。和已排名的包相比,它們在所有方面都低於平均水平。
重要的是,Anaconda 分發捆綁了這些包中的很多,並且這並沒有被考慮。
此外,坦白講,一些存在更長時間的包將有更高的指標,因此會有更高的排名。這不會因為任何方式而調整。
排名數據展示的一些注意事項:
ggplot 的 python 埠最近重命名為 ggpy,我們使用 ggpy 作為所有度量(除了下載量,其使用的為 ggplot)。
ipython notebook 現在稱為 jupyter notebook。Stack overflow 自動將 ipython-notebook 更正為 jupyter notebook,所以研究者結合了其他兩個來源的 jupyter notebook 結果。但 jupyter notebook 並沒有下載數,所以其並不會出現在最終的排名中。不過研究者分別對 ipython 和 jupyter 進行了研究。
Pattern 包在 Stack Overflow 問題指標上已經有很高的得分,因為「pattern」是一個常見詞。因為這個詞沒有標註數據,所以 Stack Overflow 自動將請求「[pattern]」糾正為一些不相關的詞。
Stack Overflow 的 plotly 數據可能會增長,因為其是 R 和 Python 包。
資源
源代碼可在 Data Incubator 的 Github 上獲得:https://github.com/thedataincubator/data-science-blogs/
如果你有意了解更多,可考慮查閱以下資源:
Python 包完整排名: https://github.com/thedataincubator/datascience-blogs/blob/master/output/python-ranks-withna.csv
Tensorflow Playground:http://playground.tensorflow.org/
原排名數據(Raw ranking data): https://github.com/thedataincubator/datascience-blogs/blob/master/output/python-data-wide.csv
Anaconda 開放數據科學平台: https://www.continuum.io/anaconda-overview
PyPI 排名:http://pypi-ranking.info/alltime
PyPI 下載統計:https://github.com/jantman/pypidownload-stats
Github 的 Fork of vanity 項目:https://github.com/pavopax/vanity
※Garry Kasparov回憶錄講述與深藍「世紀之戰」
※科學機器人子刊:從機器人社交與醫療自動化分級到機器人建築平台
※中科大與微軟提出ANMT:將生成對抗網路用於神經機器翻譯
※英國皇家學會百頁報告:機器學習的力量與希望(豪華陣容參與)
※教程|通過PyTorch實現對抗自編碼器
TAG:機器之心 |
※2018年以來,中國科學家已發表12篇Nature、Science和Cell!
※2018年2月份Github上最熱門的數據科學和機器學習項目
※2019 U.S.news美國大學社會科學與人文類專業排名
※最會穿搭的科學怪人!C2H4 Workwear 2018 系列Lookbook釋出!
※Gartner:2018年數據科學和機器學習平台魔力象限
※給數據科學家的 Python 3 指導;簡單 chatbot 代碼實現
※4篇Cell、3篇Nature!2017年「中國生命科學十大進展」公布
※數據科學Python基礎
※NumPy 將停止支持 Python 2,這裡有一份給數據科學家的 Python 3 使用指導
※Gartner:到2019年自助分析和BI用戶創造的分析結果將超過數據科學家
※Women in Data Science Beijing:與數據科學的美妙邂逅
※Python數據科學超強陣容書單
※Jupyter Notebook數據科學高效技巧!
※2018 Gartner數據科學和機器學習平台魔力象限的贏家和輸家
※跑步的科學訓練必讀-R4K現場回顧 Running Biomechanics
※數據科學家效率提升必備技巧之Jupyter Notebook篇
※科學家的Green Salsa食譜
※Nat Biotechnol:我國科學家利用DNA納米機器人在體內高效靶向癌症
※《中國科學:技術科學》英文專題:Digital Image Correlation
※Pivotal數據科學了解一下