Sklearn Kmeans参数混淆?
作者:互联网
因此,我可以按以下方式运行sklearn kmeans:
kmeans = KMeans(n_clusters=3,init='random',n_init=10,max_iter=500)
但是我对参数的含义有些困惑
所以n_init
说:
Number of time the k-means algorithm will be run with different centroid seeds. The final results will be the best output of n_init consecutive runs in terms of inertia.
和max_iter
说:
Maximum number of iterations of the k-means algorithm for a single run.
但是我不完全理解那是什么意思.给定初始质心,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次测试中最好的是最终结果.
标签:scikit-learn,k-means,python 来源: https://codeday.me/bug/20191026/1936771.html