How do I extract each element from dbscan clusters

6 views (last 30 days)
For my project I use dbscan for clustering. To proceed now I want to know all corepoints of each cluster.
I know that dbscan function in matlab takes data, eps, and minpts as the arguments, and return idx. But how to get info regarding which corepoints belong to each cluster.
Any help from community will be very helpful. Thanks

Accepted Answer

VM Sreeram
VM Sreeram on 6 Jul 2023
If you refer to the documentation you'll find an alternate syntax for dbscan which might be useful in your case.
[idx,corepts] = dbscan(data,eps,minpts);
Here, corepts is a logical vector containing core points identified by dbscan. A value 1 in any row of corepts indicates that the corresponding observation is a core point. Otherwise it has a value 0.
If what you meant by corepoints is the data of core points, and if you want cluster numbers of these core points you may do
[idx,corepts] = dbscan(data,eps,minpts);
corepoints = data(corepts,:);
clust_nums = idx(corepts,:);

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!