K means clustering with initial guess centroids given

16 visualizaciones (últimos 30 días)
Riordan Moloney
Riordan Moloney el 30 de Dic. de 2020
Respondida: Rishabh Mishra el 6 de En. de 2021
I have the problem where i have been given a 10,000x1 selection of data points, 100 points collected every weekend for 100 weeks. I am also given a 100x1 text file which i should use as the 'initial guess' for centroids. I need to iterate through the k means clustering algorithym until the distance between centroid locations is 0.00001. Please help, thanks
  5 comentarios
Image Analyst
Image Analyst el 30 de Dic. de 2020
Looks like you're supposed to write your own kmeans function instead of using the built-in one, right?
Riordan Moloney
Riordan Moloney el 30 de Dic. de 2020
Yes this is what i am strugggling with, I assume i will need to use implemented for loops, but the data variables are of different sizes and i am not sure how to test which value in the initial centroids is closest to the particular value i will be testing in the results data.

Iniciar sesión para comentar.

Respuestas (1)

Rishabh Mishra
Rishabh Mishra el 6 de En. de 2021
Hi,
I would like to make following assumptions:
  1. The points over which you are applying k-means clustering are 2-D coordinates. The points are represented using 2 dimensions. I.e., (x,y).
  2. arr’ - the 10000 x 2 array of 10000 points each with 2 dimensions.
  3. ‘centroid’ - the 100 x 2 of 100 centroids each with 2 dimensions.
Use the code below to perform k-means clustering on given points:
k = 100; % number of cluster
[idx,C] = kmeans(arr,k,'Start',centroid);
% idx - defines which cluster a given point is assigned to
% C - gives co-ordinate of all the 100 cluster centroids
Hope this helps.

Community Treasure Hunt

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

Start Hunting!

Translated by