Number of elements of clusters from dbscan
2 views (last 30 days)
Show older comments
BHAGYALAKSHMI M
on 8 Mar 2020
Commented: BHAGYALAKSHMI M
on 9 Mar 2020
How to get the elements of clusters from a dbscan clustering.Like,
Clust1=[1,2,0.3,0.1....]
Clust2=[4,.....]
etc. How can I do that? Please help me.
Thank you.
2 Comments
Accepted Answer
Ameer Hamza
on 8 Mar 2020
This example code read data from the excel file. Change column two from text to numeric and then apply dbscan clustering.
data=readtable('Liverxl.xlsx', 'ReadVariableNames', false);
data.Var2 = findgroups(data.Var2); % convert column
data.Var10(isnan(data.Var10)) = 0; % place 0 in empty cells
minpts=3;
epsilon=30;
data = table2array(data);
[idx, corepts] = dbscan(data,epsilon,minpts);
number_of_clusters = sum(unique(idx)>0);
% remove ouliers
core_data = data(corepts, :);
core_idx = idx(corepts);
% Clusters are saved in a cell array
clusters = splitapply(@(x) {x}, core_data, core_idx);
Tune the value of parameters, minpts and epsilon to change the size and number of elements in clusters.
3 Comments
Ameer Hamza
on 9 Mar 2020
clusters is a cell array. You can get elements of a cluster using following syntax:
clusters{1} % it will show all the element of first cluster
clusters{2} % 2nd cluster
...
...
clusters{end} % last cluster
More Answers (0)
See Also
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!