hdbscan ejemplo algoritmo python cluster-analysis scikit-learn dbscan

ejemplo - DBSCAN en scikit-learn de Python: guarde los puntos del clúster en una matriz



dbscan r (2)

¿Qué quiere decir con "de cada grupo"?

En DBSCAN, los clústeres no se representan como centroides como en k-means, por lo que no hay una representación obvia del clúster, excepto sus miembros. Ya tiene la posición x e y de los miembros del clúster, ya que son los datos de entrada.

Así que no estoy seguro de cuál es la pregunta.

siguiendo el ejemplo Demostración del algoritmo de agrupación DBSCAN de Scikit Learning, estoy tratando de almacenar en una matriz la x, y de cada clase de agrupación

import numpy as np from sklearn.cluster import DBSCAN from sklearn import metrics from sklearn.datasets.samples_generator import make_blobs from sklearn.preprocessing import StandardScaler from pylab import * # Generate sample data centers = [[1, 1], [-1, -1], [1, -1]] X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4, random_state=0) X = StandardScaler().fit_transform(X) xx, yy = zip(*X) scatter(xx,yy) show()

db = DBSCAN(eps=0.3, min_samples=10).fit(X) core_samples = db.core_sample_indices_ labels = db.labels_ n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0) print n_clusters_ 3

Estoy tratando de entender la implementación de DBSCAN por scikit-learn, pero a partir de este momento estoy teniendo problemas. El número de clústeres es 3 (n_clusters_) y deseo almacenar las x, y de cada clúster en una matriz


El primer cluster es X[labels == 0] , etc .:

clusters = [X[labels == i] for i in xrange(n_clusters_)]

y los valores atípicos son

outliers = X[labels == -1]