Sklearn Kmeans 参数混乱?

Sklearn Kmeans parameter confusion?

所以我可以 运行 sklearn kmeans 如下:

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

但我对参数的含义有点困惑

所以 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.

max_iter 说:

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

但是我不完全明白那是什么意思。给定一组初始质心,n_init 是质心移近点平均值的次数吗?

并且 max_iter 整个算法 运行 具有新初始质心的次数是多少?

因此,例如,对于 max_iter=2n_init=15,kmeans 将选择初始质心,然后将这些质心移动 15 次并得出聚类结果。然后 kmeans 将再次选择初始质心,将这些质心移动 15 次,然后停止。然后,它会从两个 运行 中挑选出最好的集群?

感谢您的帮助!

[编辑] 或者与我这里的完全相反......?

对于 max_iter=2n_init=15,kmeans 将选择初始质心 15 次,并在 15 个 运行 中的每一个上移动两次。

默认值为 n_init=10max_iter=300。这意味着初始质心将被选择 10 次,每个 运行 将使用多达 300 次迭代。这 10 运行 中最好的将是最终结果。