gpt4 book ai didi

python - 使用 python 和 DBSCAN 聚类高维数据

转载 作者:太空狗 更新时间:2023-10-30 00:07:44 24 4
gpt4 key购买 nike

我有一个 1000 维的数据集,我正在尝试使用 Python 中的 DBSCAN 对数据进行聚类。我很难理解选择什么指标以及为什么。

谁能解释一下?我应该如何决定将 eps 设置为什么值?

我对数据的更精细结构感兴趣,因此将 min_value 设置为 2。现在我使用在 sklearn 中为 dbscan 预设的常规指标,但对于小的 eps 值,例如eps < 0.07,我得到了一些簇,但遗漏了很多点,对于较大的值,我得到了几个较小的簇和一个巨大的簇。我知道一切都取决于手头的数据,但我对有关如何以连贯和结构化的方式选择 eps 值以及选择哪些指标的提示感兴趣!

我已阅读 this question以及关于 10 个维度的答案,我有 1000 个 :) 而且我也不知道如何评估我的指标,所以如果有更详细的解释会很有趣:评估你的指标!

编辑:或使用现有 Python 实现处理高维数据的其他聚类算法的提示。

最佳答案

首先,对于 minPts=2,您实际上并没有进行 DBSCAN 聚类,但结果将退化为单链接聚类

你真的应该使用 minPts=10 或更高。

不幸的是,您没有费心告诉我们您实际使用的距离度量标准!

Epsilon 在很大程度上取决于您的数据集和指标。如果不知道参数和您的数据集,我们无法帮助您。您是否尝试绘制距离直方图以查看哪些值是典型值?这可能是选择此阈值的最佳启发式方法:查看距离直方图(或其样本)的分位数。

但是,请注意 OPTICS 确实去掉了这个参数(至少当你有一个正确的实现时)。当使用 Xi 方法提取集群时,您只需要足够大的 epsilon 以不切割您感兴趣的结构(并且足够小以获得您想要的运行时间 - 越大越慢,尽管不是线性的)。然后 Xi 给出了被认为是显着的距离的相对增加。

关于python - 使用 python 和 DBSCAN 聚类高维数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149384/

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