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クラスターを返します。しかし、それは私に1つだけを与えます(私は推測します)、すなわち

T =

 1
 1
 1
 1
 1
 1
 1
 1
 1
 1

私は何が欠けていますか?

4

2 に答える 2

1

列4の値を使用inconsistent(Z,150)して確認します。小さな正の数からカットオフを増やすと、ツリーに沿って進みます。

例えば

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 に答える