1
Singular value decomposition矩阵的大小M
(M,N)
手段融通如何用sklearn获得所有三个SVD矩阵?
如何从scikit-learn
和numpy
包获得全部三个矩阵?
我想我可以得到Sigma
与PCA
model:
import numpy as np
from sklearn.decomposition import PCA
model = PCA(N, copy=True, random_state=0)
model.fit(X)
Sigma = model.singular_values_
Sigma = np.diag(singular_values)
那其他矩阵?
当数据有噪音时,这与PCA等效吗? ''np.linalg.svd'只会抛出一个异常,而'PCA'估计器仍然会运行? – Dims
我不明白为什么它应该是等效的。 GitHub中的PCA代码也使用numpy.linalg.svd(这在我在答案中提供的链接中显示)。唯一的区别是在PCA代码中它们使用full_matrices = False,并且它们在分解之前居中数据,但它仍然是相同的函数。 –