所以我可以按以下方式运行sklearn kmeans
:
kmeans = KMeans(n_clusters=3,init='random',n_init=10,max_iter=500)
但我对参数意味着什么感到困惑
所以n_init
说:
使用不同质心种子运行k-means算法的时间。根据惯性,最终结果将是n_init连续运行的最佳输出。
和max_iter
说:
单次运行的k-means算法的最大迭代次数。
但我不完全明白这意味着什么。 n_init
在给定初始质心集的情况下,质心移动到点附近的次数是多少?
max_iter
整个算法使用新的初始质心运行的次数是多少?
例如,对于max_iter=2
,n_init=15
,kmeans将选择初始质心,然后将这些质心移动15次并得出聚类结果。然后kmeans将再次选择初始质心,移动那些质心15次,然后停止。然后,它将从两次运行中挑选最好的clutering?
感谢您的帮助!
[编辑] 的 或者与我在这里完全相反......?
答案 0 :(得分:4)
使用max_iter=2
和n_init=15
,kmeans将选择15次初始质心,并在15次运行中每次运动最多两次。
默认值为n_init=10
和max_iter=300
。这意味着初始质心将被选择10次,每次运行将使用多达300次迭代。这10次运行中最好的将是最终结果。