Clear Filters
Clear Filters

core points of dbscan clustering.

2 views (last 30 days)
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.

Accepted Answer

Ameer Hamza
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
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));

Sign in to comment.

More Answers (0)

Categories

Find more on Polar Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!