I was thinking of devising a clustering algorithm (for fun and kicks) that would cluster data by looking at the distribution of the data at multiple scales.

For example say my data was distributed on a 2d grid of 1000 x 1000.

Are there algorithms out there that cluster this data by looking at the data by dividing this space up into say

  1. 10x10
  2. then 20x20
  3. then 40x40
  4. and so forth

Would appreciate links to pseudo code or implementations in R, Java, Python, matlab -- preferably open source.

Additional notes:

  1. I am not looking for hierarchical clustering where I find clusters within clusters
  2. I would be interested in other definitions of multiscalar

Density based clustering algorithms such as DBSCAN and OPTICS are related to what you describe. It is possible to obtain clusters at different levels of object proximity.

  • $\begingroup$ Thanks for the note -- I haven't had a chance to look @ BDSCAN and OPTICS just yet but I guess my question is that do they use the multiscalar property of the data to perform clustering? $\endgroup$ – user1172468 Apr 29 '14 at 19:36
  • 1
    $\begingroup$ Well, in the sense of 2. in your question -- via a different (implicit) definition of multiscalar. I would place e.g. OPTICS between your idea and standard hierarchical clustering. More generally though, any clustering algorithm with control over granularity is in some sense 'multiscalar'. I get that you are after more explicit multi-scale approaches, but it is worth bearing in mind. $\endgroup$ – micans Apr 30 '14 at 9:05

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.