Reputation: 171
I would like to cluster geodata (coordinates, height at least) using density-based algorithm. I discovered DBSCAN should work pretty good for my purpose. I want to have even small separate clusters with minpts 1 or 2. It does the job, but leaves other points as one huge cluster or noise and I want those to be clustered into smaller groups also.
For example, if I have two groups of high points (like mountains) located in different places on the map, I want them to be in two separate clusters. How to achieve this? Maybe somehow to set max points value in the algorithm? I appreciate any advice.
P.S. I used R for this purpose, but the question is more about the approach.
Upvotes: 0
Views: 187
Reputation: 77485
Don't use too small minpts.
1 or 2 points are not "clusters". These points are "noise". Just treat all points in noise as separate clusters, or connect those within a short enough distance if you really want to. You can easily post-process noise.
But for the purpose of density base clustering, you need more points to have density. In fact for minpts up to 2, DBSCAN degenerates to single-link clustering.
Upvotes: 1