Initialization of centroid for kmeans++ algorithm

I have applied simple kmeans algorithm for clustering of the datasets, which has dimension 1800 by 3. Now instead of kmeans, I want to initialize the centroid by using kmeans++ algorithm. For simple kmeans I have initialized the centres as per algorithm like Arbitrarily choose an initial k centers C = {c1, c2, · · · , ck}.
But for kmeans++ the initialization procedure is like that
1a. Take one center c1, chosen uniformly at random from X .
1b. Take a new center ci , choosing x ∈ X with probability (D(x)^2) /sum(D(x)^2) .
1c. Repeat Step 1b. until we have taken k centers altogether.
In particular, let D(x) denote the shortest distance from a data point to the closest center. “D2 weighting”
But, I am not understanding the “D2 weighting”.
How to calculate “D2 weighting” value for initialization.
Please provide me any advice regarding this.

Antworten (1)

Image Analyst
Image Analyst am 20 Sep. 2020

0 Stimmen

I believe you can use the 'Replicates' and 'Start' options of kmeans().

3 Kommentare

AS
AS am 23 Sep. 2020
ok. I will try
AS
AS am 1 Okt. 2020
How I will be using 'Start' option in code? Should I attached the code?
Sure, attach your code and data if you are still having trouble.

Melden Sie sich an, um zu kommentieren.

Gefragt:

AS
am 20 Sep. 2020

Kommentiert:

am 1 Okt. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by