def sv_thresh(X, t, k):
m, n = X.shape
U, s, V = randomized_svd(X, k) #pca(X, raw=True, k=25)
# Number of singular values greater than `t`
greater_sv = np.sum(s > t)
s = soft_thresh(s, t)
S = np.diag(s)
ret = np.dot(U, np.dot(S, V))
assert ret.shape == X.shape
return ret, greater_sv
评论列表
文章目录