我在一个字段中传播的某些点的X和Y坐标数组。我想知道这些点是否形成集群。
这个坐标数组是一个numpy数组,第一列是X,第二列是Y.这是一个例子:
>>> ch1_data[0:5]
[[ 11743. 17707.7]
[ 15850.9 16474. ]
[ 21205.1 17580.2]
[ 11763.2 17712.5]
[ 14094.9 16369.7]]
我使用sklearn.cluster模块中的DBSCAN算法处理它。代码:
from sklearn.cluster import DBSCAN
db1 = DBSCAN(eps=20, min_samples=2, metric='euclidean').fit(ch1_data)
db1_labels = db1.labels_
db1n_clusters_ = len(set(db1_labels)) - (1 if -1 in db1_labels else 0)
print('Estimated number of clusters: %d' % db1n_clusters_)
labels_ch1 = db1.labels_
ch1_counts = np.bincount(labels_ch1[labels_ch1>=0])
print('Number of particles per cluster:', ch1_counts)
有没有办法获得集群的区域?