人工智能之机器学习与深度学习-25SVD的python实现

SVD的PYTHON实现

•#  SVD实验 

•import numpy as np 

•a = np.arange(24).reshape(4, 6) 

•print ("a:", a) 

•u, sigma, v = np.linalg.svd(a) 

•print ("u:", u)       #  分解出的u矩阵 

•print ("sigma:", sigma)       #   分解出的奇异值向量 

•print ("v:", v)       #  分解出的v矩阵 

• 

•defrestore(sigma, u, v, k):          #  取k个特征,对矩阵重新进行计算 

•    m = len(u) 

•    n = len(v) 

•    b = np.zeros((m, n)) 

•    for j in range(k-1): 

•        for i in range(m): 

•            b[i] += sigma[j] * u[i][j] * v[j] 

•    return b 

• 

•print(restore(sigma, u, v, 2))

猜你喜欢

转载自blog.csdn.net/weixin_44292902/article/details/86517821
今日推荐