different output in kmeans

2 vues (au cours des 30 derniers jours)
Elysi Cochin
Elysi Cochin le 6 Mai 2013
i used kmeans for clustering similar images.... if i run the code first i get the correct clusters..... but without closing matlab if i execute the second time for the same image, it is clustering different output.... why like that..... what shud i do to get the same output whenever i execute the code... please do reply.....

Réponse acceptée

Youssef  Khmou
Youssef Khmou le 6 Mai 2013
hi, i think this question has been asked before, the reason is that the K-means algorithm starts with random partition so every time you run the code, you get the same result but with different RMSE.
(try to clear the Workspace and re-run ...)
  5 commentaires
Walter Roberson
Walter Roberson le 7 Mai 2013
Could you indicate
size(repmat(minc, nsamp, 1))
size( bsxfun(@times, (0:nsamp-1).', (maxc - minc) ./
(nsamp-1)) )

Connectez-vous pour commenter.

Plus de réponses (1)

José-Luis
José-Luis le 6 Mai 2013
Modifié(e) : José-Luis le 6 Mai 2013
An option is to reset the random number generator to its initial state every time before running your code:
rng default % ->This is the important bit
X = [randn(100,2)+ones(100,2);...
randn(100,2)-ones(100,2)];
opts = statset('Display','final');
[idx,ctrs] = kmeans(X,2,...
'Distance','city',...
'Replicates',5,...
'Options',opts);
This will always produce the same result, but it sorts of beat the purpose of the function and might produce bad results.
  2 commentaires
José-Luis
José-Luis le 6 Mai 2013
Modifié(e) : José-Luis le 6 Mai 2013
For example:
X = [randn(100,2)+ones(100,2);...
randn(100,2)-ones(100,2)];
opts = statset('Display','final');
[idx,ctrs] = kmeans(X,2,...
'Distance','city',...
'Replicates',1,...
'Options',opts,...
'start',[0.25 0.25; 0.75 0.75]);
But that does not guarantee that the result will always be the same.
Elysi Cochin
Elysi Cochin le 7 Mai 2013
thank you all for your valuable suggestions in helping me to solve my problem..... thank you all once again......

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by