gpt4 book ai didi

c++ - 基于非密度的数据聚类算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:03:29 25 4
gpt4 key购买 nike

我正在开发一个聚类分析程序,该程序将一组点 S 作为输入,并用每个点所属聚类的索引来标记每个点。我已经实现了 DBScan 和 OPTICS 算法,它们都按预期工作。但是,这些算法的结果可能会因 MinPts 和 Epsilon 的初始值而大不相同。我在网上搜索并阅读了很多关于数据挖掘和聚类分析的论文,但我似乎无法找到一种不需要 MinPts 和 Epsilon 来确定一个点是否在这样的聚类中的数据分析方法。我猜测基于密度的聚类分析不适合我的情况。

有没有人知道或知道我可以使用不需要那种配置的算法?或者简单地指出我正确的方向。欢迎任何帮助。

谢谢!

这是我要完成的一个学校项目,其中我有一组代表平面上点的二维坐标,我必须确定每个点属于哪个簇。现在我已经使用 OPTICS 完成了这项工作并且工作正常但我需要调整 Eps 值以便我的输出与我给出的示例输出相匹配。但是由于我没有描述主题中的簇是什么,或者它的特征是什么,所以我无法完全根据点之间的距离或给定区域中点的密度来判断。另外,我事先不知道集群的数量,因此我使用了 OPTICS 算法。所以在我看来,要么我做错了,要么主题中缺少重要的信息。而且,我不是在找任何人做我的功课或给我任何源代码,只是一些想法或指导,因为我几乎不知道如何获得数据集示例中给出的确切结果(我是也不允许得到任何错误的值,如果我这样做,他们会认为该项目失败,因此不能使用具有误差范围的算法。

再次感谢,抱歉发了这么长的帖子。

最佳答案

一般来说,一组点可以以不止一种方式分配给簇(例如,它们可以全部分配给一个大簇,或者分成两个或三个),所以你必须有一些 参数。

您为什么反对 MinPts 和 Epsilon?如果您不喜欢更改它们时发生的情况,请不要更改它们。说真的。

编辑:
多么奇怪的任务!您的聚类必须与他们的完全匹配,没有其他线索?我会假设他们既不是白痴也不是虐待狂,并做出以下猜测:在示例中,有一个“自然”的聚类,这对眼睛来说是显而易见的。我对吗?如果是这样,那么我们可以通过编程方式设置参数,作为点集中距离的函数。有多少例子,可以发一个吗?

编辑:
哈!我就知道!这里有一条规则可以正确地将这种情况划分为簇:找到从任何点到它最近的邻居的最大距离,如果任何两个点之间的距离小于该距离的两倍,它们就属于同一个簇。我敢打赌它也适用于其他情况。

关于c++ - 基于非密度的数据聚类算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3850847/

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