我一直在尝试使用scikit实现DBSCAN,但到目前为止还无法确定epsilon和min_样本的值,这将给我提供大量的集群。我试图在距离矩阵中找到平均值,并使用了平均值两边的值,但没有得到令人满意的簇数:
输入:db=DBSCAN(eps=13.0,min_samples=100).fit(X)
labels = db.labels_
# Number of clusters in labels, ignoring noise if present.
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
print('Estimated number of clusters: %d' % n_clusters_)
输出:Estimated number of clusters: 1
输入:db=DBSCAN(eps=27.0,min_samples=100).fit(X)
输出:Estimated number of clusters: 1
还有其他信息:The average distance between any 2 points in the distance matrix is 16.8354
the min distance is 1.0
the max distance is 258.653
代码中传递的X不是距离矩阵,而是特征向量矩阵。
所以请告诉我如何确定这些参数