【盤點】深度學習最常用到的20個Python庫

2021-03-06 專知

【導讀】Python在解決數據科學任務和挑戰方面處於領先地位。而一些方便易用的庫則幫助了開發人員高效開發。在這裡我們整理了20個在深度學習、數據分析中最常用、最好用的Python庫,供大家一起學習。

作者| ActiveWizards

編譯|專知

整理|Yingying,李大囧

NumPy

我們從科學應用程式庫開始說起,NumPy是該領域的主要軟體包之一。 它旨在處理大型多維數組和矩陣,並且廣泛的高級數學函數和實現的方法集合,使得可以使用這些對象執行各種操作。

在這一年中,NumPy有很多更新。 除了錯誤修復和兼容性問題之外,關鍵更新還包括NumPy對象的列印格式。此外,某些函數現在可以處理Python中可用的任何編碼的文件。

SciPy

另一個科學計算核心庫是SciPy。它基於NumPy,並擴展了其功能。 SciPy主數據結構又是一個多維數組,由Numpy實現。該軟體包包含有助於解決線性代數,概率論,積分計算和更多任務的工具。

SciPy可以適配不同的作業系統。這一年,Scipy帶來了許多函數的更新,尤其是優化器也更新了。此外,封裝了許多新的BLAS和LAPACK函數。

Pandas

Pandas提供了高級數據結構和各種分析工具。該軟體包的一大特色是能夠將相當複雜的數據操作轉換為一個或兩個命令。 Pandas包含許多用於分組,過濾和組合數據的內置方法,以及時間序列功能。

Pandas在這一年的更新包括數百個新功能,bug修復和API的更改。

StatsModels

Statsmodels是一個統用於統計數據分析的方法,例如統計模型估計,執行統計測試等。在它的幫助下,您可以實現許多機器學習方法。

這個庫在不停的更新。今年帶來了時間序列改進和新的計數模型,即GeneralizedPoisson,零膨脹模型和NegativeBinomialP,以及新的多變量方法 - 因子分析,MANOVA和ANOVA中的重複測量。

可視化

Matplotlib

Matplotlib是一個用於創建二維圖表和圖形的低級庫。 藉助它的幫助,您可以構建各種圖表,從直方圖和散點圖到非笛卡爾坐標圖。 此外,許多流行的繪圖庫被設計為與matplotlib一起使用。

顏色,尺寸,字體,圖例的樣式等都有變化。比如軸圖例的自動對齊,和更友好的配色。

Seaborn

Seaborn本質上是基於matplotlib庫的更高級別的API。 它包含有豐富的可視化圖庫,包括時間序列,聯合圖和小提琴圖(展示數據密度分布)等複雜類型。

seaborn更新主要包括bug修復。 此外,FacetGrid或PairGrid與增強的交互式matplotlib後端之間的兼容性有所改進,為可視化添加了參數和選項。

Plotly

Plotly是一個流行的庫,可以讓您輕鬆地構建複雜的圖形。 該軟體包適用於交互式Web應用程式。 其可視化效果包括輪廓圖形,三元圖和3D圖表。

今年該庫的更新包括對「多連結視圖」以及動畫和串擾集成的支持。

Bokeh

Bokeh庫使用JavaScript小部件在瀏覽器中創建交互式和可伸縮的可視化。 該庫提供了多種圖形,樣式及連結圖形式的交互能力,定義回調以及更多有用的功能。

Bokeh可以提供改進的交互式功能,例如分類刻度標籤的旋轉,以及小縮放工具和自定義工具提示欄位增強功能。

Pydot

Pydot是Graphviz的一個接口,用純Python編寫。 在它的幫助下,可以顯示圖形的結構,這在構建神經網絡和基於決策樹的算法時會經常用到。

Scikit-learn

這個基於NumPy和SciPy的Python模塊是處理數據的最佳庫之一。它為許多標準機器學習和數據挖掘任務提供算法,例如聚類,回歸,分類,降維和模型選擇。

今年這個庫的更新包括:修改交叉驗證,提供了使用多個指標的功能;最近鄰和邏輯回歸等幾種訓練方法有一些小的改進。

XGBoost / LightGBM / CatBoost

Boosting是最流行的機器學習算法之一,其在於構建基本模型的集合,即決策樹。因此,有專門的庫設計用於快速方便地實現該方法。XGBoost,LightGBM和CatBoost值得特別關注。這些庫提供高度優化,可擴展和快速的梯度增強實現,這使得它們在數據科學家和Kaggle競賽中非常受歡迎。

Eli5

通常,機器學習模型預測的結果並不完全清楚,而eli5庫有助與解決問題。它是一個可視化調試機器學習模型的包,並逐步跟蹤算法的工作過程。它可與scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite庫兼容。

深度學習

TensorFlow

TensorFlow是一個流行的深度和機器學習框架,由Google Brain開發。它提供了使用具有多個數據集的人工神經網絡的能力。最受歡迎的TensorFlow應用包括對象識別,語音識別等。

這個庫在新版本中很快,引入了新功能和新功能。最新的修復包括潛在的安全漏洞和改進的TensorFlow和GPU集成,例如您可以在一臺計算機上的多個GPU上運行Estimator模型。

PyTorch

PyTorch是一個大型框架,允許使用GPU加速執行張量計算,創建動態計算圖並自動計算梯度。在此之上,PyTorch提供了豐富的API,用於解決與神經網絡相關的應用。

該庫基於Torch,這是一個用C語言實現的開源深度學習庫,在Lua中有一個包裝器。 Python API於2017年推出,從那時起,該框架越來越受歡迎並吸引了越來越多的數據科學家。

Keras

Keras是一個用於處理神經網絡的高級庫,運行在TensorFlow,Theano之上。現在它也可以使用CNTK和MxNet作為後端。它簡化了許多特定任務,並大大減少了單調代碼的數量。但是,它可能不適合某些複雜的事情。

該庫在性能,可用性,文檔和API都有一定改進。一些新功能是Conv3DTranspose層,新的MobileNet應用程式和自我規範化網絡。

分布式深度學習

Dist-keras / elephas / spark-deep-learning

使用像Apache Spark這樣的分布式計算系統可以更輕鬆地處理如此大量的數據,這再次擴展了深度學習的可能性。因此,dist-keras,elephas和spark-deep-learning正在迅速發展。這些軟體包可以在Apache Spark的幫助下直接基於Keras庫訓練神經網絡。 Spark-deep-learning還提供了使用Python神經網絡創建管道的工具。

自然語言處理

NLTK

NLTK是一組庫,是自然語言處理的完整平臺。 在NLTK的幫助下,您可以通過各種方式處理和分析文本,標記文本,提取信息等。NLTK還用於原型設計和構建研究系統。

這個庫的附魔包括API和兼容性的微小變化以及CoreNLP的新界面。

SpaCy

SpaCy是一個自然語言處理庫,包含優秀的demo,API文檔和演示應用程式。該庫是用Cython語言編寫的,它是Python的C擴展。它支持近30種語言,提供簡單的深度學習集成,並保證了穩健性和高準確性。 SpaCy的另一個重要特性它是為整個文檔處理而設計的,而不會將文檔分成短語。

Gensim

Gensim是一個用於強大語義分析,主題建模和向量空間建模的Python庫,基於Numpy和Scipy構建。它提供了流行的NLP算法的實現,例如word2vec。

數據抓取

Scrapy

Scrapy是一個用於創建掃描網站頁面和收集結構化數據的爬蟲庫。此外,Scrapy可以從API中提取數據。由於其可擴展性和可移植性,該庫恰好非常方便。

結論

與去年相比,一些新的庫越來越受歡迎,而那些已成為數據科學任務經典庫正在不斷改進。

表格中列出了這些庫的github活動的詳細統計信息。



原文連結:

https://www.kdnuggets.com/2018/06/top-20-python-libraries-data-science-2018.html/2

-END-

專 · 知

人工智慧領域26個主題知識資料全集獲取與加入專知人工智慧服務群: 歡迎微信掃一掃加入專知人工智慧知識星球群,獲取專業知識教程視頻資料和與專家交流諮詢!

請PC登錄www.zhuanzhi.ai或者點擊閱讀原文,註冊登錄專知,獲取更多AI知識資料!

請加專知小助手微信(掃一掃如下二維碼添加),加入專知主題群(請備註主題類型:AI、NLP、CV、 KG等)交流~

 AI 項目技術 & 商務合作:bd@zhuanzhi.ai, 或掃描上面二維碼聯繫!

請關注專知公眾號,獲取人工智慧的專業知識!

點擊「閱讀原文」,使用專知

相關焦點

  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • 盤點Python程式語言sys庫中的7個常用函數
    盤點Python程式語言sys庫中的7個常用函數 這篇文章我們基於Python基礎,介紹sys模塊,介紹7個sys庫常用函數,對每個方法都採用圖文結合的方式,進行詳細的講解。
  • 2016AI巨頭開源IP盤點 50個最常用的深度學習庫
    Data Science Central網站主編、有多年數據科學和商業分析模型從業經驗的Bill Vorhies曾撰文指出,過去一年人工智慧和深度學習最重要的發展不在技術,而是商業模式的轉變——所有巨頭紛紛將其深度學習IP開源。 毋庸置疑,「開源浪潮」是2016年人工智慧領域不可忽視的一大趨勢,而其中最受歡迎的項目則是谷歌的深度學習平臺TensorFlow。
  • 我最喜歡的9個 Python深度學習庫解讀
    在這篇文章裡,我詳細解讀了9個我最喜歡的Python深度學習庫。這個名單並不詳盡,它只是我在計算機視覺的職業生涯中使用並在某個時間段發現特別有用的一個庫的列表。這其中的一些庫我比別人用的多很多,尤其是Keras、mxnet和sklearn-theano。
  • 盤點數據科學20個最好的Python庫(附連結)
    本文將給大家介紹數據科學領域20個最好的Python庫。Python 在解決數據科學任務和挑戰方面繼續處於領先地位。去年,我們曾發表一篇博客文章 Top 15 Python Libraries for Data Science in 2017,概述了當時業已證明最有幫助的Python庫。
  • ​關於深度學習、NLP和計算機視覺的30個頂級Python庫
    圖1:用於深度學習、自然語言處理和計算機視覺的頂級Python庫由星級和貢獻者數量繪製;按提交的對數表示相對大小那麼,廢話少說,下面是就是由KDnuggets員工精心挑選出來,可用於深度學習、自然語言處理和計算機視覺的
  • 使用Python從頭開始實現深度學習庫
    理解深度學習平臺基本構建基礎的初學者指南。深度學習已在短時間內從簡單的神經網絡演變為非常複雜的架構。為了支持這種快速擴展,在此過程中開發了許多不同的深度學習平臺和庫。這些庫的主要目標之一是提供用於構建和訓練深度學習模型的易於使用的界面,使用戶可以將更多的精力放在手頭的任務上。
  • 一文總結數據科學家常用的Python庫(下)
    python庫,查看上篇。想要獲取更多的機器學習、深度學習資源,歡迎大家點擊上方藍字關注我們的公眾號:磐創AI。一文總結數據科學家常用的Python庫(上)用於建模的Python庫我們已經到達了本文最受期待的部分 - 構建模型!這就是我們大多數人首先進入數據科學領域的原因,不是嗎?讓我們通過這三個Python庫探索模型構建。
  • 這幾個常用的python庫你需要知道
    python可以說是近幾年最火熱、最實用的、最容易上手的工具之一了。功能強大、應用廣泛,可以幫你搜集工作數據,還能幫你下載音樂,電影,於是就掀起了一波學習python的大潮,小編也毫不猶豫的加入了。但是對於向小編一樣的小白來說,剛開始學習還是有些困難的,需要首先了解python的一些基礎知識。所以小編就整理了一些常用的python庫,希望對正在學習python的小夥伴有所幫助。1.MatplotlibMatplotlib是一個用於創建二維圖和圖形的底層庫。藉由它的幫助,你可以構建各種不同的圖標,從直方圖和散點圖到費笛卡爾坐標圖。
  • python的常用擴展庫以及使用方式
    一、常用庫(標準庫+擴展庫)標準庫 說明math 數學模塊random 隨機數以及隨機化相關模塊datetime
  • python機器學習:常用庫的介紹及安裝
    今天,我們就從零基礎開始學習人工智慧的基礎篇——機器學習。工欲善其事必先利其器,所以,我們首先來看一下,我們要學習這些東西,需要準備些什麼!首先電腦一臺,這是必備的。下面我們來看一下需要安裝些什麼軟體到電腦上!
  • 用Python 做機器學習不得不收藏的重要庫
    以下是機器學習中最常用的一些庫: Scikit-learn 經典的ML算法 Scikit-learn 是最流行的ML 庫之一,他支持很多監督學習和非監督學習算法。 他基於兩個python庫:Numpy 和 Scipy 。 他為常見的機器學習和數據挖掘提供了一組算法:聚類,回歸和分類。甚至像數據轉換,特徵選擇,集成學習這樣的任務也可與通過簡短幾行代碼實現。 對於機器學習的新手來說,Scikit-learn 是一個夠用的工具,直到你自己開始實現更複雜的算法。
  • Python常用庫大全
    when.py – 提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。 文本處理用於解析和操作文本的庫。 python-nameparser – 把一個人名分解為幾個獨立的部分。 python-user-agents – 瀏覽器 user agent 解析器。 sqlparse – 一個無驗證的 SQL 解析器。
  • python推薦 | 面向地學領域的Python庫匯總
    數據插值•xESMF和ESMPy:氣象數據空間插值,尤其是對於模式網格數據而言,提供了一些便捷的命令可對網格數據進行一些列插值操作•python-stratify:針對大氣和海洋數據進行垂直插值•scipy.interpolate模塊提供了大量插值函數•python-geotiepoints:針對地理網格數據的空間插值說到地球科學領域的數據處理,最離不開的應該也是模式輸出數據了
  • 7個最佳的學習Python編程的開源庫
    ) 猿妹綜合整理項目來自:https://towardsdatascience.com/top-7-repositories-on-github-to-learn-python-44a3a7accb44很多夥伴們在學習Python的過程中,更傾向於在Github上尋找Python學習資料,今天就和大家分享Github上7個絕佳的Python
  • 2019 必知的 10 大頂級 python 庫
    Keras 也是深度學習研究人員的最愛。大型科學組織,特別是 CERN and NASA 的研究人員尤其偏愛 Keras。5.PyTorch此機器學習庫(python)於 2017 年推出,自其問世以來,該庫越來越受歡迎,並吸引了越來越多的機器學習開發人員。
  • 38個常用Python庫:數值計算、可視化、機器學習等8大領域都有了
    MySQL-python又稱MySQLdb,是Python連接MySQL最流行的一個驅動,很多框架也基於此庫進行開發。只支持Python 2.x,且安裝時有許多前置條件。由於該庫基於C語言開發,在Windows平臺上的安裝非常不友好,經常出現失敗的情況,現在基本不推薦使用,取代品為衍生版本。
  • 每個python人都離不開的12個python庫
    如果說python能取得今天的成就,一方面是它簡介的語法,更重要的一方面就是它豐富的第三方庫,可以毫不誇張的說,只要你能想到的任何一個功能模塊,都有對應的python庫,可以說正是因為有了豐富的python庫,python才發展得如此迅速,下面我們來看看python人最常用的20個python
  • Python之Numpy庫常用函數合集
    轉自:博客園最近學習Python,才發現原來python裡的各種庫才是大頭!
  • 盤點python數據工程師需要掌握的18個庫
    很多同學學習Python的目的都是為了進行數據分析。今天我們就來整理一下Python中在數據分析領域使用最廣泛的一些庫。掌握這些庫,進行數據分析相關任務時就可以隨心所欲了!所以使用 來安裝,然後使用 來安裝scrapy就可以了數據獲取Beautiful SoupBeautiful Soup也是一個從網站爬取數據的庫,他提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數據,因為簡單,所以不需要多少代碼就可以寫出一個完整的應用程式。