I am looking for a clustering algorithm. My idealized dataset looks like this:

The clustering result should look like the Rapidminer density plot:

Means 3 or 4 clusters should be the clustering result: One Cluster (1|1) to (5|6), one or two for the points on Z = 5 and one for the overlaying area (6|1) to (11|6).

Based on "density" I gave the DBSCAN R package a shot. The best result I could get was the one in the above picture. So not exactly what I expected, as the overlaying area was not recognized as a separate cluster. Any ideas which algorithm would provide the results I expect? enter image description here

  • $\begingroup$ The rapidminer plot does not seem to make sense to me. Why are the top left and right corners of the same density (greenish) than the center part? $\endgroup$ – Anony-Mousse Jan 1 '13 at 18:03
  • $\begingroup$ I agree totally with you. The density in the corners are not correct. $\endgroup$ – Tom Jan 1 '13 at 23:34

You may need to pay attention to data normalization.

At least if your data set is actually 3D as in your first plot.

But there is a lot unclear in your question - what result do you really expect. Is the data set 3D? Do you expect clusters to be convex or even rectangular? DBSCAN does not guarantee this.

Have you tried OPTICS, which is an advanced version of DBSCAN? (Don't use the Weka version, it's broken. Use ELKIs version, which is tons faster, and OpticsXi for extracting actual clusters).

  • $\begingroup$ Problem solved. Big error in reasoning from my side: One of the variables in the 3D data is dependent, so I should have been looking for a regression rather than a clustering algorithm. Density regression works fine. $\endgroup$ – Tom Jan 1 '13 at 23:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.