core points of dbscan clustering.
2 views (last 30 days)
Show older comments
BHAGYALAKSHMI M
on 24 Feb 2020
Commented: BHAGYALAKSHMI M
on 12 Mar 2020
How to get the core points of each cluster in the dbscan. I need to store the core points in a variable. How can I do that? Please help me.
0 Comments
Accepted Answer
Ameer Hamza
on 9 Mar 2020
Although this question is old, however, it is similar to your other question I answered. Therefore, If someone is searching for a solution to this question, please refer to my answer on a similar question:
5 Comments
Ameer Hamza
on 11 Mar 2020
Please check the modified code below. Note that i removed the line since it was not necessary
data.Var10(isnan(data.Var10)) = 0; % place 0 in empty cells
Also you need to change the line according to each file. For example in file data2.xlsx there are two columns (column 1 and 9) that have text data. So you need to manually change the code to convert those columns to numbers
data.Var1 = findgroups(data.Var1); % convert column
data.Var9 = findgroups(data.Var9); % convert column
Change above codes according to each file.
clc;
clear;
data=readtable('data5.xlsx', 'ReadVariableNames', false);
data.Var5 = findgroups(data.Var5); % convert column
minpts=3;
epsilon=30;
data = table2array(data);
[idx, corepts] = dbscan(data,epsilon,minpts);
fig1 = figure();
gscatter(data(:,1),data(:,2),idx);
fig2 = figure();
ax = axes();
hold on;
core=data(corepts, :);
core_idx = idx(corepts, :);
gscatter(core(:,1),core(:,2),core_idx);
centers = splitapply(@(x) mean(x, 1), core, core_idx);
gscatter(centers(:,1), centers(:,2), 1:size(centers,1));
More Answers (0)
See Also
Categories
Find more on Numeric Types 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!