Sklearn Kmeans 参数混乱?
Sklearn Kmeans parameter confusion?
所以我可以 运行 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 运行 中最好的将是最终结果。
所以我可以 运行 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 运行 中最好的将是最终结果。