K means clustering with initial guess centroids given

16 Ansichten (letzte 30 Tage)
Riordan Moloney
Riordan Moloney am 30 Dez. 2020
Beantwortet: Rishabh Mishra am 6 Jan. 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 Kommentare
Image Analyst
Image Analyst am 30 Dez. 2020
Looks like you're supposed to write your own kmeans function instead of using the built-in one, right?
Riordan Moloney
Riordan Moloney am 30 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Rishabh Mishra
Rishabh Mishra am 6 Jan. 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