自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

流行的 Python 機器學(xué)習(xí)庫的趨勢和比較

人工智能 機器學(xué)習(xí)
Python 是全球最流行的編程語言之一,擁有越來越多的庫和框架。看看最新的。

Python 是全球最流行的編程語言之一,擁有越來越多的庫和框架。看看最新的。

Python 是全球最流行的編程語言之一,擁有越來越多的庫和框架來促進 AI 和ML 開發(fā)。Python 中有超過 250 個庫,要知道哪個庫最適合您的項目并跟上所有這些庫帶來的技術(shù)變化和趨勢,可能會有點令人困惑。

下面是我使用過的流行的 Python 機器學(xué)習(xí)庫。我盡我所能根據(jù)哪些場景使用它們來對它們進行分類。除了這些之外,還有很多庫,但我無法談?wù)撐覜]有使用過的庫,我認為這些是使用最多的庫。

NumPy

NumPy 是一個眾所周知 的通用數(shù)組處理包,與其他機器學(xué)習(xí)包不同。對于 n 維數(shù)組(向量、矩陣和高階矩陣),NumPy 提供了高性能(本機編譯)支持和對各種操作的支持。它支持向量化操作,特別是,將 Python 表達式轉(zhuǎn)換為低級代碼調(diào)度,隱式循環(huán)跨數(shù)據(jù)的不同子集。

NumPy 函數(shù)

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

函數(shù)的 start 和 stop 參數(shù)都是必需的,它們返回的值均勻分布在預(yù)定的時間間隔內(nèi)。

  • numpy.repeat

使用 numpy.repeat(a, repeats, axis=None) 方法重復(fù)數(shù)組的元素。第二個輸入重復(fù)指定重復(fù)次數(shù)。

  • numpy.random.randint

函數(shù) numpy.random.randint(low, high=None, size=None, dtype='l') 從 [low, high] 返回隨機整數(shù)。如果高參數(shù)不存在(無),則從范圍 [0, low] 中選擇隨機數(shù)。

為什么 Numpy 如此受歡迎?

簡而言之,NumPy 優(yōu)化和預(yù)編譯的 C 代碼可以處理所有繁重的工作,使其比標準Python 數(shù)組更快。

NumPy 使科學(xué)計算中經(jīng)常使用的許多數(shù)學(xué)程序變得快速且易于使用。

Pandas

Pandas 正迅速成為使用最廣泛的 Python 數(shù)據(jù)分析庫,因為它支持處理“關(guān)系”和“標記”數(shù)據(jù)的快速、適應(yīng)性和表達性數(shù)據(jù)結(jié)構(gòu)。存在需要 Pandas 的實際和現(xiàn)實世界的 Python 數(shù)據(jù)分析問題。Pandas 提供徹底優(yōu)化和高度可靠的性能。只有 C 或 Python 用于純粹編寫后端代碼。

一些Pandas功能

pd.read_csv, pd.read_excel

要提到的第一個函數(shù)是 read_csv 或 read_excel。這些功能已經(jīng)提供了清晰的解釋。我利用它們將 CSV 或 Excel 文件中的數(shù)據(jù)讀取為 pandas DataFrame 格式。

df = pd.read_csv("PlayerStat.csv")

.read csv() 函數(shù)還可以使用以下語法讀取 .txt 文件:

data = pd.read_csv(file.txt, sep=" ")
  • df.query()

布爾表達式可以過濾或查詢數(shù)據(jù)。我可以使用查詢函數(shù)作為字符串應(yīng)用過濾條件。與許多其他程序相比,它提供了更多的自由。

df.query("A > 4")

僅返回 A 大于 4 的行。

  • df.iloc()

我將行和列索引作為參數(shù)傳遞給該函數(shù),該函數(shù)返回 DataFrame 的適當(dāng)子集。

  • df[‘’].dtypes

另一個非?;A(chǔ)和流行的功能。在開始任何分析、可視化或預(yù)測建模之前,必須知道變量的數(shù)據(jù)類型。使用這種技術(shù),您可以獲得每一列的數(shù)據(jù)類型。

  • df.dtypes

Pandas vs Vaex

Vaex Python 是 Pandas 庫的替代品,它使用 Out of Core Dataframe 更快地計算大量數(shù)據(jù)。為了查看和研究大型表格數(shù)據(jù)集,Vaex 是一個高性能 Python 模塊,用于惰性核心外數(shù)據(jù)幀(類似于 Pandas)。每秒可以使用簡單的統(tǒng)計數(shù)據(jù)計算超過 10 億行。它支持各種可視化,允許大量交互式數(shù)據(jù)探索。

TensorFlow

TensorFlow 是由 Google創(chuàng)建和發(fā)布的用于快速數(shù)值計算的 Python 庫 。Tensorflow 使用與 Theano 有所不同的語言和函數(shù)名稱,這可能會使從 Theano 的切換變得比它必須的更復(fù)雜。然而,Tensorflow 中的整個計算圖的運行方式與 Theano 中的類似,具有相同的優(yōu)點和缺點。即使對計算圖的修改對性能有重大影響,Tensorflow 的 eval 函數(shù)也只是讓觀察中間狀態(tài)變得稍微容易一些。與幾年前的 Theano 和 Caffe 相比,Tensorflow 是首選的深度學(xué)習(xí)技術(shù)。

TensorFlow 內(nèi)置函數(shù)

  • tf.zeros_like

該函數(shù)的輸出是一個與輸入張量具有相同類型和形狀但值為零的張量。

tensor = tf.constant( I[1, 2, 3], [4, 5, 6]])
tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]

從輸入圖像創(chuàng)建黑色圖像時,此功能可能會有所幫助。如果您希望直接定義表單,請使用 tf.zeros。如果您更喜歡初始化 1 而不是 0,請使用 tf.ones_like。

  • tfpad

用常數(shù)值在其周圍添加指定的填充以增加張量的維度。

  • tf.enable_eager_execution

這可以在您運行 TensorFlow 應(yīng)用程序時幫助您。使用 Eager Execution 時,您不需要在會話中構(gòu)建和運行圖。這是有關(guān)急切執(zhí)行的更多信息。

“Eager execution”必須是導(dǎo)入 TensorFlow 后的第一條語句。

TensorFlow 與 PyTorch

Torch 的 Python 實現(xiàn) Pytorch 得到 Facebook 的支持。它通過提供即時圖形編譯與上述技術(shù)競爭,通過不將圖形視為不同和不透明的對象,使 Pytorch 代碼與周圍的 Python 更加兼容。相反,有許多靈活的技術(shù)可以即時構(gòu)建張量計算。此外,它表現(xiàn)良好。它具有強大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然適用于更大規(guī)模的分布式系統(tǒng)。雖然 Pytorch 的 API 文檔齊全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影響性能的情況下在靈活性和可用性方面取得了勝利,這無疑迫使 Tensorflow 重新思考和調(diào)整。Tensorflow 最近受到 Pytorch 的嚴重挑戰(zhàn),

Keras

Keras 是一個開源軟件庫,為人工神經(jīng)網(wǎng)絡(luò)提供 Python 接口。由于 Keras 名義上是獨立于引擎的,所以理論上 Keras 代碼可以被重用,即使引擎需要因性能或其他因素而改變。它的缺點是,當(dāng)您希望創(chuàng)建非常新穎或?qū)I(yè)的架構(gòu)時,通常需要在 Keras 層下使用 Tensorflow 或 Theano。這主要發(fā)生在您需要使用復(fù)雜的 NumPy 索引時,這對應(yīng)于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子張量。

Keras 函數(shù)

  • 評估與預(yù)測

在 Keras 中,evaluate() 和 predict() 都可用。這些技術(shù)可以利用 NumPy 數(shù)據(jù)集。當(dāng)數(shù)據(jù)經(jīng)過測試后,我完成了對結(jié)果的評估。我使用這些技術(shù)來評估我們的模型。

  • Keras 中的圖層

每個 Keras 層都包含許多技術(shù)。這些層有助于構(gòu)建、配置和訓(xùn)練數(shù)據(jù)。密集層有助于操作實現(xiàn)。我使用 flat 展平了輸入。Dropout 啟用輸入丟失。我可以使用重塑工具重塑輸出。我使用輸入啟動了一個 Keras 張量。

您可以獲得中間層的輸出。

一個相當(dāng)簡單的庫是 Keras。它使得從層的中間層獲取輸出成為可能。您可以輕松地向現(xiàn)有層添加一個新層,以幫助您在中間獲得輸出。

Theano

Theano 是一個 Python 庫和優(yōu)化編譯器,用于操作和評估數(shù)學(xué)表達式,尤其是矩陣值表達式。作為最古老和最成熟的,為 Theano 提供了優(yōu)勢和劣勢。大多數(shù)用戶請求的功能都已添加,因為它是舊版本。但是,其中一些實現(xiàn)有點過于復(fù)雜且難以使用,因為沒有先例可循。該文檔是可以通過但模棱兩可的。由于沒有簡單的方法來檢查中間計算,因此在 Theano 中讓復(fù)雜的項目正常運行可能非常具有挑戰(zhàn)性。他們通常使用調(diào)試器或通過查看計算圖來進行調(diào)試。

Theano 函數(shù)

  • 聲明變量

我用 dscalar 方法聲明了一個十進制標量變量。當(dāng)下面的語句運行時,它會在您的程序代碼中添加一個名為 C 的變量。

C = tensor.dscalar()
  • 定義 Theano 函數(shù)

該函數(shù)接受兩個參數(shù),第一個是輸入,第二個是函數(shù)的輸出。根據(jù)下面的聲明,第一個參數(shù)是一個包含 C 和 D 兩項的數(shù)組。結(jié)果是一個標量單位,指定為 E。

f = theano.function([C,D], E)

結(jié)論

我見過一個高技能的 Python 程序員迅速掌握新庫的精妙之處并了解如何使用它。但是,無論是初學(xué)者、中級還是專家,選擇一種編程語言還是在這種情況下選擇一個庫而不是另一個庫,很大程度上取決于您項目的目標和需求。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2017-04-25 17:29:24

2016-11-03 09:19:04

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

2019-02-27 08:00:00

機器學(xué)習(xí)編程語言框架

2012-12-20 11:13:58

IBMdW

2017-06-27 09:43:43

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

2020-03-23 11:56:44

人工智能

2022-08-29 17:12:07

人工智能機器學(xué)習(xí)Android

2016-12-05 14:37:25

人工智能機器學(xué)習(xí)

2024-11-29 12:00:00

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

2016-11-15 15:02:00

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

2020-08-19 09:20:00

機器學(xué)習(xí)人工智能Python

2020-12-03 08:01:42

機器學(xué)習(xí)人工智能AI

2020-12-08 13:42:41

機器學(xué)習(xí)人工智能

2020-02-11 14:10:18

機器學(xué)習(xí)人工智能設(shè)計

2020-08-08 08:20:05

技術(shù)互聯(lián)網(wǎng)冠狀病毒

2020-10-30 10:23:14

機器學(xué)習(xí)趨勢范式

2018-09-18 09:00:28

人工智能機器學(xué)習(xí)

2022-08-15 10:21:44

機器學(xué)習(xí)人工智能

2022-04-20 10:28:12

機器學(xué)習(xí)深度學(xué)習(xí)人工智能

2023-01-13 15:31:31

點贊
收藏

51CTO技術(shù)棧公眾號