如何在 scipy
/numpy
中的相关矩阵上运行层次聚类?我有一个 100 行 x 9 列的矩阵,我想通过 9 个条件中每个条目的相关性来分层聚类。我想使用 1-pearson 相关性作为聚类的距离。假设我有一个包含 100 x 9 矩阵的 numpy
数组 X
,我该怎么做?
我尝试使用 hcluster,基于这个例子:
Y=pdist(X, 'seuclidean')
Z=linkage(Y, 'single')
dendrogram(Z, color_threshold=0)
但是,
pdist
不是我想要的,因为这是欧氏距离。有任何想法吗?谢谢。
最佳答案
只需将指标更改为 correlation
,第一行就变成:
Y=pdist(X, 'correlation')
但是,我相信代码可以简化为:
Z=linkage(X, 'single', 'correlation')
dendrogram(Z, color_threshold=0)
因为链接会为您处理 pdist。
关于python - Python scipy/numpy 中相关性的层次聚类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2907919/