重要参数max_iter & tol:让迭代停下来
之前描述K-Means的基本流程时我们提到过,当质心不再移动,K-Means算法就会停下来。但在完全收敛之前,我们也可以使用max_iter,最大迭代次数,或者tol,两次迭代间Inertia下降的量,这两个参数来让迭代提前停下来。有时候,当我们的n_clusters选择不符合数据的自然分布,或者为了业务需求,必须要填入与数据的自然分布不合的n_clusters,提前让迭代停下来反而能够提升模型的表现。
max_iter:
整数,默认300
单次运行K-Means允许的最大迭代次数
tol:
浮点数,默认1e-4
两次迭代间Inertia下降的量,如果两次迭代之间Inertia下降的值小于tol所设定的值,迭代就会停下
再次使用我们在博文《sklearn机器学习:K-Means》中建立的各向同性高斯团簇的数据点集:
random = KMeans(n_clusters=4,init='random',max_iter=1

K-Means算法可以通过max_iter设置最大迭代次数或tol设定Inertia下降阈值提前终止。当质心变化小于tol或达到max_iter时,算法停止。在某些情况下,提前停止能提升模型性能,尤其是在n_clusters选择与数据分布不符时。
最低0.47元/天 解锁文章
1312

被折叠的 条评论
为什么被折叠?



