Sklearn Kmeans参数混乱吗?


问题内容

因此,我可以sklearn kmeans按以下方式运行:

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

但是我对参数的含义有些困惑

所以n_init说:

k均值算法将在不同质心种子下运行的次数。就惯性而言,最终结果将是n_init个连续运行的最佳输出。

max_iter说:

单次运行的k均值算法的最大迭代次数。

但是我不完全理解那是什么意思。n_init给定初始质心集,质心移动到均值附近的次数是多少?

并且是max_iter的次数整个算法与新的初始重心运行?

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

谢谢您的帮助!

[编辑] 还是我在这里的完全相反…?


问题答案:

使用max_iter=2和时n_init=15,kmeans将选择15个初始质心,并在15个运行中的每个运行中向上移动两次。

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