Continuous loop in kmeans
Show older comments
I am trying to use kmeans for clustering and tried to run this code. But, my code goes on running continiously without giving output.
% As with previous examples, we will first read data from file.
data_train=readtable('household_power_consumption_2007.csv');
% However, we are considering data on sub meter readings only. So, we will select this information from the table.
data_to_cluster=[data_train.Sub_metering_1,data_train.Sub_metering_2,data_train.Sub_metering_3];
costs = [];
for i=1:100
rng(5);
[idx, C] = kmeans(data_to_cluster, i);
dist = 0;
for j=1:length(idx)
dist = dist + sum((C(idx(j), :) - data_to_cluster(j, :)).^2);
end
% dist = length(data_to_cluster)*log(dist/length(data_to_cluster)) + i*11*log(length(data_to_cluster));
% costs = [costs; dist];
end
3 Comments
Walter Roberson
on 8 Sep 2019
Have you tried reducing the 100 to (say) 5 just to see whether it works at all?
Niraj Acharya
on 8 Sep 2019
Walter Roberson
on 8 Sep 2019
So 100 is just taking a long time, rather than running without end. You might want to use waitbar() to show how far you have reached.
Answers (0)
Categories
Find more on k-Means and k-Medoids Clustering 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!