cluster-Punkte nach dem KMeans-clustering (scikit lernen)
Habe ich getan clustering mit Kmeans mit sklearn. Während es eine Methode zum drucken der centroide, ich finde es eher bizzare, dass scikit-learn nicht haben eine Methode zum drucken der cluster-Punkte der einzelnen cluster (oder ich habe es nicht gesehen bisher). Gibt es eine nette Möglichkeit, um die cluster-Punkte der einzelnen cluster?
Momentan habe ich diese eher cludgy-code, es zu tun, wobei V die dataset:
def getClusterPoints(V, labels):
clusters = {}
for l in range(0, max(labels)+1):
data_points = []
indices = [i for i, x in enumerate(labels) if x == l]
for idx in indices:
data_points.append(V[idx])
clusters[l] = data_points
return clusters
Vorschläge/links sind sehr geschätzt.
Dank!
PD.
- Ich habe diese eher cludgy-Funktion, die es tut. Noch auf der Suche, wenn etwas übersichtlicher und ordentlicher ist verfügbar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beispielsweise
Erhalten Sie Cluster von jedem Punkt von
Out:
Dann Holen Sie sich die Indizes der Punkte für die einzelnen cluster
Out:
Bearbeiten
Wenn Sie möchten, verwenden Sie array der Punkte in
X
als Werte eher als die array-Indizes:Wenn Sie Lesen, die Dokumentation konnte man sehen, dass kmeans hat
labels_
Attribut. Dieses Attribut liefert den Clustern.Finden Sie ein vollständiges Beispiel unten: