gpt4 book ai didi

r - 为 DBSCAN (R) 选择 eps 和 minpts?

转载 作者:行者123 更新时间:2023-12-01 20:19:44 25 4
gpt4 key购买 nike

我一直在寻找这个问题的答案,所以我希望有人能帮助我。我正在使用 R 中 fpc 库中的 dbscan。例如,我正在查看 USArrests 数据集并对其使用 dbscan,如下所示:

library(fpc)
ds <- dbscan(USArrests,eps=20)

在这种情况下,选择 eps 只是通过反复试验。但是我想知道是否有一个函数或代码可用于自动选择最佳 eps/minpts。我知道有些书建议绘制到其最近邻居的第 k 个排序距离的图。即,x轴表示“根据到第k个最近邻居的距离排序的点”,y轴表示“第k个最近邻居距离”。

这种类型的图对于帮助选择适当的 eps 和 minpts 值非常有用。我希望我已经提供了足够的信息供有人帮助我。我想发布一张图片来表达我的意思,但我仍然是新手,所以还不能发布图像。

最佳答案

没有选择 minPts 的通用方法。这取决于想要找到什么。较低的 minPts 意味着它将从噪声中构建更多集群,因此不要选择太小。

对于epsilon,有多个方面。它再次归结为选择适用于这个数据集和这个 minPts和这个距离函数以及这个标准化。您可以尝试制作 knn 距离直方图并在那里选择一个“膝盖”,但可能没有可见的一个或多个。

OPTICS 是 DBSCAN 的后继者,不需要 epsilon 参数(除了索引支持的性能原因,请参阅维基百科)。它好多了,但我相信在 R 中实现它很痛苦,因为它需要高级数据结构(理想情况下,用于加速的数据索引树和用于优先级队列的可更新堆),并且 R都是关于矩阵运算的。

天真地,人们可以将 OPTICS 想象为同时执行 Epsilon 的所有值,并将结果放入集群层次结构中。

但是,您需要检查的第一件事 - 几乎独立于您要使用的任何聚类算法 - 是确保您拥有有用的距离函数和适当的数据标准化。如果您的距离退化,没有聚类算法将起作用。

关于r - 为 DBSCAN (R) 选择 eps 和 minpts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12893492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com