Scikit-Learn,Kmeans:如何使用max_iter



我想了解sklearn.cluster.kmeans的参数max_iter。

根据文档:

max_iter : int, default: 300
Maximum number of iterations of the k-means algorithm for a single run.

但是,我认为,如果我有100个对象,则代码必须运行100次,如果我有10.000对象,则代码必须运行10.000次才能对每个对象进行分类。另一方面,在所有对象上运行几次是没有意义的。

我的误解是什么,我必须如何解释此参数?

在这里查看:

https://www.naftaliharris.com/blog/visalizing-k-means-clustering/

每次单击更新质心时,都会执行新的迭代。这是有道理的,因为当质心移动时,这些质心的距离也会改变,并且某些点可能会改变群集。

是的,您正在误解参数。

一个迭代是一个通过整个数据集的通行证。如果您有100个对象,则一个迭代分配100点。如果您有10000个对象,则一个迭代处理10000个对象。

有更多聪明的算法;但是sklearn k-means处理每个迭代中的每个对象。

相关内容

  • 没有找到相关文章

最新更新