OPTICS Clustering algorithm. How to get the best epsilon

Posted by Marco Galassi on Stack Overflow See other posts from Stack Overflow or by Marco Galassi
Published on 2012-06-04T16:37:00Z Indexed on 2012/06/04 16:42 UTC
Read the original article Hit count: 263

I am implementing a project which needs to cluster geographical points. OPTICS algorithm seems to be a very nice solution. It needs just 2 parameters as input(MinPts and Epsilon), which are, respectively, the minimum number of points needed to consider them as a cluster, and the distance value used to compare if two points are in can be placed in same cluster.

My problem is that, due to the extreme variety of the points, I can't set a fixed epsilon. Just look at the image below.

the problem

The same points structure but in a different scale would result very different. Suppose to set MinPts=2 and epsilon = 1Km. On the left, the algorithm would create 2 clusters(red and blue), but on the right it would create one single cluster containing all of the points(red), but I would like to obtain 2 clusters even on the right.

So my question is: is there any kind of way to calculate dynamically the epsilon value to get this result?

Thank you very much and excuse my for my poor english.

Marco

© Stack Overflow or respective owner

Related posts about java

Related posts about algorithm