具有DBSCAN的群集区域

时间:2018-01-18 13:17:21

标签: python-3.x scikit-learn cluster-analysis dbscan

我在一个字段中传播的某些点的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)

有没有办法获得集群的区域?

0 个答案:

没有答案