Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 548
Jayani Sumudini Avatar asked Sep 08 '17 04:09

Jayani Sumudini


2 Answers

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

like image 106
Nathan Avatar answered Sep 28 '22 02:09

Nathan


Bear in mind that the KMeans function is stochastic (the results may vary even if you run the function with the same inputs' values). Hence, in order to make the results reproducible, you can specify a value for the random_state parameter.

like image 37
Romero Morais Avatar answered Sep 28 '22 02:09

Romero Morais