当簇数未知但没有噪声时,哪种聚类算法最好?

Which clustering algorithm is the best when number of cluster is unknown but there is no noise?

我有一个聚类数量未知的数据集,我的目标是对它们进行聚类。因为,我事先不知道集群的数量,所以我尝试使用基于密度的算法,尤其是 DBSCAN。我对 DBSCAN 的问题是如何检测适当的 epsilon。 DBSCAN 论文中建议的方法假设存在一些噪声,当我们绘制排序的 k-dist 图时,我们可以检测谷值并定义 epsilon 的阈值。但是,我的数据集是从受控环境中获得的,没有噪音。

有人知道如何检测 epsilon 吗?或者,建议更好的聚类算法可以解决这个问题。

总的来说,没有无监督的epsilon检测。根据您的描述,DBSCAN 是一种非常合适的方法。

现实世界的数据往往具有平缓的距离梯度;决定什么距离应该是截止点是一个判断调用,需要了解范例和最终用途。简而言之,该问题需要原始数据中不包含的知识。

我建议您使用简单的步进方法来收敛您想要的解决方案。将 epsilon 设置为您的观察表明合适的某个简单值。如果碎片过多,请将 epsilon 增加 3 倍;如果集群太大,则减少 3 倍。重复运行,直到获得所需的结果。