my_array
是一个由0和1组成的78000×200稀疏矩阵;许多行都是零。我在计算欧几里得距离。此外,我使用多维缩放来获得每列的坐标(每列都是词汇表中的一个单词)。在
在计算欧几里得距离时,我得到了“数组太大”的错误。还有其他类似的问题,但我不知道如何在这种情况下应用它。我想象的是,如果我降低“dist array”的精度,它会变小,但我不知道怎么做。也可以使用稀疏矩阵或np.memmap公司,但my_array
不是问题。当它试图保留所有的距离值时,问题就开始了,所以我需要在dist
数组计算期间对其进行积分。dist
数组是一个78000 x 78000矩阵。在
所以我的问题是,如何在欧几里德距离的计算中整合这些技术?
或者循环使用dist(x, y) = sqrt(dot(x, x) - 2 * dot(x, y) + dot(y, y))
有意义吗?调整数据类型?在
from sklearn.manifold import MDS
from sklearn.metrics.pairwise import euclidean_distances
my_array = np.array(Y[2:])
dist = euclidean_distances(my_array)
mds = MDS(n_components=2, dissimilarity="precomputed", random_state=1)
pos = mds.fit_transform(dist)
目前没有回答
相关问题 更多 >
编程相关推荐