免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
圖解Numpy精翻版,一文帶你入門Python數(shù)據(jù)處理

本文精心翻譯自Jay Alammar的博客:https://jalammar.github.io/visual-numpy/,其用圖解的方式詳細(xì)介紹了 NumPy的功能和使用示例。

NumPy 是 Python 生態(tài)中數(shù)據(jù)分析、機(jī)器學(xué)習(xí)和科學(xué)計(jì)算的基礎(chǔ)。它極大地簡(jiǎn)化了向量和矩陣的操作處理。Python 的一些主要軟件包(如 scikit-learn、SciPy、pandas 和 tensorflow)都以 NumPy 作為其架構(gòu)的基礎(chǔ)部分。除了能對(duì)數(shù)值數(shù)據(jù)進(jìn)行切片(slice)和切塊(dice)之外,使用 NumPy 還能為處理和調(diào)試上述庫(kù)中的高級(jí)實(shí)例帶來(lái)極大的便利。

本文將介紹 NumPy 的一些主要方法,以及在將數(shù)據(jù)送入機(jī)器學(xué)習(xí)模型之前,numpy是如何表示不同類型數(shù)據(jù)(表格、圖像、文本等)的。

import numpy as np

創(chuàng)建數(shù)組

通過(guò)傳遞一個(gè) python 列表,并使用 np.array()來(lái)創(chuàng)建 NumPy 數(shù)組。python 創(chuàng)建的數(shù)組如下圖右所示:

NumPy 提供了一些初始化數(shù)組的方法,例如 ones()、zeros() 和 random.random() 等方法。只要傳遞希望 NumPy 生成的元素維數(shù)即可:

一旦創(chuàng)建了數(shù)組,就可以隨意操作啦。

數(shù)組運(yùn)算

下面創(chuàng)建兩個(gè) NumPy 數(shù)組來(lái)展示數(shù)組運(yùn)算功能。下圖兩個(gè)數(shù)組分別為 data 和 ones:

將它們按位置相加(即每行對(duì)應(yīng)相加),直接輸入 data + ones 即可:

除了加,還可以進(jìn)行如下操作:

數(shù)組和單個(gè)數(shù)字之間也可以進(jìn)行運(yùn)算操作(即向量和標(biāo)量之間的運(yùn)算)。比如說(shuō),數(shù)組表示以英里為單位的距離,希望將其單位轉(zhuǎn)換為千米。只需輸入 data * 1.6 即可:

NumPy 是通過(guò)廣播機(jī)制(broadcasting)來(lái)實(shí)現(xiàn)的,通過(guò)判斷維數(shù),來(lái)推測(cè)要進(jìn)行的運(yùn)算。

索引

可以像對(duì) python 列表進(jìn)行切片一樣,對(duì) NumPy 數(shù)組進(jìn)行任意的索引和切片:

聚合

NumPy 還提供聚合功能:

除了 min、max 和 sum 之外,還可以使用 mean 得到平均值,使用 prod 得到所有元素的乘積,使用 std 得到標(biāo)準(zhǔn)差等等。

更多維度

上述的例子都是在一個(gè)維度上處理向量。NumPy 優(yōu)雅的關(guān)鍵在于能夠?qū)⑸鲜鏊蟹椒☉?yīng)用到任意數(shù)量的維度。

創(chuàng)建矩陣

可以傳遞下列形狀的 python 列表,使 NumPy 創(chuàng)建一個(gè)矩陣來(lái)表示它:

np.array([[1,2],[3,4]])

也可以使用上面提到的方法(ones()、zeros() 和 random.random()),只要傳入一個(gè)描述創(chuàng)建的矩陣維數(shù)的元組即可:

矩陣運(yùn)算

如果兩個(gè)矩陣大小相同,可以使用算術(shù)運(yùn)算符(+-*/)對(duì)矩陣進(jìn)行加和乘。NumPy 將其視為 position-wise 運(yùn)算:

也可以對(duì)不同大小的兩個(gè)矩陣執(zhí)行此類算術(shù)運(yùn)算,但前提是某一個(gè)維度為 1(如矩陣只有一列或一行),在這種情況下,NumPy 使用廣播規(guī)則執(zhí)行算術(shù)運(yùn)算:

點(diǎn)乘

算術(shù)運(yùn)算和矩陣運(yùn)算的一個(gè)關(guān)鍵區(qū)別是矩陣乘法使用點(diǎn)乘。NumPy 為每個(gè)矩陣賦予 dot() 方法,可以用它與其他矩陣執(zhí)行點(diǎn)乘操作:

在上圖的右下角添加了矩陣維數(shù),來(lái)強(qiáng)調(diào)這兩個(gè)矩陣的臨近邊必須有相同的維數(shù)??梢园焉鲜鲞\(yùn)算視為:

矩陣索引

當(dāng)處理矩陣時(shí),索引和切片操作將更加有用:

矩陣聚合

可以像聚合向量一樣聚合矩陣:

不僅可以聚合矩陣中的所有值,還可以使用 axis 參數(shù)執(zhí)行跨行或跨列聚合:

轉(zhuǎn)置和維度重塑

處理矩陣時(shí)的一個(gè)常見(jiàn)需求是旋轉(zhuǎn)矩陣。當(dāng)需要對(duì)兩個(gè)矩陣執(zhí)行點(diǎn)乘運(yùn)算并對(duì)齊它們共享的維度時(shí),通常需要進(jìn)行轉(zhuǎn)置。NumPy 數(shù)組有一個(gè)方便的方法 T 來(lái)求得矩陣轉(zhuǎn)置:

在某些應(yīng)用中,需要對(duì)特定矩陣的變換維度。在機(jī)器學(xué)習(xí)應(yīng)用中,經(jīng)常會(huì)有當(dāng)某個(gè)模型對(duì)輸入形狀的要求與的數(shù)據(jù)集不同。NumPy 中的 reshape() 方法就可以發(fā)揮作用。只需將矩陣所需的新維度賦值給它即可??梢詾榫S度賦值-1,NumPy 可以根據(jù)的矩陣推斷出正確的維度:

更多維度

NumPy 可以在任意維度實(shí)現(xiàn)上述提到的所有內(nèi)容。其中心數(shù)據(jù)結(jié)構(gòu)被叫作 ndarray(N 維數(shù)組)。

在很多情況下,處理一個(gè)新的維度只需在 NumPy 函數(shù)的參數(shù)中添加一個(gè)逗號(hào):

實(shí)際用法

以下是 NumPy 可實(shí)現(xiàn)的有用功能的實(shí)例演示。

公式

均方差公式,它是監(jiān)督機(jī)器學(xué)習(xí)模型處理回歸問(wèn)題的核心:

在 NumPy 中實(shí)現(xiàn)該公式很容易:

這樣做的好處在于,NumPy 并不關(guān)心 predictions 和 labels 包含一個(gè)值還是一千個(gè)值(只要它們大小相同)??梢酝ㄟ^(guò)一個(gè)示例依次執(zhí)行上面代碼行中的四個(gè)操作:

預(yù)測(cè)和標(biāo)簽向量都包含三個(gè)值,也就是說(shuō) n 的值為 3。減法后,得到的值如下:

然后將向量平方得到:

對(duì)這些值求和:

得到的結(jié)果即為該預(yù)測(cè)的誤差值和模型質(zhì)量評(píng)分。

數(shù)據(jù)表達(dá)

電子表格、圖像、音頻等需要處理和構(gòu)建模型所需的數(shù)據(jù)類型,其中很多都適合在 n 維數(shù)組中表示:

表格

電子表格就是二維矩陣。電子表格中的每個(gè)工作表都可以是它自己的變量。python 中最流行的表格抽象是 pandas 數(shù)據(jù)幀,其在 NumPy 之上構(gòu)建。

音頻

音頻文件是樣本的一維數(shù)組。每個(gè)樣本都是一個(gè)數(shù)字,代表音頻信號(hào)的一小部分。CD 質(zhì)量的音頻每秒包含 44,100 個(gè)樣本,每個(gè)樣本是-65535 到 65536 之間的整數(shù)。這意味著如果有一個(gè) 10 秒的 CD 質(zhì)量 WAVE 文件,可以將它加載到長(zhǎng)度為 10 * 44,100 = 441,000 的 NumPy 數(shù)組中。如果想要提取音頻的前一秒,只需將文件加載到 audio 的 NumPy 數(shù)組中,然后獲取 audio[:44100]。

下面是一段音頻文件:

其他時(shí)間序列數(shù)據(jù)也可以同樣表示(如股票隨時(shí)間變化的價(jià)格)。

圖像

圖像是尺寸(高度 x 寬度)的像素矩陣。

如果圖像是黑白(即灰度)的,則每個(gè)像素都可以用單個(gè)數(shù)字表示(通常在 0(黑色)和 255(白色)之間)。

下圖是一個(gè)圖像文件的部分:

如果圖像是彩色的,則每個(gè)像素由三個(gè)數(shù)字表示———紅、綠和藍(lán)。在這種情況下,需要一個(gè)三維數(shù)組(因?yàn)槊總€(gè)單元格只能包含一個(gè)數(shù)字)。因此彩色圖像由尺寸為(高 x 寬 x3)的 ndarray 表示:

著作權(quán)歸作者所有
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
圖解NumPy,這是理解數(shù)組最形象的一份教程了
必須要懂的機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)最流行的Python庫(kù)——NumPy
看圖學(xué)NumPy:掌握n維數(shù)組基礎(chǔ)知識(shí)點(diǎn),看這一篇就夠了
NumPy最生動(dòng)形象的教程
人工智能基礎(chǔ)課堂紀(jì)要2
[Python學(xué)習(xí)] python 科學(xué)計(jì)算庫(kù)NumPy
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服