Sklearn Kmeans参数混乱吗?

oce*_*800 6 python k-means scikit-learn

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

kmeans = KMeans(n_clusters=3,init='random',n_init=10,max_iter=500)
Run Code Online (Sandbox Code Playgroud)

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

所以n_init说:

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

max_iter说:

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

但是我不完全理解那是什么意思。n_init给定初始形心集,形心向点平均移动的次数是多少?

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

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

谢谢您的帮助!

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

Bry*_*itz 6

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

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