0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

2018年為數(shù)據(jù)科學(xué)領(lǐng)域中豐富的Python庫集合

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-06-24 09:54 ? 次閱讀

Python 在解決數(shù)據(jù)科學(xué)任務(wù)和挑戰(zhàn)方面繼續(xù)處于領(lǐng)先地位。去年,我們曾發(fā)表一篇博客文章Top 15 Python Libraries for Data Science in 2017,概述了當(dāng)時業(yè)已證明最有幫助的Python庫。今年,我們擴展了這個清單,增加了新的 Python 庫,并重新審視了去年已經(jīng)討論過的 Python 庫,重點關(guān)注了這一年來的更新。

我們的選擇實際上包含了 20 多個庫,因為其中一些庫是相互替代的,可以解決相同的問題。因此,我們將它們放在同一個分組。

▌核心庫和統(tǒng)計數(shù)據(jù)

1. NumPy (Commits: 17911, Contributors: 641)

官網(wǎng):http://www.numpy.org/

NumPy 是科學(xué)應(yīng)用程序庫的主要軟件包之一,用于處理大型多維數(shù)組和矩陣,它大量的高級數(shù)學(xué)函數(shù)集合和實現(xiàn)方法使得這些對象執(zhí)行操作成為可能。

2. SciPy (Commits: 19150, Contributors: 608)

官網(wǎng):https://scipy.org/scipylib/

科學(xué)計算的另一個核心庫是 SciPy。它基于 NumPy,其功能也因此得到了擴展。SciPy 主數(shù)據(jù)結(jié)構(gòu)又是一個多維數(shù)組,由 Numpy 實現(xiàn)。這個軟件包包含了幫助解決線性代數(shù)、概率論、積分計算和許多其他任務(wù)的工具。此外,SciPy 還封裝了許多新的 BLAS 和 LAPACK 函數(shù)。

3. Pandas (Commits: 17144, Contributors: 1165)

官網(wǎng):https://pandas.pydata.org/

Pandas 是一個 Python 庫,提供高級的數(shù)據(jù)結(jié)構(gòu)和各種各樣的分析工具。這個軟件包的主要特點是能夠?qū)⑾喈?dāng)復(fù)雜的數(shù)據(jù)操作轉(zhuǎn)換為一兩個命令。Pandas包含許多用于分組、過濾和組合數(shù)據(jù)的內(nèi)置方法,以及時間序列功能。

4. StatsModels (Commits: 10067, Contributors: 153)

官網(wǎng):http://www.statsmodels.org/devel/

Statsmodels 是一個 Python 模塊,它為統(tǒng)計數(shù)據(jù)分析提供了許多機會,例如統(tǒng)計模型估計、執(zhí)行統(tǒng)計測試等。在它的幫助下,你可以實現(xiàn)許多機器學(xué)習(xí)方法并探索不同的繪圖可能性。

Python 庫不斷發(fā)展,不斷豐富新的機遇。因此,今年出現(xiàn)了時間序列的改進(jìn)和新的計數(shù)模型,即 GeneralizedPoisson、零膨脹模型(zero inflated models)和 NegativeBinomialP,以及新的多元方法:因子分析、多元方差分析以及方差分析中的重復(fù)測量。

▌可視化

5. Matplotlib (Commits: 25747, Contributors: 725)

官網(wǎng):https://matplotlib.org/index.html

Matplotlib 是一個用于創(chuàng)建二維圖和圖形的底層庫。藉由它的幫助,你可以構(gòu)建各種不同的圖標(biāo),從直方圖和散點圖到費笛卡爾坐標(biāo)圖。此外,有許多流行的繪圖庫被設(shè)計為與matplotlib結(jié)合使用。

6. Seaborn (Commits: 2044, Contributors: 83)

官網(wǎng):https://seaborn.pydata.org/

Seaborn 本質(zhì)上是一個基于 matplotlib 庫的高級 API。它包含更適合處理圖表的默認(rèn)設(shè)置。此外,還有豐富的可視化庫,包括一些復(fù)雜類型,如時間序列、聯(lián)合分布圖(jointplots)和小提琴圖(violin diagrams)。

7. Plotly (Commits: 2906, Contributors: 48)

官網(wǎng):https://plot.ly/python/

Plotly 是一個流行的庫,它可以讓你輕松構(gòu)建復(fù)雜的圖形。該軟件包適用于交互式 Web 應(yīng)用程,可實現(xiàn)輪廓圖、三元圖和三維圖等視覺效果。

8. Bokeh (Commits: 16983, Contributors: 294)

官網(wǎng):https://bokeh.pydata.org/en/latest/

Bokeh 庫使用 JavaScript 小部件在瀏覽器中創(chuàng)建交互式和可縮放的可視化。該庫提供了多種圖表集合,樣式可能性(styling possibilities),鏈接圖、添加小部件和定義回調(diào)等形式的交互能力,以及許多更有用的特性。

9. Pydot (Commits: 169, Contributors: 12)

官網(wǎng):https://pypi.org/project/pydot/

Pydot 是一個用于生成復(fù)雜的定向圖和無向圖的庫。它是用純 Python 編寫的Graphviz 接口。在它的幫助下,可以顯示圖形的結(jié)構(gòu),這在構(gòu)建神經(jīng)網(wǎng)絡(luò)和基于決策樹的算法時經(jīng)常用到。

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

10. Scikit-learn (Commits: 22753, Contributors: 1084)

官網(wǎng):http://scikit-learn.org/stable/

這個基于 NumPy 和 SciPy 的 Python 模塊是處理數(shù)據(jù)的最佳庫之一。它為許多標(biāo)準(zhǔn)的機器學(xué)習(xí)和數(shù)據(jù)挖掘任務(wù)提供算法,如聚類、回歸、分類、降維和模型選擇。

利用 Data Science School 提高你的技能

Data Science School:http://datascience-school.com/

11. XGBoost / LightGBM / CatBoost (Commits: 3277 / 1083 / 1509, Contributors: 280 / 79 / 61)

官網(wǎng):

http://xgboost.readthedocs.io/en/latest/

http://lightgbm.readthedocs.io/en/latest/Python-Intro.html

https://github.com/catboost/catboost

梯度增強算法是最流行的機器學(xué)習(xí)算法之一,它是建立一個不斷改進(jìn)的基本模型,即決策樹。因此,為了快速、方便地實現(xiàn)這個方法而設(shè)計了專門庫。就是說,我們認(rèn)為 XGBoost、LightGBM 和 CatBoost 值得特別關(guān)注。它們都是解決常見問題的競爭者,并且使用方式幾乎相同。這些庫提供了高度優(yōu)化的、可擴展的、快速的梯度增強實現(xiàn),這使得它們在數(shù)據(jù)科學(xué)家和 Kaggle 競爭對手中非常流行,因為在這些算法的幫助下贏得了許多比賽。

12. Eli5 (Commits: 922, Contributors: 6)

官網(wǎng):https://eli5.readthedocs.io/en/latest/

通常情況下,機器學(xué)習(xí)模型預(yù)測的結(jié)果并不完全清楚,這正是 Eli5 幫助應(yīng)對的挑戰(zhàn)。它是一個用于可視化和調(diào)試機器學(xué)習(xí)模型并逐步跟蹤算法工作的軟件包,為 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 庫提供支持,并為每個庫執(zhí)行不同的任務(wù)。

深度學(xué)習(xí)

13. TensorFlow (Commits: 33339, Contributors: 1469)

官網(wǎng):https://www.tensorflow.org/

TensorFlow 是一個流行的深度學(xué)習(xí)和機器學(xué)習(xí)框架,由 Google Brain 開發(fā)。它提供了使用具有多個數(shù)據(jù)集的人工神經(jīng)網(wǎng)絡(luò)的能力。在最流行的 TensorFlow應(yīng)用中有目標(biāo)識別、語音識別等。在常規(guī)的 TensorFlow 上也有不同的 leyer-helper,如 tflearn、tf-slim、skflow 等。

14. PyTorch (Commits: 11306, Contributors: 635)

官網(wǎng):https://pytorch.org/

PyTorch 是一個大型框架,它允許使用 GPU 加速執(zhí)行張量計算,創(chuàng)建動態(tài)計算圖并自動計算梯度。在此之上,PyTorch 為解決與神經(jīng)網(wǎng)絡(luò)相關(guān)的應(yīng)用程序提供了豐富的 API。該庫基于 Torch,是用 C 實現(xiàn)的開源深度學(xué)習(xí)庫。

15. Keras (Commits: 4539, Contributors: 671)

官網(wǎng):https://keras.io/

Keras 是一個用于處理神經(jīng)網(wǎng)絡(luò)的高級庫,運行在 TensorFlow、Theano 之上,現(xiàn)在由于新版本的發(fā)布,還可以使用 CNTK 和 MxNet 作為后端。它簡化了許多特定的任務(wù),并且大大減少了單調(diào)代碼的數(shù)量。然而,它可能不適合某些復(fù)雜的任務(wù)。

▌分布式深度學(xué)習(xí)

16. Dist-keras / elephas / spark-deep-learning (Commits: 1125 / 170 / 67, Contributors: 5 / 13 / 11)

官網(wǎng):

http://joerihermans.com/work/distributed-keras/

https://pypi.org/project/elephas/

https://databricks.github.io/spark-deep-learning/site/index.html

隨著越來越多的用例需要花費大量的精力和時間,深度學(xué)習(xí)問題變得越來越重要。然而,使用像 Apache Spark 這樣的分布式計算系統(tǒng),處理如此多的數(shù)據(jù)要容易得多,這再次擴展了深入學(xué)習(xí)的可能性。因此,dist-keras、elephas 和 spark-deep-learning 都在迅速流行和發(fā)展,而且很難挑出一個庫,因為它們都是為解決共同的任務(wù)而設(shè)計的。這些包允許你在 Apache Spark 的幫助下直接訓(xùn)練基于 Keras 庫的神經(jīng)網(wǎng)絡(luò)。Spark-deep-learning 還提供了使用 Python 神經(jīng)網(wǎng)絡(luò)創(chuàng)建管道的工具。

▌自然語言處理

17. NLTK (Commits: 13041, Contributors: 236)

官網(wǎng):https://www.nltk.org/

NLTK 是一組庫,一個用于自然語言處理的完整平臺。在 NLTK 的幫助下,你可以以各種方式處理和分析文本,對文本進(jìn)行標(biāo)記和標(biāo)記,提取信息等。NLTK 也用于原型設(shè)計和建立研究系統(tǒng)。

18. SpaCy (Commits: 8623, Contributors: 215)

官網(wǎng):https://spacy.io/

SpaCy 是一個具有優(yōu)秀示例、API 文檔和演示應(yīng)用程序的自然語言處理庫。這個庫是用 Cython 語言編寫的,Cython 是 Python 的 C 擴展。它支持近 30 種語言,提供了簡單的深度學(xué)習(xí)集成,保證了健壯性和高準(zhǔn)確率。SpaCy 的另一個重要特性是專為整個文檔處理設(shè)計的體系結(jié)構(gòu),無須將文檔分解成短語。

19. Gensim (Commits: 3603, Contributors: 273)

官網(wǎng):https://radimrehurek.com/gensim/

Gensim 是一個用于健壯語義分析、主題建模和向量空間建模的 Python 庫,構(gòu)建在Numpy和Scipy之上。它提供了流行的NLP算法的實現(xiàn),如 word2vec。盡管 gensim 有自己的 models.wrappers.fasttext實現(xiàn),但 fasttext 庫也可以用來高效學(xué)習(xí)詞語表示。

▌數(shù)據(jù)采集

20. Scrapy (Commits: 6625, Contributors: 281)

官網(wǎng):https://scrapy.org/

Scrapy 是一個用來創(chuàng)建網(wǎng)絡(luò)爬蟲,掃描網(wǎng)頁和收集結(jié)構(gòu)化數(shù)據(jù)的庫。此外,Scrapy 可以從 API 中提取數(shù)據(jù)。由于該庫的可擴展性和可移植性,使得它用起來非常方便。

▌結(jié)論

本文上述所列就是我們在 2018 年為數(shù)據(jù)科學(xué)領(lǐng)域中豐富的 Python 庫集合。與上一年相比,一些新的現(xiàn)代庫越來越受歡迎,而那些已經(jīng)成為經(jīng)典的數(shù)據(jù)科學(xué)任務(wù)的庫也在不斷改進(jìn)。

下表顯示了 GitHub 活動的詳細(xì)統(tǒng)計數(shù)據(jù):

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8436

    瀏覽量

    132890
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4806

    瀏覽量

    84931
  • 數(shù)據(jù)科學(xué)

    關(guān)注

    0

    文章

    165

    瀏覽量

    10082

原文標(biāo)題:2018:數(shù)據(jù)科學(xué)20個最好的Python庫

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    五大Python Web框架詳解

    Python是一門優(yōu)雅的編程語言,被廣泛應(yīng)用在Web開發(fā)、游戲開發(fā)、人工智能、云計算開發(fā)、大數(shù)據(jù)開發(fā)、數(shù)據(jù)分析、科學(xué)運算、爬蟲、自動化運維、自動化測試等
    發(fā)表于 02-06 17:17

    學(xué)python有哪些方向?

    深入學(xué)習(xí)并進(jìn)行二次開發(fā),就需要具備Python的技能。5. 人工智能MASA和Google早期大量使用PythonPython積累了豐富
    發(fā)表于 03-09 15:47

    直擊DTCC2018 阿里數(shù)據(jù)庫技術(shù)干貨全面解析

    摘要: DTCC2018將如約而至。阿里數(shù)據(jù)庫的核心團(tuán)隊將亮相此會,并與國內(nèi)數(shù)據(jù)庫專業(yè)人士交流過去9年在數(shù)據(jù)庫領(lǐng)域的經(jīng)驗。一起來看看在DTC
    發(fā)表于 04-27 17:58

    python數(shù)據(jù)分析的類

    分析相關(guān)的一定要熟悉,那么常用的Python數(shù)據(jù)分析有哪些呢?1.NumPyNumPy是Python
    發(fā)表于 05-10 15:18

    Python就業(yè)狀況分析

    數(shù)千個就業(yè)機會。 20183月,美國Python開發(fā)者在美國的平均工資(根據(jù)實際數(shù)據(jù))115,835美元。這么高的平均工資表明,許多公司
    發(fā)表于 05-23 15:20

    Python十大應(yīng)用領(lǐng)域和就業(yè)方向

    ,就需要具備Python的技能。5. 人工智能MASA和Google早期大量使用Python,Python積累了豐富
    發(fā)表于 11-21 14:54

    2021最受工程師歡迎的技能:Python第一

    是不可估量的。不僅如此,Python還含有優(yōu)質(zhì)的文檔、豐富的AI、機器學(xué)習(xí)、自然語言和文本處理。尤其是
    發(fā)表于 06-30 10:13

    Python在信息安全領(lǐng)域中的運用

    Python在信息安全領(lǐng)域中的運用
    發(fā)表于 09-07 09:51 ?27次下載
    <b class='flag-5'>Python</b>在信息安全<b class='flag-5'>領(lǐng)域中</b>的運用

    了解數(shù)據(jù)科學(xué)Python

    數(shù)據(jù)科學(xué)解決方案公司 ActiveWizards 近日根據(jù)他們自己的應(yīng)用開發(fā)經(jīng)驗,總結(jié)了數(shù)據(jù)科學(xué)家和工程師將在 2017 最常使用的
    發(fā)表于 11-15 17:30 ?935次閱讀
    了解<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>科學(xué)</b><b class='flag-5'>Python</b><b class='flag-5'>庫</b>

    Python成為2018度編程語言,理由如下

    2018 ,Python 語言上升了 3.62% ,其次是 Visual Basic .NET(+3.20%) 和 Java(+2.69%) 。Python 已成為當(dāng)今大學(xué)中最常被教
    的頭像 發(fā)表于 01-10 15:32 ?2682次閱讀
    <b class='flag-5'>Python</b>成為<b class='flag-5'>2018</b><b class='flag-5'>年</b>度編程語言,理由如下

    為什么在數(shù)據(jù)科學(xué)領(lǐng)域Python比R更好

    經(jīng)常有讀者問我們,在數(shù)據(jù)科學(xué)領(lǐng)域里,到底是該選 Python 呢,還是選 R 更好?誠然,對于數(shù)據(jù)科學(xué)
    的頭像 發(fā)表于 04-18 10:49 ?3496次閱讀

    20個超棒的Python 集合分享

    為了方便學(xué)習(xí),本文列出的20個Python將按領(lǐng)域進(jìn)行分類,有些你可能并不熟悉,但是真的能提高你的模型算法實現(xiàn)效率,多一點嘗試,多一些努力! 核心和統(tǒng)計
    發(fā)表于 12-05 11:27 ?1969次閱讀

    python有什么用 如何用python創(chuàng)建數(shù)據(jù)庫

    python有什么用 如何用python創(chuàng)建數(shù)據(jù)庫 Python是一種高級編程語言,可以用于開發(fā)各種類型的應(yīng)用程序和工具。它的廣泛應(yīng)用使它在編程領(lǐng)域
    的頭像 發(fā)表于 08-28 16:41 ?1211次閱讀

    python讀取數(shù)據(jù)庫數(shù)據(jù) python查詢數(shù)據(jù)庫 python數(shù)據(jù)庫連接

    python讀取數(shù)據(jù)庫數(shù)據(jù) python查詢數(shù)據(jù)庫 python
    的頭像 發(fā)表于 08-28 17:09 ?1873次閱讀

    python第三方有哪些

    和物理模擬等領(lǐng)域中發(fā)揮著重要的作用。 Pandas Pandas 是一個用于數(shù)據(jù)處理和分析的 Python 。它
    的頭像 發(fā)表于 11-29 14:31 ?2205次閱讀