필터 지우기
필터 지우기

calculate centroid after kmeans

조회 수: 1 (최근 30일)
Hans van der Horn
Hans van der Horn 2020년 3월 1일
댓글: Hans van der Horn 2020년 3월 2일
Hi,
Is it possible to retrospecively compute the centroids from the membership indices and the data after running kmeans?
Thanks!
Hans

답변 (1개)

Image Analyst
Image Analyst 2020년 3월 1일
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
Hans van der Horn
Hans van der Horn 2020년 3월 1일
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 2020년 3월 2일
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);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Statistics and Machine Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by