Frage

Angenommen, wir haben vier Beobachtungen und den Rückgabewert von scipy .Cluster.hierarchie.verknüpfung ist:

[[ 1.          3.          0.08        2.        ]
 [ 2.          4.          0.28813559  3.        ]
 [ 0.          5.          1.          4.        ]]

Dieser Rückgabewert bedeutet:zuerst werden die Beobachtungen 1 und 3 zu einem neuen Cluster 4 zusammengeführt, dann wird Beobachtung 2 zu diesem neuen Cluster hinzugefügt, um einen noch neuen Cluster 5 zu bilden.Schließlich wird die Beobachtung 0 geclustert.Da ich zwei Cluster {1,3,2} und {0} erhalten möchte, erwarte ich einen Rückgabewert von [2,1,1,1] was bedeutet, dass Element 0 zu Cluster 2 gehört und der Rest unter Verwendung des Schwellenwerts 0,4 in einem anderen Cluster 1 gruppiert ist.Aber eigentlich Scipy.Cluster.Hierarchie.fcluster gibt [ 3 1, 2 ,1 ] zurück.Natürlich kann ich Python-Code schreiben, um das zurückkehrende 2D-Array von Linkage selbst zu analysieren, aber ich denke, die Fcluster-Funktion kann zurückgeben, was ich will, wenn ich den Schwellenwert auf 0,4 setze.Ich weiß jedoch nicht, wie ich Parameter dafür bereitstellen soll, daher frage ich mich, ob Sie einige Beispielcodes bereitstellen könnten, um hierarchisches Clustering mit durchzuführen linkage und geben Sie das Endergebnis mit fcluster mit Beobachtungen, die in einem Cluster gruppiert sind, der durch eine Menge dargestellt wird.Danke.

War es hilfreich?

Lösung

fcluster hat inconsistent als Standardargument für das zu wählende Kriterium.Verwenden distance als Argument, um den kophenetischen Abstand von der Verknüpfungsmatrix zu nehmen Z[:,2].Sie könnten einfach verwenden maxclust als Kriterium, wenn Sie die Anzahl der Cluster angeben möchten.Wenn Sie mit einfacher Verknüpfung clustern, sind wahrscheinlich einige Cluster Singletons (Ausreißer).Hilfe (fcluster) gibt die benötigten Informationen zur Verwendung der Funktion, ebenso die Dok

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top