2016-11-23 5 views
0

Ich würde gerne den Unterschied zwischen cluster und clusterdata Algorithmen in MatLab wissen. Der Grund dafür ist, dass ich diesen Code mit den gleichen Optionen habenUnterschied zwischen Cluster und Clusterdaten in MatLab

% First method 
y = pdist(X, 'chebyshev'); 
z = linkage(y, 'single'); 
cl = cluster(z, 'maxclust', 10); 
figure; 
scatter3(X(:,1), X(:,2), X(:,3), 10, cl) 

% second method 
H = clusterdata(X,'linkage', 'single', 'distance', 'chebyshev', 'maxclust',10); 
figure; 
scatter3(X(:,1), X(:,2), X(:,3), 10, H) 

ich die beiden Figuren aus diesen beiden Methoden angebracht haben. Ich verstehe nicht, warum sie unterschiedliche Ausgänge haben.

from cluster

from Clusterdata

Antwort

0

Der Unterschied wahrscheinlich von daher kommen, daß Sie nicht den gleichen Abstand Parameter für beide ('jaccard' in pdist vs 'chebyshev' in clusterdata) verwenden.

clusterdata ist ein wraper um die pdist, linker und cluster Funktionen (Sie können das selbst überprüfen, indem Sie ihren Quellcode im Editor zu öffnen mit right clic ->open selection).

Wenn Sie die gleichen Parameter angeben, erhalten Sie die gleichen Ergebnisse.

+0

Dies ist nur ein Fehler, den ich beim Schreiben des Codes hier gemacht habe. Ich verwende den gleichen Abstandsparameter. Beide sind Chebyshev. Ich werde die Frage aktualisieren. – Ashkan

Verwandte Themen