Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ELKI implementation of OPTICS clustering algorithm detects only one cluster

I'm having issue with using OPTICS implementation in ELKI environment. I have used the same data for DBSCAN implementation and it worked like a charm. Probably I'm missing something with parameters but I can't figure it out, everything seems to be right.

Data is a simple 300х2 matrix, consists of 3 clusters with 100 points in each.

DBSCAN result:

Clustering result of DBSCAN

MinPts = 10, Eps = 1

OPTICS result:

Clustering result of OPTICS

MinPts = 10

like image 660
Ilya Khaustov Avatar asked Dec 25 '12 14:12

Ilya Khaustov


1 Answers

You apparently already found the solution yourself, but here is the long story:

The OPTICS class in ELKI only computes the cluster order / reachability diagram.

In order to extract clusters, you have different choices, one of which (the one from the original OPTICS publication) is available in ELKI.

So in order to extract clusters in ELKI, you need to use the OPTICSXi algorithm, which will in turn use either OPTICS or the index based DeLiClu to compute the cluster order.

The reason why this is split into two parts in ELKI probably is so that you can on one hand implement another logic for extracting the clusters, and on the other hand implement different methods like DeLiClu for computing the cluster order. That would align well with the modular architecture of ELKI.

IIRC there is at least one more method (apparently not yet in ELKI) that extracts clusters by looking for local maxima, then extending them horizontally until they hit the end of the valley. And there was a different one that used "inflexion points" of the plot.

like image 127
Has QUIT--Anony-Mousse Avatar answered Sep 27 '22 16:09

Has QUIT--Anony-Mousse