How to cluster a dataset having a vector of clustered indeces?
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Madina Makhmutova
el 11 de Abr. de 2019
Comentada: Adam Danz
el 15 de Abr. de 2019
Hello,
My question is very primitive, I'm trying to cluster my dataset using k-means and plot clastered data in heatmap.
I've tried to write the following primitive code but I don't understand why it is not working. Could you please help me figure out why my code is not working and what would be the shortest way to do this simple clustering?
Thank you!
n = 3; % specify the number of clusters that you want the dataset to be divided into
data = randi(100,10,9);
clust_idx = kmeans(data,n);
clustered = [];
for j = 1:n
for i = 1:length(clust_idx)
if clust_idx(i)==j, clustered = [clustered, (data(:,i))];
end
end
end
f = figure(1);
fh = heatmap((clustered)','XLabel','Time(min)','YLabel','Cell #','Colormap',jet);
2 comentarios
Adam Danz
el 11 de Abr. de 2019
1) What part of the code isn't working?
2) What does it mean that the code isn't working? Are you getting an error message (if yes, share the entire message)?
The first 3 lines of your code should workfine as long as you're working with decent data. What are the loops for?
Respuesta aceptada
Adam Danz
el 11 de Abr. de 2019
Editada: Adam Danz
el 15 de Abr. de 2019
Your data is a matrix of size [10 x 9].
kmeans() identifies the cluster of each row of the matrix so its output will be a vector whose length is equal to the number of rows of your matrix (10 rows).
Your i-loop loops through each row (1:10). But your indexing your data by column: data(:,1). You only have 9 columns so on the last iteration, there's an error.
I think what you meant to write is:
clustered = [clustered; (data(i,:))];
% ^ ^ Note the restructuring.
Now your code works for the [10 x 9] inputs.
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Cluster Analysis and Anomaly Detection en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!