首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》11.2.2 树状图与热度图的关联

关灯直达底部

在实际应用中,层次聚类的树状图通常与热度图(heat map)结合使用,这样我们可以使用不同的颜色来代表样本矩阵中的独立值。在本节中,我们讨论如何将树状图附加到热度图上,并同时显示在一行上。

不过,将树状图与热度图结合还是需要一点小技巧的,我们将逐步介绍这一步骤:

1)创建一个figure对象,并通过add_axes属性来设定x轴位置、y轴位置,以及树状图的宽度和高度。此外,我们沿逆时针方向将树状图旋转90度,代码如下:

2)接下来,我们根据树状图对象中的簇类标重排初始化数据框(DataFrame)对象中的数据,它本质上是一个Python字典,可通过leaves键访问得到,代码如下:

3)基于重排后的数据框(DataFrame)数据,在树状图的右侧绘制热度图:

4)最后,为了美化效果,我们删除了坐标轴标记,并将坐标轴的刻度隐藏。此外,我们还加入了色条,并分别在x和y轴上显示特征名和样本ID名称。代码如下:

通过上述步骤,便可看到热度图和树状图并列显示的图像:

如上图所示,热度图中的行反映了树状图中样本聚类的情况。除了简单的树状图外,热度图中用颜色代表的各样本及其特征为我们提供了关于数据集的一个良好的概括。