Singular Value Decomposition (SVD) System
Jump to navigation
Jump to search
A Singular Value Decomposition (SVD) System is a matrix decomposition system that implements an SVD algorithm to solve an SVD task.
- Context:
- …
- Example(s):
>>> A = np.random.randn(9, 6) + 1.j*np.random.randn(9, 6) >>> A = numpy.array([ [2.0, 0.0, 8.0, 6.0, 0.0], [1.0, 6.0, 0.0, 1.0, 7.0], [5.0, 0.0, 7.0, 4.0, 0.0], [7.0, 0.0, 8.0, 5.0, 0.0], [0.0, 10.0, 0.0, 0.0, 7.0]]) >>> U,sigma,Vh = numpy.linalg.svd(A, full_matrices=True) >>> U.shape, Vh.shape, sigma.shape >>> for i in xrange(1, 51, 5): >>> dA = np.matrix(U[:, :i]) * np.diag(sigma[:i]) * np.matrix(Vh[:i, :])
>>> from sklearn.decomposition import TruncatedSVD >>> from sklearn.random_projection import sparse_random_matrix >>> X = sparse_random_matrix(100, 100, density=0.01, random_state=42) >>> svd = TruncatedSVD(n_components=5, random_state=42) >>> svd.fit(X) TruncatedSVD(algorithm='randomized', n_components=5, n_iter=5, random_state=42, tol=0.0) >>> print(svd.explained_variance_ratio_) [ 0.0782... 0.0552... 0.0544... 0.0499... 0.0413...] >>> print(svd.explained_variance_ratio_.sum()) 0.279...
- …
- Counter-Example(s):
- See: SVD++, Spark MLlib, SVD Compression Task, SVDFunk.