Initialization of centroid for kmeans++ algorithm

4 vues (au cours des 30 derniers jours)
AS
AS le 20 Sep 2020
Commenté : Image Analyst le 1 Oct 2020
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.

Réponses (1)

Image Analyst
Image Analyst le 20 Sep 2020
I believe you can use the 'Replicates' and 'Start' options of kmeans().
  3 commentaires
AS
AS le 1 Oct 2020
How I will be using 'Start' option in code? Should I attached the code?
Image Analyst
Image Analyst le 1 Oct 2020
Sure, attach your code and data if you are still having trouble.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by