2016-11-30 86 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。 –