Number of elements of clusters from dbscan

2 次查看(过去 30 天)
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.

采纳的回答

Ameer Hamza
Ameer Hamza 2020-3-8
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 个评论
Ameer Hamza
Ameer Hamza 2020-3-9
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by