我有一个包含3个类别{c1, c2和c3}的数据集。我使用单链接层次聚类方法(来自Matlab)对数据集进行聚类。我构建了自己的距离度量。下图显示了结果。请注意,层次聚类方法正确地聚类了数据;其中c1类(黄色)的点彼此非常接近。同样,c2类(绿色)和c3类(蓝色)也是如此。
从图中可以看出,c1类中各点之间的距离与c2和c3相比非常小。因此,例如,如果我决定在8处切割树,这将导致c1、c2和c3被分成8个聚类;每个点将位于不同的聚类中。
我该如何解决这个问题?我需要更改聚类方法吗?还是在17处切割树,然后再次对结果聚类进行聚类?
回答:
从树状图中提取聚类的方法有很多种。你并不需要进行一次性切割(尽管Matlab可能只提供这种选择)。像你那样选择区域也是合理的,同时在多个高度切割树状图也是可行的。但并不是每个工具都具备所有这些功能。
请注意,c3被分成了两部分,其中一半与c2没有很好地分离。