1

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

假设我有这些我想聚类的样本(平面上的 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

我错过了什么?

4

2 回答 2

1

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

例如

cluster(Z,'cutoff',0.7)

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

cluster(Z,'cutoff',0.8)

做。

于 2013-03-25T19:03:02.497 回答
1

默认情况下,标准不一致( )。cluster'inconsistent'

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

T = cluster(Z, 'Cutoff', 150, 'criterion', 'distance');
于 2014-04-09T17:12:31.333 回答