Search code examples
pythoncluster-analysis

What is meant by the term ‘random-state’ in 'KMeans' function in package 'sklearn.cluster' in python


What is meant by "random-state" in python KMeans function? I tried to find out from Google and referred https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html but I could not find a precise answer.


Solution

  • A gotcha with the k-means alogrithm is that it is not optimal. That means, it is not sure to find the best solution, as the problem is not convex (for the optimisation).

    You may be stuck into local minima, and hence the result of your algorithm depends of your initialization (of your centroids). A good practice in order to find a good minimum is to rerun the algorithm several times with several initializations and keep the best result.

    As stated by the others, random_state makes the results reproducible and can be useful for debugging