python的svd分解

今天看書,發現svd公式,在網上查閱了一下資料,主要用到如下的兩句:
主要是兩條語句:
from numpy import *;
U,Sigma,VT=linalg.svd([[1,1],[7,7]]);

用到的實例(李航《統計學習方法》第15章奇異值分解):

from numpy import *
A = array([[1,0,0,0],[0,0,0,4],[0,3,0,0],[0,0,0,0],[2,0,0,0]])
U,sigma,V = linalg.svd(A)
U
array([[ 0. , 0. , -0.4472136 , 0. , -0.89442719],
[-1. , 0. , 0. , 0. , 0. ],
[ 0. , -1. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 1. , 0. ],
[ 0. , 0. , -0.89442719, 0. , 0.4472136 ]])
sigma
array([ 4. , 3. , 2.23606798, -0. ])
V
array([[-0., -0., -0., -1.],
[-0., -1., -0., -0.],
[-1., -0., -0., -0.],
[-0., -0., -1., -0.]])

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章