Python數(shù)據(jù)分析、神經(jīng)算法和機(jī)器學(xué)習(xí)相關(guān)庫

近年來虐沥,Python 在數(shù)據(jù)科學(xué)行業(yè)扮演著越來越重要的角色熊经。因此泽艘,我根據(jù)近來的使用體驗(yàn)欲险,在本文中列出了對數(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é)計(jì)算而設(shè)計(jì)的軟件集合(不要混淆SciPy庫带兜,它是SciPy Stack的一部分枫笛,和SciPy Stack的社區(qū))這樣我們開始來看一下吧。然而刚照,SciPy Stack相當(dāng)龐大刑巧,其中有十幾個庫,我們把焦點(diǎn)放在核心包上(特別是最重要的)无畔。

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

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

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

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

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

Pandas是一個Python包脆侮,旨在通過“標(biāo)記”和“關(guān)系”數(shù)據(jù)進(jìn)行工作,簡單直觀勇劣。Pandas是數(shù)據(jù)整理的完美工具靖避。它設(shè)計(jì)用于快速簡單的數(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,您將收到一個單獨(dú)的行到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á)到高級的可視化效果,而且通常會比使用更多的高級工具付出更多的努力尿扯,但總體上這些努力是值得的求晶。

只要付出一點(diǎn)你就可以做任何可視化:

  • 線圖
  • 散點(diǎn)圖
  • 條形圖和直方圖
  • 餅狀圖;
  • 莖圖
  • 輪廓圖
  • 場圖
  • 頻譜圖

還有使用Matplotlib創(chuàng)建標(biāo)簽,網(wǎng)格衷笋,圖例和許多其他格式化實(shí)體的功能芳杏。基本上辟宗,一切都是可定制的爵赵。

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

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

2017容客,最受歡迎的 15 大 Python 庫有哪些秕铛?

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

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

2017镜遣,最受歡迎的 15 大 Python 庫有哪些己肮?

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

另一個很不錯的可視化庫是Bokeh士袄,它針對交互式可視化悲关。與以前的庫相比,它獨(dú)立于Matplotlib娄柳。正如我們提到的寓辱,Bokeh的主要焦點(diǎn)是交互性,它通過現(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ì)畸肆。對于機(jī)器學(xué)習(xí)輔助宦芦,scikit-learn是所有軟件包里最突出的一個。它建立在SciPy之上轴脐,并大量利用它的數(shù)學(xué)運(yùn)算调卑。

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

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

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

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

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

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

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

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

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

TensorFlow來自Google的開發(fā)人員,它是數(shù)據(jù)流圖計(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)實(shí)應(yīng)用中。

TensorFlow的關(guān)鍵特征是它的多層節(jié)點(diǎn)系統(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è)計(jì)中的簡約方法旨在通過建立緊湊型系統(tǒng)進(jìn)行快速适秩、簡便的實(shí)驗(yà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)計(jì)學(xué)自然語言處理(NLP) 的常見任務(wù)跷坝。 NLTK旨在促進(jìn)NLP及相關(guān)領(lǐng)域(語言學(xué)酵镜,認(rèn)知科學(xué)人工智能等)的教學(xué)和研究,目前受到重點(diǎn)關(guān)注柴钻。

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

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

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

Gensim旨在與原始和非結(jié)構(gòu)化的數(shù)字文本一起使用。 它實(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)計(jì)學(xué)

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

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

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

該庫在界面設(shè)計(jì)中標(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ì)模型的估算方法進(jìn)行數(shù)據(jù)挖掘贝搁,并執(zhí)行統(tǒng)計(jì)判斷和分析吗氏。

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锐朴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蔼囊,更是在濱河造成了極大的恐慌焚志,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畏鼓,死亡現(xiàn)場離奇詭異酱酬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)云矫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門膳沽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人让禀,你說我怎么就攤上這事挑社。” “怎么了堆缘?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵滔灶,是天一觀的道長。 經(jīng)常有香客問我吼肥,道長,這世上最難降的妖魔是什么麻车? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任缀皱,我火速辦了婚禮,結(jié)果婚禮上动猬,老公的妹妹穿的比我還像新娘啤斗。我一直安慰自己,他們只是感情好赁咙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布钮莲。 她就那樣靜靜地躺著,像睡著了一般彼水。 火紅的嫁衣襯著肌膚如雪崔拥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天凤覆,我揣著相機(jī)與錄音链瓦,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛慈俯,可吹牛的內(nèi)容都是我干的渤刃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼贴膘,長吁一口氣:“原來是場噩夢啊……” “哼卖子!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刑峡,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤洋闽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后氛琢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喊递,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年阳似,在試婚紗的時候發(fā)現(xiàn)自己被綠了骚勘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡撮奏,死狀恐怖俏讹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畜吊,我是刑警寧澤泽疆,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站玲献,受9級特大地震影響殉疼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捌年,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一瓢娜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧礼预,春花似錦眠砾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至励堡,卻和暖如春谷丸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背念秧。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工淤井, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓币狠,卻偏偏與公主長得像游两,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子漩绵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容