calculate centroid after kmeans

1 visualización (últimos 30 días)
Hans van der Horn
Hans van der Horn el 1 de Mzo. de 2020
Comentada: Hans van der Horn el 2 de Mzo. de 2020
Hi,
Is it possible to retrospecively compute the centroids from the membership indices and the data after running kmeans?
Thanks!
Hans

Respuestas (1)

Image Analyst
Image Analyst el 1 de Mzo. de 2020
Why not simply use the centroid locations that kmeans returns to you? Did you know that kmean() returns those if you ask for (accept) two return values
[indexes, centroids] = kmeans(data, k);
  2 comentarios
Hans van der Horn
Hans van der Horn el 1 de Mzo. de 2020
Thanks for your answer.
I'm aware of the answer, but was looking for a way to retrieve the centroid in case I didn't ask for that output.
Any ideas?
Hans van der Horn
Hans van der Horn el 2 de Mzo. de 2020
I already figured it out. In kmeans code for correlation (distance method I use) it's the following code for each cluster:
X = bsxfun(@minus, X, mean(X,2));
Xnorm = sqrt(sum(X.^2, 2));
if any(min(Xnorm) <= eps(max(Xnorm)))
error(message('stats:kmeans:ConstantDataForCorr'));
end
X = bsxfun(@rdivide,X,Xnorm);

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by