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次,然后停止。然后,它将从两次运行中挑选出最佳的选择吗?
谢谢您的帮助!
[编辑] 还是我在这里的完全相反…?
问题答案:
使用max_iter=2
和时n_init=15
,kmeans将选择15个初始质心,并在15个运行中的每个运行中向上移动两次。
默认值为n_init=10
和max_iter=300
。这意味着初始质心将被选择10次,并且每次运行最多将使用300次迭代。这10次测试中最好的是最终结果。