python - пример - sklearn clustering




Scikit-learn, KMeans: как использовать max_iter (2)

Да, вы неверно интерпретируете параметр.

Одна итерация - это один проход по всему набору данных . Если у вас есть 100 объектов, одна итерация назначает 100 очков. если у вас есть 10000 объектов, одна итерация обрабатывает 10000 объектов.

Есть более умные алгоритмы; но sklearn k-mean обрабатывает каждый объект на каждой итерации.

Я хотел бы понять параметр max_iter из класса sklearn.cluster.KMeans .

Согласно документации:

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/visualizing-k-means-clustering/

Каждый раз, когда вы нажимаете update centroids, выполняется новая итерация. Это имеет смысл, потому что, когда центроиды перемещаются, расстояния до этих центроидов также изменяются, и некоторые точки могут менять кластер.





k-means