2019 必知的 10 大頂級 python 庫

2020-12-13 雷鋒網

雷鋒網 AI 科技評論按,作為數據科學和機器學習相關的研究和開發人員,大家每天都要用到 python。在本文中,我們將討論一些 python 中的頂級庫,開發人員可以使用這些庫在現有的應用程式中應用、清洗和表示數據,並進行機器學習研究。

我們將討論以下 10 個庫:

  1. TensorFlow

  2. Scikit-Learn

  3. Numpy

  4. Keras

  5. PyTorch

  6. LightGBM

  7. Eli5

  8. SciPy

  9. Theano

  10. Pandas

簡介

python 是最流行和使用最廣泛的程式語言之一,它已經取代了業界許多程式語言。

python 在開發人員中流行的原因有很多。然而,最重要的一點是它有大量的庫供用戶使用。

python 的簡單性吸引了許多開發人員為機器學習創建新的庫。由於有大量的庫,python 在機器學習專家中變得非常流行。

所以,這裡要介紹的第一個庫是 TensorFlow。

1.TensorFlow

什麼是 TensorFlow?

如果你目前正在使用 python 進行機器學習項目,那麼你可能聽說過這一個流行的開源庫,那就是 TensorFlow。

這個庫是由 Google 與 Brain Team 合作開發的,幾乎每一個 Google 的機器學習應用程式都用到了 TensorFlow。

TensorFlow 就像一個計算庫,用於編寫涉及大量 tensor 操作的新算法。由於神經網絡可以很容易地表示為計算圖,因此它們可以使用 TensorFlow 作為 tensor 的一系列操作來實現。另外,tensor 是表示數據的 n 維矩陣。

TensorFlow 的特徵

1.快速響應的結構

使用 TensorFlow,我們可以很容易地可視化圖的每個部分,這在使用 Numpy 或 SciKit 時是做不到的。

2.靈活

TensorFlow 的一個非常重要的特性是,它的操作非常靈活。這意味著它具有模塊性,可以讓你把希望獨立出來的部分分出來

3.容易訓練

對於分布式計算來說,它很容易在 CPU 和 GPU 上訓練。

4.並行神經網絡訓練

TensorFlow 提供了管道流,從這個意義上說,你可以訓練多個神經網絡和多個 GPU,這使得模型在大型系統上非常有效。

5.大型社區

不用說,它是由 Google 開發的,已經有一個龐大的軟體工程師團隊在不斷地改進穩定性。

6.開源

這個機器學習庫最好的一個特點是,它是開源的,任何人只要有連接網際網路就可以使用它。

TensorFlow 被用在哪裡?

你每天都在使用 TensorFlow,你使用的 Google Voice Search 或 Google Photos 等應用程式都是使用這個庫開發的。

在 TensorFlow 創建的所有庫都是用 C 和 C++編寫的,但是,它有一個複雜的前端,是用 python 實現的。你的 python 代碼將被編譯,然後在使用 C 和 C++構建的 TensorFlow 分布式執行引擎上執行。

實際上,TensorFlow 的應用是無限的,這就是它美妙的地方。

2.Scikit-Learn


什麼是 Scikit-Learn?

它是一個與 NumPy 和 SciPy 相關聯的 python 庫。它被認為是處理複雜數據的最佳庫之一。

在這個庫中進行了許多修改。其中一個修改是交叉驗證特性,它提供了使用多個度量的能力。許多訓練方法,如物流回歸和最鄰近算法,都沒有得到什麼改善。

Scikit-Learn 的特性

  1. 交叉驗證:有多種方法可以檢查不可見數據上受監督模型的準確性。

  2. 無監督學習算法:同樣,在產品中有大量的算法——從聚類、因子分析、主成分分析到無監督神經網絡

  3. 特徵提取:用於從圖像和文本中提取特徵(例如一段文字)

Scikit Learn 被用在哪裡?

它包含許多實現標準機器學習和數據挖掘任務的算法,如降維、分類、回歸、聚類和模型選擇。

3.Numpy


什麼是 Numpy?

Numpy 被認為是 python 中最流行的機器學習庫之一。

TensorFlow 和其他庫在內部使用 Numpy 對 tensor 執行多個操作。數組接口是 Numpy 的最佳和最重要的特性。

Numpy 的特性

  1. 交互性:Numpy 非常容易理解和使用

  2. 數學性:使複雜的數學實現變得非常簡單

  3. 直觀:真正使編碼變得容易,掌握概念也很容易

  4. 大量接口:廣泛使用,因此有很多開源貢獻者

Numpy 被用在哪裡?

該接口可用於將圖像、聲音和其他二進位原始流表示為 n 維實數數組。

機器學習庫的實現,擁有 Numpy 的知識對於全棧開發人員來說是很重要的。

4.Keras


什麼是 Keras?

Keras 被認為是 python 中最酷的機器學習庫之一。它提供了一種更容易表達神經網絡的機制。Keras 還為編譯模型、處理數據集、圖形可視化等提供了一些最佳實用程序。

在後端,Keras 在內部使用 Theano 或 TensorFlow。也可以使用一些最流行的神經網絡,如 CNTK。當我們將其與其他機器學習庫進行比較時,Keras 的速度相對較慢,因為它使用後端基礎設施創建計算圖,然後利用它執行操作。Keras 的所有模型都很輕簡。

Keras 的特徵

  • 它在 CPU 和 GPU 上都能順利運行。

  • Keras 支持幾乎所有的神經網絡模型——全連接、卷積、池化、循環、嵌入等。此外,這些模型可以結合起來構建更複雜的模型。

  • Keras 本質上是模塊化的,具有難以置信的表現力、靈活性和創新性研究的能力。

  • Keras 是一個完全基於 python 的框架,它使調試和探索變得容易。

Keras 被用在哪裡?

你已經在不斷地與使用 Keras 構建的產品進行交互—Netflix、Uber、Yelp、Instacart、Zocdoc、Square 和許多其他公司都在使用它。它在初創企業中尤其受歡迎,初創企業將深度學習放在其產品的核心位置。

Keras 包含許多常用的神經網絡構建塊的實現,例如層、目標、激活函數、優化器和一系列工具,以使圖像和文本數據的處理更加容易。

此外,它還提供許多預處理的數據集和預訓練的模型,如 MNIST, VGG, Inception, SqueezeNet, ResNet 等。

Keras 也是深度學習研究人員的最愛。大型科學組織,特別是 CERN and NASA 的研究人員尤其偏愛 Keras。

5.PyTorch


什麼是 PyTorch?

PyTorch 是最大的機器學習庫,它允許開發人員以 GPU 的加速度執行 tensor 計算,創建動態計算圖,並自動計算梯度。除此之外,PyTorch 還提供了豐富的 API 來解決與神經網絡相關的應用程式問題。
這個機器學習庫是基於 Torch 的,它是一個用 C 語言實現的開源機器庫,在 Lua 中進行了封裝。

此機器學習庫(python)於 2017 年推出,自其問世以來,該庫越來越受歡迎,並吸引了越來越多的機器學習開發人員。

PyTorch 的特性

一種新的混合前端,提供了易於使用和具有靈活性的 Eager Mode,同時為了速度,無縫過渡到 graph mode,在 C++運行環境中非常實用。

利用本地支持異步執行集體操作和點對點通信(Python 和 C++),優化研究和生產中的性能。

PyTorch 不是一個將 python 綁定到 C++框架的工具。它的構建是為了深入集成到 python 中,以便可以與流行的庫和包(如 Cython 和 Numba)一起使用。

一個由研究人員和開發人員組成的活躍社區已經建立了一個豐富的工具和庫的生態系統,用於擴展 PyTorch 並支持從計算機視覺到強化學習等領域的開發。

PyTorch 被用在哪裡?

PyTorch 主要用於自然語言處理等領域的應用程式。

它主要是由 Facebook 的人工智慧研究小組開發的,Uber 的概率編程軟體「Pyro」就建立在它的基礎之上。

PyTorch 在很多方面都優於 TensorFlow,最近它得到了很多關注。

6.LightGBM


什麼是 LightGBM?

梯度增強是最好的和最流行的機器學習(ML)庫之一,它可以幫助開發人員使用重新定義的基本模型,即決策樹來構建新的算法。因此,有專門的庫可以快速有效地實現這種方法。

這些庫包括 LightGBM, XGBoost 和 CatBoost。這些庫之間存在相互競爭的關係,它們都有助於解決常見問題,可以以幾乎相似的方式使用。

LightGBM 的特點

  • 計算速度快,生產效率高。

  • 直觀,易於使用。

  • 比其他許多深度學習庫更快地訓練。

  • 在遇到 NaN 值和其他規範值時不會產生錯誤。

LightGBM 被用在哪裡?

這個庫提供了高度可擴展、優化和快速的梯度增強實現,這使得它在機器學習開發人員中很受歡迎。大多數機器學習全棧開發人員通過使用這些算法贏得了機器學習競賽。

7.Eli5


什麼是 Eli5?

通常,機器學習模型預測的結果並不準確,python 內置的機器學習庫 Eli5 有助於克服這一挑戰。它是可視化和調試所有機器學習模型的組合,並跟蹤算法的所有工作步驟。

Eli5 的特點

此外,Eli5 還支持其他庫,包括 xgboost、lightning、scikit-learn 和 sklearn-crfsite。所有上述庫中額每一個都可以執行不同的任務。

Eli5 被用在哪裡?

8.SciPy


什麼是 SciPy?

SciPy 是一個面向應用程式開發人員和工程師的機器學習庫。但是,你仍然需要知道 SciPy 庫和 SciPy 堆棧之間的區別。SciPy 庫包含用於優化、線性代數、集成和統計的模塊。

SciPy 的特點

SciPy 庫的主要特點是它是使用 Numpy 開發的,它的數組充分利用了 Numpy。

此外,SciPy 還使用其特定的子模塊提供了所有有效的數值程序,如優化、數值積分和許多其他程序。

所有 SciPy 子模塊中的所有功能都有具體的文檔注釋。

SciPy 被用在哪裡?

SciPy 是一個使用 Numpy 來解數學函數的庫。SciPy 使用 Numpy 數組作為基本數據結構,並附帶用於科學編程中各種常用任務的模塊。

SciPy 可以輕鬆地處理線性代數、積分(微積分)、常微分方程求解和信號處理等任務。

9.Theano


什麼是 Theano?

Theano 是一個用於計算多維數組的計算框架機器學習庫。它的工作原理與 TensorFlow 相似,但不如 TensorFlow 有效,因為它無法適應生產環境。

此外,Theano 也可以在與 TensorFlow 類似的分布式或並行環境中使用。

Theano 的特點

  • 與 Numpy 緊密集成——能夠在無編譯函數中使用完整的 Numpy 數組

  • 高效地使用 GPU——比 CPU 執行數據密集型計算要快得多

  • 有效的符號區分——Theano 為具有一個或多個輸入的函數求導數

  • 速度和穩定性優化——即使在 x 非常小的情況下,也能求出 log(1+x)的正確答案。這只是一個可以證明 Theano 穩定性的例子

  • 動態 C 代碼生成——比以前更快地評估表達式,從而大大提高效率

  • 廣泛的單元測試和自驗證—檢測和診斷模型中多種類型的歧義和錯誤

Theano 被用在哪裡?

Theano 表達式的實際語法是符號化的,這對於習慣於常規軟體開發的初學者來說是很不方便的。具體來說,表達式是以抽象的方式定義、編譯的,然後直接用於計算。

它是專門為處理深度學習使用的大型神經網絡算法所需的計算而設計的。它是同類庫中最早的一個(在 2007 年就開始開發了),被認為是深度學習研究和開發的行業標準。

Theano 目前正被用於多個神經網絡項目中,而且隨著時間的推移,Theano 的普及率也在不斷提高。

20.Pandas


什麼是 Pandas?

Pandas 是 Python 中的一個機器學習庫,它提供高級的數據結構和各種各樣的分析工具。這個庫的一個重要特性是能夠使用一個或兩個命令轉換複雜的數據操作。Pandas 有許多內置的分組、數據組合、過濾和時間序列功能的函數。

Pandas 的特徵

Pandas 確保了整個數據處理的過程更加容易。對諸如重索引、迭代、排序、聚合、連接和可視化等操作的支持是 Pandas 的特色亮點之一。

Pandas 被用在哪裡?

目前,Pandas 庫的版本較少,其中包括數百個新功能、錯誤修復、增強和 API 更改。Pandas 的改進在於它能夠對數據進行分組和排序,為使用的方法選擇最適合的輸出,並為執行自定義類型的操作提供支持。

當使用 Pandas 的時候,數據分析佔了很大的比重。但是,當與其他庫和工具一起使用時,Pandas 確保了高性能和良好的靈活性。

python 中的 10 大頂級 機器學習庫的介紹就到這裡啦,希望本文能夠幫助你開始學習 python 中可用的庫。

Via:https://dzone.com/articles/top-10-python-libraries-you-must-know-in-2019

雷鋒網(公眾號:雷鋒網)雷鋒網

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 2019年必知的10大頂級Python庫
    我們將討論以下 10 個庫:TensorFlowScikit-LearnNumpyKerasPyTorch然而,最重要的一點是它有大量的庫供用戶使用。python 的簡單性吸引了許多開發人員為機器學習創建新的庫。由於有大量的庫,python 在機器學習專家中變得非常流行。所以,這裡要介紹的第一個庫是 TensorFlow。1.TensorFlow
  • Python開發者必知的 11 個 Python GUI 庫,你用過幾個?
    Python開發者必知的 11 個 Python GUI 庫,你用過幾個? 當你使用python編寫應用程式時,你就一定要使用GUI。Python GUI的選擇有很多。目前來說,Python GUI程序庫有30多個跨平臺框架。現在就列出其我認為最好的11個.
  • 如何在Visual Studio開發工具安裝python庫
    工具Visual Studio 2019python環境pip工具>技術pythonDjango在python語言開發工具的pycharm中,可以安裝第三方庫。那麼,在Visual Studio開發工具中,如何安裝python第三方庫呢?下面利用實例說明:操作步驟:1、打開Visual Studio 2019開發工具,創建python項目
  • Python第三方庫安裝
    1. pip安裝1.1 如何查找第三方庫Python社區可以查找第三方庫的,其頁面如圖所示:pypi.org其中PyPI: Python Package Index是由PSF維護的展示全球Python計算生態的主站如要安裝圖像處理opencv-python
  • Python常用庫大全
    ptpython – 高級交互式Python解析器, 構建於python-prompt-toolkit 之上。 python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 接口。
  • 掌握了這24個頂級Python庫,你就是大神!
    以下是三個用於提取和收集數據的Python庫:Beautiful Soup收集數據的最佳方式之一就是抓取網站(當然是以合乎道德和法律的手段!)徒手做這件事需要耗費大量的勞動和時間。Beautiful Soup無疑是一大救星。
  • 關於深度學習、NLP和計算機視覺的30個頂級Python庫
    圖1:深度學習,自然語言處理和計算機視覺的頂級Python庫按星級和貢獻者數量繪製;按提交數的對數表示相對大小那麼事不宜遲 ,下面就是由KDnuggets員工精心挑選的30個可用於深度學習,自然語言處理和計算機視覺頂級Python庫。
  • 那些讓人驚豔的Python庫
    每一門技藝都是入門容易熟悉難,越是了解,越是感覺到自己的欠缺,在python博大精深的世界裡,這些蔚為壯觀的python庫,也只能算是滄海一粟。python-prompt-toolkit–一個用於構建強大的交互式命令行程序的庫。aws-cli–Amazon Web Services的通用命令行界面。bashplotlib–在終端中進行基本繪圖。caniusepython3–判斷是哪個項目妨礙你你移植到Python3。
  • Python 機器學習庫 Top 10,你值得擁有!
    Python 在眾多開發者中如此受追捧的原因之一便是其擁有大量的與機器學習相關的開源框架以及工具庫,本文介紹了其中最受歡迎的10大Python庫。原文:https://hackernoon.com/top-10-libraries-in-python-to-implement-machine-learning-12602cf5dc61
  • Python爬蟲入門之請求庫的安裝
    請求庫的安裝爬蟲可以簡單地分為幾步:抓取頁面、分析頁面和存儲數據。在抓取頁面的過程中,我們需要模擬瀏覽器向伺服器發出請求,所以需要用到一些python庫來實現HTTP請求操作。在爬蟲的講解過程中,我們將用到的第三方庫有requests、Selenium和aiohttp等。我們將先介紹這些請求庫的方法。
  • 讓所有程式設計師絕不能錯過的59個Python庫總結!
    Python有以下三個特點:易用性和靈活性全行業高接受度:Python無疑是業界最流行的數據科學語言用於數據科學的Python庫的豐富數量優勢本文介紹了python人最常用的59個python庫。一起來看看吧~用於數據收集的Python庫1.
  • 一文總結數據科學家常用的Python庫(下)
    (https://www.analyticsvidhya.com/blog/2015/01/scikit-learn-python-machine-learning-tool/)/* TensorFlow */TensorFlow由Google開發,是一個流行的深度學習庫
  • SQL、Python是什麼?需要多久去學習
    SQL必知必會推薦資料:《SQL必知必會》(書),這裡面的SQL語句和資料庫的背景知識,都是非常全面的,基本可以當做手頭的一本工具書,有不會的知識可以隨時翻閱它程式語言就跟學習一門外語一樣,學習周期是比較長的,而且需要學習的內容也比較多,但是我們要知道的是,作為數據分析,我們只要關注python關於數據處理的過程就夠了,比如做用戶行為路徑分析的時候,這個時候就需要的分析數據是海量的,Excel打不開,SQL跑不動,這個時候就需要Python閃亮登場。python學習主要包括三個部分。
  • 難道是Excel和Python不好嗎?數據分析為什麼非要用BI工具?
    我們今天主要是說Excel和python.為什麼我們拋掉了excel選擇了python呢?Python有很多優點,如果你能很好地運用到工作中,會發現工作效率大大提升,連我們的最終目標漲薪也不過是水到渠成的事情。1.
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • python應用篇-大數據和人工智慧時代下,python牛在哪?
    你要是沒聽說過AI、機器學習、python……這些名詞,過幾年都會覺得自己快要跟不上時代了。那這麼重要的一個領域,我來說下,為什麼如果你想在AI這個行業混,就一定會用到python數據分析,這個有什麼用處。
  • Python新手都可以做的爬蟲,抓取網上 OJ 題庫信息
    最近有朋友在做 OJ 題庫,順手做個小爬蟲,導出一份題庫列表來看看!目標:浙江大學題庫工具:python3.6,requests 庫、lxml 庫、pycharm思路:先找到網頁中題庫所在的位置然後我們點擊第一頁和後面幾頁,看看 url 的變化發現規律了嗎?
  • 良心整理15個超級Python庫,不要錯過!
    它在開發人員中流行的原因有很多,最重要的一點就是它有大量的庫供用戶使用。Python 的易用性、靈活性吸引了許多開發人員為機器學習創建新的庫。有一個庫大家必都會介紹,就是TensorFlow,這裡就不多說了。
  • 「年度盤點」10大最熱門Python練習項目
    這10個項目,約有270000人學習過。今天給大家盤點一下實驗樓最熱門的10個Python練習項目。10. Python 氣象數據分析當前學習人數:10506。該項目對義大利北部沿海地區的氣象數據進行分析與可視化。通過學習對數據進行清理,然後運用 Python 中 matplotlib 模塊的對數據進行可視化處理,最終從清晰的圖表中得出我們的結論。
  • 如何快速簡單的安裝opencv-python
    安裝環境(python3.6+Win10)下載安裝python3.6.8https://www.python.org/downloads/windows/幸好,國內的一些頂級科研機構已經給我們準備好了各種鏡像,下載速度可達2MB/s。