【发布时间】:2015-10-09 23:50:40
【问题描述】:
我正在使用来自 scikit-learn 包的截断 SVD。
在 SVD 的定义中,原始矩阵 A 近似为乘积 A ≈ UΣV* 其中 U 和 V 有正交列,Σ 是非负对角线。
我需要得到 U、Σ 和 V* 矩阵。
查看源代码here发现调用fit_transform后V*存储在self.components_字段中。
是否可以得到 U 和 Σ 矩阵?
我的代码:
import sklearn.decomposition as skd
import numpy as np
matrix = np.random.random((20,20))
trsvd = skd.TruncatedSVD(n_components=15)
transformed = trsvd.fit_transform(matrix)
VT = trsvd.components_
【问题讨论】:
标签: python scipy scikit-learn sparse-matrix svd