2016-11-30 64 views
1

所以我可以运行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=15,kmeans将选择初始质心,然后移动这些质心15次,并提出一个聚类结果。然后kmeans将再次选择初始质心,移动这些质心15次,然后停止。那么,它会从这两次运行中挑选出最好的玩家吗?

感谢您的帮助!

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

回答

2

随着max_iter=2n_init=15,kmeans将选择初始质心15次,并在15次运行中每次移动两次。

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

+0

这清理了我的困惑,谢谢!将在6分钟内接受:) – ocean800

+0

感谢编辑@Sachith。 –