我在ELKI环境中使用光学实现时遇到了问题。我在DBSCAN实现中使用了相同的数据,它的效果非常好。也许我遗漏了一些参数,但我不能弄清楚,一切似乎都是正确的。
数据是一个简单的300х2矩阵,由3个簇组成,每个簇中有100个点。
DBSCAN结果:
MinPts = 10,Eps =1
光学结果:
MinPts = 10
发布于 2012-12-26 06:45:27
显然你已经自己找到了解决方案,但这是一个很长的故事:
ELKI中的OPTICS类只计算集群顺序/可达性图。
为了提取集群,您有不同的选择,其中之一(来自原始光学出版物)在ELKI中可用。
因此,为了在ELKI中提取集群,您需要使用OPTICSXi算法,该算法将依次使用OPTICS或基于索引的DeLiClu来计算集群顺序。
在ELKI中将其分为两部分的原因可能是这样您一方面可以实现另一个用于提取集群的逻辑,另一方面可以实现不同的方法,如用于计算集群顺序的DeLiClu。这将很好地与ELKI的模块化架构保持一致。
IIRC至少还有一种方法(显然还没有在ELKI中),它通过寻找局部最大值来提取集群,然后水平扩展它们,直到它们到达谷底。还有一个不同的方案,它使用了情节的“拐点”。
发布于 2012-12-31 22:19:36
@AnonyMousse很大程度上是正确的。我只是现在还不能对此发表评论。
我们希望随着时间的推移,一些学生将其他聚类提取方法作为小型学生项目贡献出来。它们对我们的研究并不重要,但对于想要了解ELKI的学生来说,它们是很好的任务。
ELKI是一个快速发展的项目,它依赖于社区的贡献。我们很高兴看到你为它贡献了一些代码。我们知道这个代码库不容易入门--它相当大,而且实现的通用性和对索引结构的支持使它有点难以入门。我们尝试添加Tutorials来帮助您入门。一旦你习惯了它,你实际上会从这个架构中受益:你的算法得到了索引和任意距离函数的好处,而如果你想从头开始实现,你可能只支持欧几里德距离,而没有索引加速。
看到你在光学方面的努力,我将在新的一年里尝试写一篇光学教程。特别是,光学可以从使用适当的索引结构中获益良多。
https://stackoverflow.com/questions/14031673
复制相似问题