0

我对在 Python 中使用 Scipy 进行聚类有点困惑。这是我的源代码:

import scipy.spatial.distance as dist
import numpy, scipy

dataMatrix = numpy.array(matrix)
distMatrix = dist.pdist(dataMatrix, 'euclidean')
distSquareMatrix = dist.squareform(distMatrix)

Y = scipy.cluster.hierarchy.linkage(distSquareMatrix, method='complete')

我是否必须使用“distMatrix”或方形“distSquareMatrix”作为聚类的输入?因为我在其他帖子中看到了这两种方法。但是输出不一样。现在我不确定我必须选择什么。

4

1 回答 1

4

您需要以压缩形式传递距离矩阵,而不用squareform. 如果您想自己更轻松地将距离矩阵作为 2D 数组来操作,该squareform函数很有用。这些scipy.cluster.hierarchy函数使用压缩形式来节省大约两倍的内存。

我希望这有帮助。

于 2013-11-09T17:40:33.663 回答