【问题标题】:Clustering data after linkage algorithm联动算法后的聚类数据
【发布时间】:2014-04-10 01:12:31
【问题描述】:

我不是统计和数据分析方面的专家,因此我无法理解我获得的行为是否正确。我在这里寻求你的帮助。

假设我有这些我想要聚类的样本(平面上的 10 个点 - 问题的简化版本):

 [X Y] =

266   450
266   400
258   168
290   442
295   438
273   432
294   158
318   161
250   423
253   413

要对它们进行聚类,我可以使用聚类树

Z = linkage([ X Y ],'complete');

这是(dendrogram(Z,10))

现在我想根据树节点的距离提取集群。

说我的距离是150,我会期待来电

 T = cluster(Z,'Cutoff',150);

返回给我2 集群。但它只给了我一个(我想),即

T =

 1
 1
 1
 1
 1
 1
 1
 1
 1
 1

我错过了什么?

【问题讨论】:

    标签: matlab statistics hierarchical-clustering


    【解决方案1】:

    使用inconsistent(Z,150) 并查看第 4 列中的值。从一个小的正数开始增加截止值会沿着树前进。

    例如

    cluster(Z,'cutoff',0.7)
    

    没有给你你想要的(我认为)

    但是

    cluster(Z,'cutoff',0.8)
    

    会。

    【讨论】:

      【解决方案2】:

      cluster 的标准默认为不一致 ('inconsistent')。

      由于dendrogram 中的高度为距离,您可以将标准更改为'distance', 即:

      T = cluster(Z, 'Cutoff', 150, 'criterion', 'distance');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-18
        • 2012-05-03
        • 1970-01-01
        • 2015-05-17
        • 2013-06-09
        • 2011-08-06
        • 2019-05-16
        • 2020-06-18
        相关资源
        最近更新 更多