繁体   English   中英

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

[英]non density based Data clustering algorithm

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

是否有人对我可以使用的不需要这种配置的算法有任何想法或了解? 或直接指出正确的方向。 欢迎任何帮助。

谢谢!

这是我要完成的一个学校项目,其中有一组2D坐标表示飞机上的点,并且我必须确定每个点所属的群集。 现在,我已经使用OPTICS做到了这一点,并且工作正常,但是我需要调整Eps值,以便我的输出与给出的示例输出匹配。 但是,由于我无法描述主题中的簇是什么,或者簇的特征是什么,因此我无法仅基于点之间的距离或给定区域中点的密度来建立自己。 另外,我不知道簇的数量,因此我使用OPTICS算法。 因此,我认为,或者我做错了什么,或者该主题中缺少重要的信息。 而且,我并不是在寻找任何人做作业或提供任何源代码,而只是提供一些想法或指导,因为我几乎迷失了如何获得数据集示例中给出的确切结果(我是也不允许获得任何错误的值,如果我这样做的话,他们会认为该项目失败了,因此不能使用具有错误余量的算法)。

再次感谢您,对冗长的帖子表示抱歉。

通常,可以以多种方式将一组点分配给聚类(例如,可以将它们全部分配给一个大聚类,或者分为两个或三个),因此您必须具有一些参数。

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

编辑:
多么奇怪的任务! 您的集群必须完全匹配他们的集群,没有其他线索吗? 我将假定它们既不是白痴也不是施虐者,并做出以下猜测:在示例中,存在一个显而易见的“自然”聚类。 我对吗? 如果是这样,那么就有一种方法可以根据点集中的距离以编程方式设置参数。 有多少个例子,可以发表一个吗?

编辑:
哈! 我就知道! 这是一条规则,可以将这种情况正确地分为几类:找到任何点到其最近邻居的最大距离,并且如果任意两个点之间的距离小于该距离的两倍,则它们属于同一类。 我敢打赌,它也会在其他情况下起作用。

您可以尝试研究那里的许多其他集群算法 您有概率群集(EM),分区群集(KMeans),分层群集以及许多其他功能...当然,每个都需要不同类型的配置

另外,请确保尝试使用Weka ,这是一个包含大量机器学习算法(分类,聚类,预处理等)的开源工具。 我相信它为上述所有算法提供了一种实现(Java)。


编辑 :确定哪个群集最好的问题是非常依赖于域的。 一切都取决于在您的应用程序上下文中如何使用集群,以确定集群的有用性(此外,您的数据可以有多个自然集群 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM