ocean800 - 6 months ago 56

Python Question

So I can run

`sklearn kmeans`

`kmeans = KMeans(n_clusters=3,init='random',n_init=10,max_iter=500)`

But I'm a little confused on what the parameters mean

so

`n_init`

Number of time the k-means algorithm will be run with different centroid seeds. The final results will be the best output of n_init consecutive runs in terms of inertia.

and

`max_iter`

Maximum number of iterations of the k-means algorithm for a single run.

But I don't completely understand what that means. Is

`n_init`

And is

`max_iter`

So for example, with

`max_iter=2`

`n_init=15`

Thanks for the help!

Or is the the exact opposite of what I have here... ?

Answer

With `max_iter=2`

and `n_init=15`

, kmeans will choose initial centroids 15 times and move up to twice on each of the 15 runs.

The default values are `n_init=10`

and `max_iter=300`

. This means the initial centroids will be chosen 10 times, and each run will use up to 300 iterations. The best out of those 10 runs will be the final result.

Source (Stackoverflow)