2 树状图 + 来自 scipy 的压缩相关矩阵的热图

Posted

技术标签:

【中文标题】2 树状图 + 来自 scipy 的压缩相关矩阵的热图【英文标题】:2 Dendrograms + Heatmap from condensed correlationmatrix with scipy 【发布时间】:2019-03-02 05:09:02 【问题描述】:

我尝试创建这样的东西: plotting results of hierarchical clustering ontop of a matrix of data in python

不幸的是,当我尝试执行代码时,我收到以下警告:

Warning (from warnings module):
  File "C:\Users\USER1\Desktop\test.py", line 15
    Y = sch.linkage(D, method='centroid')
ClusterWarning: scipy.cluster: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix

Warning (from warnings module):
  File "C:\Users\USER1\Desktop\test.py", line 22
    Y = sch.linkage(D, method='single')
ClusterWarning: scipy.cluster: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix

此外,一个小窗口打开但崩溃...

【问题讨论】:

【参考方案1】:

您链接的代码有问题:它将平方距离矩阵传递给linkagelinkage 的第一个参数经常引起混淆,因此在最新版本的 scipy 中,如果传入看起来像平方距离矩阵的东西,代码会生成警告。

您必须修改代码以不将平方距离矩阵传递给linkage。如果您已经有这样的矩阵,您可以使用函数scipy.spatial.distance.squareform 将其转换为linkage 期望的压缩形式。

为避免进一步混淆,我更新了链接答案中的代码,以便将压缩距离矩阵传递给linkage

【讨论】:

警告消失了,但窗口仍然崩溃。

以上是关于2 树状图 + 来自 scipy 的压缩相关矩阵的热图的主要内容,如果未能解决你的问题,请参考以下文章

来自预制链接矩阵的树状图

R聚类分析和具有相关矩阵的树状图

Scipy---6.稀疏矩阵

在 Scipy/Matplotlib 中注释树状图节点

SciPy 树状图绘图

scipy稀疏矩阵