我正在尝试将尺寸缩减从64535 x 67矩阵缩减为2尺寸到64535 x 2矩阵。除了这是一个很大的矩阵而且有一个很大的减少量之外,我不确定为什么下面的拟合变换计算被挂起的原因是什么。 mds是否没有能力处理如此大的矩阵/归约?有没有解决方法?

temp = df.select_dtypes(include=[np.number])
norm = (temp - temp.mean())/temp.std()

mds = sklearn.manifold.MDS(n_components=2, eps=0)
data2d = mds.fit_transform(norm)

最佳答案

MDS具有O(N ^ 3)复杂度,它可能没有挂起,但仍在运行。请查看下面纸张的第3节。 MDS可以在大型矩阵上正常运行,但是需要花费大量时间。我不知道您要如何降低尺寸,但是如果您只是在寻找速度,我会建议您使用某种randomized projections类型(仍然可以正常使用)。

http://web.mit.edu/cocosci/Papers/nips02-localglobal-in-press.pdf

关于python - 在大型矩阵上进行计算时,MDS会挂起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56262287/

10-12 17:35