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]