python中矩陣的實現是靠序列,,,
序列有很多形式,
其實矩陣是現實生活中的東西,把現實生活中的結構轉換到程式中。
就需要有個實現的方法,而這種路徑是多種多樣的。
下面給出乙個把矩陣轉換成python中的序列、
然後進行矩陣的轉置
# -*- coding: utf-8 -*-
#下面的測試是關於轉置的。
import numpy as np #numpy
minvals=np.array([1,2,3])
print(minvals)
data=np.tile(minvals,(3,1)) #這裡呼叫了乙個numpy的乙個函式tile。它的作用是把minvals按照3行1列排布
print(data)
data=data.t
print(data)
#下面是輸出結果:
[1 2 3]
[[1 2 3]
[1 2 3]
[1 2 3]]
[[1 1 1]
[2 2 2]
[3 3 3]]
#下面給乙個建立矩陣,歸一化,轉置的程式:
#-*- coding: utf-8 -*-
def autonorm0(dataset): #
這部分是歸一化【】,按照行進行歸一化
"""行的歸一化
可以看做是光譜自身的歸一化,就是光譜的高度波動變成了0-1之間。
這個需要驗證
"""minvals=dataset.min(1) #
引數0應該是代表著按行計算.
(minvals)
maxvals=dataset.max(1)
ranges=maxvals-minvals #
這個是範圍
normdataset=np.zeros(np.shape(dataset))
m=dataset.shape[1] #
這個是列數
data=np.tile(minvals,(m,1))
ranges_juzhen=np.tile(ranges,(m,1))
ranges_juzhen=ranges_juzhen.t
data=data.t
normdataset=dataset-data #
因為歸一化是從0開始的,歸到0-1這個範圍裡面.
normdataset=normdataset/ranges_juzhen #
特徵值相除,,會不會出現浮點,或者除不盡的情況.???
return normdataset,ranges,minvals #
要弄懂返回來的這幾個引數是什麼???
#下面的測試是關於轉置的。
import numpy as np #
numpy
minvals=np.array([1,2,3])
(minvals)
data=np.tile(minvals,(3,1)) #
把序列轉換成陣列
print("
矩陣:"
(data)
()normdataset,ranges,minvals=autonorm0(data) #
歸一化print("
矩陣歸一化結果:")
(normdataset)
data=data.t #
進行矩陣的轉置
print("
轉置矩陣:")
(data)
normdataset,ranges,minvals=autonorm0(data) #
轉置之後進行歸一化
print("
矩陣轉置後歸一化結果:")
print(normdataset)
輸出結果如下:
[1 2 3]
矩陣:[[1 2 3]
[1 2 3]
[1 2 3]]
[1 1 1]
矩陣歸一化結果:
[[0. 0.5 1. ]
[0. 0.5 1. ]
[0. 0.5 1. ]]
轉置矩陣:
[[1 1 1]
[2 2 2]
[3 3 3]]
[1 2 3]
矩陣轉置後歸一化結果:
[[nan nan nan]
[nan nan nan]
[nan nan nan]]
d:/1**/2018.0919/0919/program/0906/knn/ceshi.py:25: runtimewarning: invalid value encountered in true_divide
normdataset=normdataset/ranges_juzhen #特徵值相除,,會不會出現浮點,或者除不盡的情況.???
python 中的列表,陣列和矩陣
numpy使用ndarray物件來處理多維陣列,該物件是乙個快速而靈活的大資料容器。使用python列表可以儲存一維陣列,通過列表的巢狀可以實現多維陣列,那麼為什麼還需要使用numpy呢?numpy是專門針對陣列的操作和運算進行了設計,所以陣列的儲存效率和輸入輸出效能遠優於python中的巢狀列表,...
python 逆矩陣 Python中的矩陣與逆矩陣
對於我正在做的乙個專案,我使用networkx adj matrix 函式將使用networkx建立的圖形分解為鄰接矩陣。然而,我遇到的乙個問題是,當我試圖求矩陣的逆時,分解的每乙個圖都會產生以下錯誤。在str traceback most recent call last file c eclip...
關於矩陣 和矩陣快速冪
矩陣相乘,就是線性代數的知識,給兩個矩陣,求出他們相乘之後的矩陣,公式就是這樣 1 include2 include3 include4 using namespace std 5const int maxn 100 6 intc maxn maxn 7int n,m,q 8int main 16 ...