dbscan clustering of xy points only returns outliers
5 views (last 30 days)
Show older comments
I have an array of xy points and just want a way to determine the number of clusters. I have many sets of xy points, and all of them are approximately the same in terms of values, so I would think epsilon doesn't need to change too much.
I have tried
idx=dbscan(centers,1,3);
like they did in the example, but it only returns a vector of -1, which corresponds to outliers. I thought decreasing the epsilon would give more clusters. Using kmeans with 2 clusters gives me the below result, but I would like to separate them even more. I can see both the red and the blue clusters could each have two more. Do I just not have enough points?
0 Comments
Accepted Answer
the cyclist
on 20 Aug 2021
Edited:the cyclist
on 20 Aug 2021
You actually need to
increase
epsilon, because you need a larger search radius to identify neighborhood points.
loadcenters
idx = dbscan(centers,50,3);
gscatter(centers(:,1),centers(:,2),idx)
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!