我使用sklearn DBSCAN对我的数据进行如下聚类。在
#Apply DBSCAN (sims == my data as list of lists)
db1 = DBSCAN(min_samples=1, metric='precomputed').fit(sims)
db1_labels = db1.labels_
db1n_clusters_ = len(set(db1_labels)) - (1 if -1 in db1_labels else 0)
#Returns the number of clusters (E.g., 10 clusters)
print('Estimated number of clusters: %d' % db1n_clusters_)
现在我想从大小(每个集群中的数据点数量)中得到前3个集群。请告诉我如何获取sklearn中的簇大小?在
你可以Bincount Function in Numpy得到标签的频率。例如,我们将使用scikit learn使用example for DBSCAN:
然后使用argsort in numpy获得前3个值。在我们的示例中,由于只有3个簇,因此我将提取前2个值:
^{pr2}$另一个选择是使用
numpy.unique
:相关问题 更多 >
编程相关推荐