MATLAB Answers

How to show class label of each data point in 3D scatter plot from clustering evaluation result?

8 views (last 30 days)
hello_world
hello_world on 30 Jul 2018
Commented: Image Analyst on 3 Aug 2018
How to show by plotting class label of each data point within each cluster obtained by any clustering?
Here is an illustration of kmeans clustering:
load fisheriris
eva = evalclusters(meas,'kmeans','gap','KList',[1:6])
scatter3(meas(:,1), meas(:,2), meas(:,3), 15, eva.OptimalY, 'filled')
So above example outputs 5 flusters which I can represent with colors. However, I will like to identify which data point fell into which cluster by putting label or coloring original data point (each data point represent an image).
Say, I pick cluster number 1. I can get the data indices within each cluster as follows:
find(eva.OptimalY == 1) % Here, we will get indices of all data points within
% cluster number 1
I will like to see (by plotting) which data points are within this cluster by class labels. So final output plot can have colored contours (circles) around each cluster, containing differently colored data points corresponding to their respective class labels.

Answers (1)

Image Analyst
Image Analyst on 31 Jul 2018
Use gscatter() instead of scatter3().
  4 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!