Ich habe ein Array von (n_sample x 2) und ich möchte sie mit KDTree in sklearn.neighbors.KDTree Cluster.Clusterint 2D Punkte mit sklearn KDTree
Ich habe dieses Beispiel Stück Code:
from sklearn.neighbors import KDTree
import numpy as np
np.random.seed(0)
X = np.random.random((10, 2))
tree = KDTree(X, leaf_size=2)
Jetzt möchte ich die Punkte in den Blättern des Baumes zu extrahieren, so dass jedes Blatt ein Cluster sein kann. Punkte, die sich in demselben Blatt befinden, gehören zu demselben Cluster.
Im obigen Beispiel, weil die maximale leaf_size 2 ist, werden wir etwa 10/2 = 5 Cluster haben.
Was ich begehre, ist, dass ein Punkt in X (z. B. X [0]) der Baum mir den Index des Blattes des Baumes geben kann, zu dem die Punkte gehören.
Der kd-Baum ist nicht gut für das Clustering geeignet. –
Nicht in meinem Fall ist KD-Baum gut für die Art von Clustering geeignet, die ich brauche. Wie in diesem Papier erwähnt http://aclweb.org/anthology/P15-2104. – Ash
Ich würde den Begriff "Clustering" dafür nicht verwenden. Es ist ein adaptives Gitter; Sie erwähnen nicht, was sie mit Nicht-Blatt-Benutzern tun; und es ist einfach, dies auszudrücken und zu implementieren, ohne einen kd-Baum einfach mit Median Splitting. –