ELTICS实现的OPTICS聚类算法只检测一个聚类

Ily*_*tov 7 cluster-analysis data-mining dbscan elki optics-algorithm

我在ELKI环境中使用OPTICS实现时遇到问题.我在DBSCAN实现中使用了相同的数据,它就像一个魅力.可能我错过了一些带参数的东西,但我无法弄明白,一切似乎都是正确的.

数据是一个简单的300х2矩阵,由3个簇组成,每个簇有100个点.

DBSCAN结果:

DBSCAN的聚类结果

MinPts = 10,Eps = 1

光学结果:

OPTICS的聚类结果

MinPts = 10

Ano*_*sse 4

您显然已经自己找到了解决方案,但这是一个很长的故事:

ELKI 中的类OPTICS仅计算簇顺序/可达性图。

为了提取簇,您有不同的选择,其中之一(来自原始 OPTICS 出版物的选择)可在 ELKI 中找到。

因此,为了在 ELKI 中提取簇,您需要使用该OPTICSXi算法,该算法将依次使用OPTICS或 基于索引DeLiClu来计算簇顺序。

在 ELKI 中将其分为两部分的原因可能是这样您可以一方面实现用于提取簇的另一种逻辑,另一方面实现不同的方法(例如DeLiClu计算簇顺序)。这与 ELKI 的模块化架构非常吻合。

IIRC 至少还有一种方法(显然 ELKI 中还没有)通过寻找局部最大值来提取簇,然后水平延伸它们直到它们到达山谷的末端。还有一种不同的方法,它使用了情节的“拐点”。