MATLAB: Number of elements of clusters from dbscan

cluster elementsdata miningdbscan

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.

Best Answer

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.