scikit-learn
paketinden kesilmiş SVD kullanıyorum. SVD tanımındaSaptırılmış SVD'den U, Sigma, V * matrisini scikit-öğrenin.
, bir bir ürün olarak approxmated bir orijinal matris bir ≈ UΣV * U ve V ortonormal sütun var ve Σ olan negatif olmayan köşegen .
Ben U, Σve V * matrisleri almak gerekir.
Ben V *fit_transform
çağrıldıktan sonra self.components_
alanında depolanan öğrendim kaynak kodu here bakarak.
o U ve Σ matrisleri elde etmek mümkün mü?
Kodum:
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_
bu durum geçerlidir bakınız ancak düzenli numpy.linalg.svd yöntemi için sen': komutları Aşağıda U, Sigma ve VT öğrenmek için yardımcı olur t bileşen sayısını parametre olarak aktarın, böylece üst K'yi kendiniz çıkarmalısınız. Küçük rahatsızlık. –