TruncatedSVD和svds之间的区别

abh*_*rni 4 scipy svd scikit-learn

我看到sklearn.decomposition.TruncatedSVDscipy.sparse.linalg.svds的文档都提到它们都是SVD为稀疏矩阵执行的.他们之间有什么区别?

谢谢.

Fre*_*Foo 13

TruncatedSVD功能更丰富.它有scikit-learn API,所以你可以将它放在一个sklearn.Pipeline对象中并调用transform一个新矩阵,而不必自己弄清楚矩阵乘法.它提供两种算法:快速随机SVD求解器(默认)或scipy.sparse.svds.

(完全披露:我写了TruncatedSVD.)