numpy reshape 理解和使用

1. 圖像數(shù)據(jù)轉(zhuǎn)結(jié)構(gòu)化數(shù)據(jù)

在機(jī)器學(xué)習(xí)中瘾杭,圖像的結(jié)構(gòu)一般是(RGB)三個(gè)通道的,每個(gè)通道包括了它的(nrows, ncols).對(duì)應(yīng)圖像的長(zhǎng)(行數(shù))和寬(列數(shù))。 我們把圖像每個(gè)像素點(diǎn)看作一個(gè)特征值點(diǎn)。那么根據(jù)我們研究的問(wèn)題抒抬,比如基本的MNIST數(shù)字分類問(wèn)題,由于它是一個(gè)圖像對(duì)應(yīng)一個(gè)標(biāo)簽晤柄, 如下圖所示:


MNIST

我們發(fā)現(xiàn)這樣的一個(gè)圖像對(duì)應(yīng)一個(gè)標(biāo)簽的分類問(wèn)題擦剑,在結(jié)構(gòu)化數(shù)據(jù)的情況下, 往往將所有的像素點(diǎn)作為一個(gè)特征變量芥颈, 那么對(duì)于MNIST的圖像特征變量就是784個(gè)惠勒。

對(duì)于回歸問(wèn)題中,比如一般遙感領(lǐng)域爬坑,如下圖所示:


remote sensing

每個(gè)圖像通道可以理解為1個(gè)波段纠屋,那么我們使用就會(huì)是多個(gè)圖像對(duì)應(yīng)一個(gè)圖像,這個(gè)的圖像可以作為預(yù)測(cè)的圖像盾计。那么這里的特征選擇的時(shí)候就不再使用整個(gè)圖像像素作為不同的特征售担,而是將不同的波段作為特征,上圖的特征數(shù)目就是N個(gè)闯估, 那么對(duì)應(yīng)位置的像素提取之后就可以作為一組樣本灼舍。這樣實(shí)現(xiàn)圖像數(shù)據(jù)轉(zhuǎn)結(jié)構(gòu)化數(shù)據(jù)。

在數(shù)據(jù)轉(zhuǎn)化的過(guò)程中涨薪,我們一般使用numpy.reshape()進(jìn)行數(shù)據(jù)轉(zhuǎn)化。這里進(jìn)行相應(yīng)的演示炫乓。

1. MNIST分類圖像

我們發(fā)現(xiàn)numpy中是按將數(shù)據(jù)展開刚夺,并且按照展開和

### 原始圖像
>>> a = np.random.randn(2,3,)
>>> a
array([[ 1.61849466, -1.34764714, -0.19880315],
       [ 2.48284474, -0.05315652, -0.02863857]])
### 展開
>>> b = a.reshape(1,6)
>>> b
array([[ 1.61849466, -1.34764714, -0.19880315,  2.48284474, -0.05315652,
        -0.02863857]])
### 恢復(fù)
>>> c = b.reshape(2,3)
>>> c
array([[ 1.61849466, -1.34764714, -0.19880315],
       [ 2.48284474, -0.05315652, -0.02863857]])

2. 多波段遙感圖像

np.random.seed(0)

#### a 兩個(gè)通道  3*2 , 按照 行 優(yōu)先展開,第一個(gè)通道的圖像每個(gè)像素相當(dāng)于第一特征變量的所有值末捣,
####  第二個(gè)通道相當(dāng)于第二個(gè)特征變量所有值侠姑,依次類推
nrows = 3
ncols = 2
a = np.random.randn(2,nrows,ncols)
print('a:')
print(a)
>>>
a:
[[[ 1.76405235  0.40015721]
  [ 0.97873798  2.2408932 ]
  [ 1.86755799 -0.97727788]]

 [[ 0.95008842 -0.15135721]
  [-0.10321885  0.4105985 ]
  [ 0.14404357  1.45427351]]]

#### reshape 轉(zhuǎn)化為離散變量,相當(dāng)于每個(gè)通道的對(duì)應(yīng)位置的像素組合成一個(gè)樣本(也就是一個(gè)樣本 6個(gè)特征)
b = a.reshape(2, nrows * ncols)
print('\nb:')
print(b)
>>>
b:
[[ 1.76405235  0.40015721  0.97873798  2.2408932   1.86755799 -0.97727788]
 [ 0.95008842 -0.15135721 -0.10321885  0.4105985   0.14404357  1.45427351]]

### 轉(zhuǎn)置之后相當(dāng)于分離了樣本的(樣本數(shù)目箩做,特征數(shù))并且位置一一對(duì)應(yīng)
print('\nb transpose:')
print(b.T)
>>>
b transpose:
[[ 1.76405235  0.95008842]
 [ 0.40015721 -0.15135721]
 [ 0.97873798 -0.10321885]
 [ 2.2408932   0.4105985 ]
 [ 1.86755799  0.14404357]
 [-0.97727788  1.45427351]]

#### 定義一個(gè)c與 b.T 做點(diǎn)積運(yùn)算   d = b.T * c莽红,這樣對(duì)應(yīng)樣本量的值, 類似樣本量個(gè)預(yù)測(cè)值
c = np.array([[1,2],
              [2, 3]])

d = np.dot(b.T, c)
#### 輸出對(duì)應(yīng)的預(yù)測(cè)值 
print('\nd:')
print(d)
>>>
d:
[[3.66422918 6.37836994]
 [0.09744279 0.34624279]
 [0.77230028 1.64781941]
 [3.0620902  5.7135819 ]
 [2.15564513 4.16724669]
 [1.93126913 2.40826476]]

print('\n d reshape:')

#### 重新reshape 對(duì)應(yīng)位置的值不變
print(d.T.reshape(2,nrows,ncols))
>>>
d reshape:
[[[3.66422918 6.37836994]
  [0.09744279 0.34624279]
  [0.77230028 1.64781941]]

 [[3.0620902  5.7135819 ]
  [2.15564513 4.16724669]
  [1.93126913 2.40826476]]]

3. 總結(jié)

  1. numpy中的數(shù)據(jù)處理是按行操作。
  2. 根據(jù)我們的需求將圖像數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)安吁。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子接奈,更是在濱河造成了極大的恐慌师骗,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妇智,死亡現(xiàn)場(chǎng)離奇詭異滥玷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)巍棱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門惑畴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人航徙,你說(shuō)我怎么就攤上這事如贷。” “怎么了捉偏?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵倒得,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我夭禽,道長(zhǎng)霞掺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任讹躯,我火速辦了婚禮菩彬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘潮梯。我一直安慰自己骗灶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布秉馏。 她就那樣靜靜地躺著耙旦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪萝究。 梳的紋絲不亂的頭發(fā)上免都,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音帆竹,去河邊找鬼绕娘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛栽连,可吹牛的內(nèi)容都是我干的险领。 我是一名探鬼主播侨舆,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼绢陌!你這毒婦竟也來(lái)了挨下?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤下面,失蹤者是張志新(化名)和其女友劉穎复颈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沥割,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡耗啦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了机杜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帜讲。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖椒拗,靈堂內(nèi)的尸體忽然破棺而出似将,到底是詐尸還是另有隱情,我是刑警寧澤蚀苛,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布在验,位于F島的核電站,受9級(jí)特大地震影響堵未,放射性物質(zhì)發(fā)生泄漏腋舌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一渗蟹、第九天 我趴在偏房一處隱蔽的房頂上張望块饺。 院中可真熱鬧,春花似錦雌芽、人聲如沸授艰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)淮腾。三九已至,卻和暖如春屉佳,著一層夾襖步出監(jiān)牢的瞬間来破,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工忘古, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诅诱。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓髓堪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子干旁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355