【发布时间】:2018-10-09 22:30:44
【问题描述】:
目前我正在使用 DBSCAN 算法对我的数据进行聚类,但我在这里遇到了一些问题。如您所知,DBSCAN 在开始之前需要 3 个参数。首先是epsilon,它是核心点的搜索范围。其次,是 MinPts 或者您可以说形成集群的最小点数。第三是数据集。
DBSCAN 通过跳转到一个随机点开始工作。该点可以称为核心点候选。如果在 epsilon 半径内有 Minpts-1 点,我们使用 epsilon 进行评估。我们在这个 epsilon 中得到了准确的 MinPts 点。所以我们可以形成一个集群。然后我们会调用expandcluster函数来扩展集群,所有在epsilon半径内的点都会用epsilon半径重新搜索,所以集群会变大。这一步停止,直到集群无法扩展。我们将转到另一个未在集群中分配的点。如果该点在半径内少于MinPts 点,我们会将此点标记为噪声并继续指向一个点并找到新的聚类。
我正在使用dbscan clustering algorithm
问题是我有一组数据,我设置了 MinPts 4,Eps 65.5。我得到了 3 个集群,但其中 1 个集群只有 3 个点。如果我们从理论上看它不应该发生。
感谢您提出这个问题,希望我能找到答案...
【问题讨论】:
标签: matlab cluster-analysis dbscan