Take the data out after using Kmeans Clusering

2 次查看(过去 30 天)
Hi, i tried to used Kmeans Clustering from an Excel files and after Clustering I dont know how to take the data of each Cluster. and i use 5 cluster. the plot show 5 cluster but only 3 colors. Please help me.Thanks
clear all
close all
clc
[num,txt,raw] = xlsread('ClusteringData.xlsx')
figure;
X=cell2mat(raw);
plot(X(:,2),X(:,1),'.');
[idx,C]= kmeans(X,5);
figure
title 'Kmeans Clustering';
xlabel 'Wing speed';
ylabel 'Power';
gscatter(X(:,2),X(:,1),idx,'bgm')
hold on
plot(C(:,2),C(:,1),'kx')
legend('Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5','Cluster Centroid')

采纳的回答

Image Analyst
Image Analyst 2021-11-28
Looks right off the top of my head, though you forgot to attach 'ClusteringData.xlsx' so we can't test it with your actual data.
However I don't see gscatter having an option with exactly 4 inputs in the documentation. What is 'bgm'? Colors? Shouldn't you be specifying 5 colors, not three, like 'bgmcr' or something? If you only specify 3 it will use b for class 1 and 4, and g for class 2 and 5 making it look like there are only 3 classes, not 5. Or just leave out your 4th argument altogether.
  5 个评论
Image Analyst
Image Analyst 2021-11-28
You're welcome. Thanks for Accepting the answer.
As you know the ordering of classes in kmeans is random. If you need to, or want to, reorder class numbers according to some criteria (like your x centroid value), see the attached example. Let me know if you can't figure it out.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by