丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給林立宏
發(fā)送

0

2017,最受歡迎的 15 大 Python 庫有哪些?

本文作者: 林立宏 2017-06-22 19:23
導(dǎo)語:今年最火的可視化、自然語言處理、數(shù)據(jù)挖掘以及機(jī)器學(xué)習(xí)庫!

雷鋒網(wǎng)按:本文作者為 ActiveWizards 的數(shù)據(jù)顧問 Igor Bobriakov,雷鋒網(wǎng)林立宏與 Raey Raey Li 編譯。

 2017,最受歡迎的 15 大 Python 庫有哪些?

Igor Bobriakov

近年來,Python 在數(shù)據(jù)科學(xué)行業(yè)扮演著越來越重要的角色。因此,我根據(jù)近來的使用體驗,在本文中列出了對數(shù)據(jù)科學(xué)家、工程師們最有用的那些庫。

由于這些庫都開源了,我們從Github上引入了提交數(shù),貢獻(xiàn)者數(shù)和其他指標(biāo),這可以作為庫流行程度的參考指標(biāo)。

核心庫

1. NumPy (提交數(shù): 15980, 貢獻(xiàn)者數(shù): 522)

當(dāng)開始處理Python中的科學(xué)任務(wù),Python的SciPy Stack肯定可以提供幫助,它是專門為Python中科學(xué)計算而設(shè)計的軟件集合(不要混淆SciPy庫,它是SciPy Stack的一部分,和SciPy Stack的社區(qū))這樣我們開始來看一下吧。然而,SciPy Stack相當(dāng)龐大,其中有十幾個庫,我們把焦點放在核心包上(特別是最重要的)。

關(guān)于建立科學(xué)計算棧,最基本的包是Numpy(全稱為Numerical Python)。它為Python中的n維數(shù)組和矩陣的操作提供了大量有用的功能。該庫提供了NumPy數(shù)組類型的數(shù)學(xué)運算向量化,可以改善性能,從而加快執(zhí)行速度。

2. SciPy (提交數(shù): 17213, 貢獻(xiàn)者數(shù): 489)

SciPy是一個工程和科學(xué)軟件庫。雷鋒網(wǎng)再次提醒,你需要理解SciPy Stack和SciPy庫之間的區(qū)別。

SciPy包含線性代數(shù),優(yōu)化,集成和統(tǒng)計的模塊。SciPy庫的主要功能是建立在NumPy上,從而它的數(shù)組大量的使用了NumPy的。它通過其特定子模塊提供有效的數(shù)值例程,并作為數(shù)字積分、優(yōu)化和其他例程。SciPy的所有子模塊中的功能都有詳細(xì)的說明 ——又是一個SciPy非常有幫助的點。

3. Pandas (提交數(shù): 15089, 貢獻(xiàn)者數(shù):762)

Pandas是一個Python包,旨在通過“標(biāo)記”和“關(guān)系”數(shù)據(jù)進(jìn)行工作,簡單直觀。Pandas是數(shù)據(jù)整理的完美工具。它設(shè)計用于快速簡單的數(shù)據(jù)操作,聚合和可視化。

庫中有兩個主要的數(shù)據(jù)結(jié)構(gòu):

  • “系列”(Series),一維

     2017,最受歡迎的 15 大 Python 庫有哪些?

  • “數(shù)據(jù)幀”(Data Frames),二維

     2017,最受歡迎的 15 大 Python 庫有哪些?

例如,當(dāng)您要從這兩種類型的結(jié)構(gòu)中接收到一個新的Dataframe時,通過傳遞一個Series,您將收到一個單獨的行到DataFrame的DF:

 2017,最受歡迎的 15 大 Python 庫有哪些?

 這里稍微列出了你可以用Pandas做的事情:

  • 輕松刪除并添加數(shù)據(jù)幀(DataFrame)中的列

  • 將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為數(shù)據(jù)幀(DataFrame)對象

  • 處理丟失的數(shù)據(jù),表示為NaN

  • 功能強(qiáng)大的分組

Google趨勢記錄

 2017,最受歡迎的 15 大 Python 庫有哪些?

trends.google.com

GitHub請求歷史記錄

 2017,最受歡迎的 15 大 Python 庫有哪些?

datascience.com/trends 

可視化

4.Matplotlib (提交數(shù): 21754, 貢獻(xiàn)者數(shù): 588) 

又一個SciPy Stack核心軟件包以及 Python庫,Matplotlib為輕松生成簡單而強(qiáng)大的可視化而量身定制。它是一個頂尖的軟件(在NumPy,SciPy和Pandas的幫助下),它使Python成為像MatLab或Mathematica這樣的科學(xué)工具的競爭對手。

然而,這個庫是低層級的,這意味著你需要編寫更多的代碼才能達(dá)到高級的可視化效果,而且通常會比使用更多的高級工具付出更多的努力,但總體上這些努力是值得的。

只要付出一點你就可以做任何可視化:

  • 線圖

  • 散點圖

  • 條形圖和直方圖

  • 餅狀圖;

  • 莖圖

  • 輪廓圖

  • 場圖

  • 頻譜圖

還有使用Matplotlib創(chuàng)建標(biāo)簽,網(wǎng)格,圖例和許多其他格式化實體的功能?;旧?,一切都是可定制的。

該庫由不同的平臺支持,并使用不同的GUI套件來描述所得到的可視化。不同的IDE(如IPython)都支持Matplotlib的功能。

還有一些額外的庫可以使可視化變得更加容易。

 2017,最受歡迎的 15 大 Python 庫有哪些?

5. Seaborn (提交數(shù): 1699, 貢獻(xiàn)者數(shù): 71)

Seaborn主要關(guān)注統(tǒng)計模型的可視化;這種可視化包括熱圖,這些熱圖(heat map)總結(jié)數(shù)據(jù)但仍描繪整體分布。Seaborn基于Matplotlib,并高度依賴于此。

  2017,最受歡迎的 15 大 Python 庫有哪些?

 6. Bokeh (提交數(shù): 15724, 貢獻(xiàn)者數(shù): 223)

另一個很不錯的可視化庫是Bokeh,它針對交互式可視化。與以前的庫相比,它獨立于Matplotlib。正如我們提到的,Bokeh的主要焦點是交互性,它通過現(xiàn)代瀏覽器以數(shù)據(jù)驅(qū)動文檔(d3.js)的風(fēng)格呈現(xiàn)。

 2017,最受歡迎的 15 大 Python 庫有哪些?

7. Plotly (提交數(shù): 2486, 貢獻(xiàn)者數(shù): 33)

最后,關(guān)于Plotly的話。它是一個基于Web用于構(gòu)建可視化的工具箱,提供API給一些編程語言(Python在內(nèi))。在plot.ly網(wǎng)站上有一些強(qiáng)大的、上手即用的圖形。為了使用Plotly,你將需要設(shè)置API密鑰。圖形將在服務(wù)器端處理,并發(fā)布到互聯(lián)網(wǎng),但有一種方法可以避免。

 2017,最受歡迎的 15 大 Python 庫有哪些?

Google趨勢記錄

 2017,最受歡迎的 15 大 Python 庫有哪些?

trends.google.com

GitHub請求歷史記錄

 2017,最受歡迎的 15 大 Python 庫有哪些?

datascience.com/trends

機(jī)器學(xué)習(xí)

8. SciKit-Learn (提交數(shù):21793, 貢獻(xiàn)者數(shù):842)

Scikits是Scikits Stack額外的軟件包,專為像圖像處理和機(jī)器學(xué)習(xí)輔助等特定功能而設(shè)計。對于機(jī)器學(xué)習(xí)輔助,scikit-learn是所有軟件包里最突出的一個。它建立在SciPy之上,并大量利用它的數(shù)學(xué)運算。

scikit-learn給常見的機(jī)器學(xué)習(xí)算法公開了一個簡潔、一致的接口,可簡單地將機(jī)器學(xué)習(xí)帶入生產(chǎn)系統(tǒng)中。該庫中集成了有質(zhì)量的代碼和良好的文檔、簡單易用并且十分高效,是使用Python進(jìn)行機(jī)器學(xué)習(xí)的實際行業(yè)標(biāo)準(zhǔn)。

深度學(xué)習(xí)—— Keras / TensorFlow / Theano

在深度學(xué)習(xí)方面,Python中最著名和最便的庫之一是Keras,它可以在TensorFlow或Theano框架上運行。讓我們來看一下它們的一些細(xì)節(jié)。 

9.Theano. (提交數(shù):25870, 貢獻(xiàn)者數(shù):300) 

首先讓我們談?wù)凾heano。

Theano是一個Python軟件包,它定義了與NumPy類似的多維數(shù)組,以及數(shù)學(xué)運算和表達(dá)式。此庫是被編譯的,可實現(xiàn)在所有架構(gòu)上的高效運行。最初由蒙特利爾大學(xué)機(jī)器學(xué)習(xí)組開發(fā),它主要用于滿足機(jī)器學(xué)習(xí)的需求。

值得注意的是,Theano緊密結(jié)合了NumPy在低層次上的運算 。另外,該庫還優(yōu)化了GPU和CPU的使用,使數(shù)據(jù)密集型的計算平臺性能更佳。

效率和穩(wěn)定性微調(diào)保證了即使在數(shù)值很小的情況下,仍有更精確的結(jié)果,例如,即使只給出x的最小值,log(1 + x)仍能計算出合理的結(jié)果。

10. TensorFlow. (提交數(shù): 16785,貢獻(xiàn)者數(shù): 795)

TensorFlow來自Google的開發(fā)人員,它是數(shù)據(jù)流圖計算的開源庫,為機(jī)器學(xué)習(xí)不斷打磨。它旨在滿足谷歌對訓(xùn)練神經(jīng)網(wǎng)絡(luò)的高需求,并且是基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)系統(tǒng)DistBelief的繼任者。然而,TensorFlow并不限制于谷歌的科學(xué)應(yīng)用范圍 – 它可以通用于多種多樣的現(xiàn)實應(yīng)用中。 

TensorFlow的關(guān)鍵特征是它的多層節(jié)點系統(tǒng),可以在大型數(shù)據(jù)集上快速訓(xùn)練神經(jīng)網(wǎng)絡(luò)。這為谷歌的語音識別和圖像對象識別提供了支持。

11. Keras. (提交數(shù): 3519,貢獻(xiàn)者數(shù): 428)

最后我們來看看Keras。它是一個用Python編寫的開源的庫,用于在高層的接口上構(gòu)建神經(jīng)網(wǎng)絡(luò)。它簡單易懂,具有高級可擴(kuò)展性。Keras使用Theano或TensorFlow作為后端,但微軟現(xiàn)在正努力整合CNTK(微軟的認(rèn)知工具包)作為新的后端。

設(shè)計中的簡約方法旨在通過建立緊湊型系統(tǒng)進(jìn)行快速、簡便的實驗。

Keras真的容易上手,并在持續(xù)完善它的快速原型能力。它完全用Python編寫,可被高度模塊化和擴(kuò)展。盡管它以易上手、簡單和以高層次為導(dǎo)向,但是Keras足夠有深度并且足夠強(qiáng)大,去支持復(fù)雜的模型。

谷歌發(fā)展趨勢歷史

 2017,最受歡迎的 15 大 Python 庫有哪些?

trends.google.com

GitHub請求歷史記錄

 2017,最受歡迎的 15 大 Python 庫有哪些?

datascience.com/trends

自然語言處理

12. NLTK (提交數(shù): 12449,貢獻(xiàn)者數(shù): 196)

這個庫的名稱“Natural Language Toolkit”,代表自然語言工具包,顧名思義,它用于符號學(xué)和統(tǒng)計學(xué)自然語言處理(NLP) 的常見任務(wù)。 NLTK旨在促進(jìn)NLP及相關(guān)領(lǐng)域(語言學(xué),認(rèn)知科學(xué)人工智能等)的教學(xué)和研究,目前受到重點關(guān)注。

NLTK的功能允許很多操作,例如文本標(biāo)記,分類和標(biāo)記,實體名稱識別,建立語料庫,可以顯示語言內(nèi)部和各句子間的依賴性、詞根、語義推理等。所有的構(gòu)建模塊都可以為不同的任務(wù)構(gòu)建復(fù)雜的研究系統(tǒng),例如情緒分析,自動總結(jié)。

13. Gensim (提交數(shù): 2878,貢獻(xiàn)者數(shù): 179)

它是一個用于Python的開源庫,為有向量空間模型和主題模型的工作提供了使用工具。這個庫是為了高效處理大量文本而設(shè)計的,所以不僅可以進(jìn)行內(nèi)存處理,還可以通過廣泛使用NumPy數(shù)據(jù)結(jié)構(gòu)和SciPy操作來獲得更高的效率。Gensim高效也易于使用。

Gensim旨在與原始和非結(jié)構(gòu)化的數(shù)字文本一起使用。 它實現(xiàn)了諸如hierarchical Dirichlet processes(HDP),潛在語義分析(LSA)和潛在Dirichlet分配(LDA)之類的算法,以及tf-idf,隨機(jī)預(yù)測,word2vec和document2vec,便于檢查一組文檔中有重復(fù)模式的文本 (通常稱為語料庫)。所有的算法均是無監(jiān)督的,意味著不需要任何參數(shù),唯一的輸入只有語料庫。 

谷歌發(fā)展趨勢歷史

 2017,最受歡迎的 15 大 Python 庫有哪些?

trends.google.com

GitHub請求歷史記錄

 2017,最受歡迎的 15 大 Python 庫有哪些?

datascience.com/trends

數(shù)據(jù)挖掘,統(tǒng)計學(xué)

14. Scrapy (提交數(shù): 6325,貢獻(xiàn)者數(shù): 243)

Scrapy庫是用于從網(wǎng)絡(luò)結(jié)構(gòu)化檢索數(shù)據(jù)(如聯(lián)系人信息或URL),可以用來設(shè)計crawling程序(也稱為蜘蛛bots)。

它是開源的,使用用Python編寫的。最開始只是如它的名字暗示的一樣,只用來做scraping,但是它現(xiàn)在已經(jīng)在完整的框架中發(fā)展,能夠從API采集數(shù)據(jù)并作為通用的crawlers了。

該庫在界面設(shè)計中標(biāo)榜著“不要重復(fù)自己”  它推薦用戶們編寫泛化得到、可被重復(fù)使用的通用代碼,從而構(gòu)建和擴(kuò)展大型的crawlers。

Scrapy的架構(gòu)圍繞著Spider class構(gòu)建,這其中包含了crawler追從的一套指令。

 15. Statsmodels (提交數(shù): 8960,貢獻(xiàn)者數(shù): 119) 

你可能從名字就猜出大概了,statsmodels使用戶能夠通過使用各種統(tǒng)計模型的估算方法進(jìn)行數(shù)據(jù)挖掘,并執(zhí)行統(tǒng)計判斷和分析。

 許多有用的特征是可被描述的,并通過使用線性回歸模型,廣義線性模型,離散選擇模型,魯棒線性模型,時間序列分析模型,各種估計方法得出統(tǒng)計結(jié)果。

這個庫還提供了廣泛的標(biāo)定功能,專門用于大數(shù)據(jù)統(tǒng)計中的性能優(yōu)化工作。 

總結(jié)

許多數(shù)據(jù)科學(xué)家和工程師認(rèn)為這些庫是頂級的,并值得關(guān)注,或者需要或多或少了解它們。 以下是每個庫在Github上的詳細(xì)統(tǒng)計資料:

當(dāng)然,這不是完全詳盡的列表,還有許多其他的庫和框架也是值得關(guān)注。一個很好的例子是SciKit的不同軟件包各自專注一個特定的領(lǐng)域,如SciKit-Image是用于處理圖像的。

via medium

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

 2017,最受歡迎的 15 大 Python 庫有哪些?

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說