Значение итерации scipy kmeans?

Я использую алгоритм kmeans2 от scipy до кластерных цветов пикселей на изображении, чтобы получить самые высокие средние цвета на изображении.

http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.vq.kmeans2.html#scipy.cluster.vq.kmeans2

Меня смущает значение этого параметра:

iter : int
Number of iterations of the k-means algrithm to run. Note that this differs in meaning from the iters parameter to the kmeans function.

Если я хочу, чтобы алгоритм kmeans работал до тех пор, пока кластеры не изменятся, должен ли я установить высокое значение iter? Есть ли способ найти наилучшее значение iter?


person Michael Johnston    schedule 13.07.2013    source источник


Ответы (1)


Алгоритм K-средних работает путем инициализации некоторых K точек и кластеризации ваших данных по их расстоянию от этих точек. Затем выполняется итерация путем вычисления центроида каждого кластера и переопределения кластеров по расстоянию от центроида. Это не гарантирует быструю сходимость, хотя часто это происходит, поэтому запрашивается максимальное значение итерации.

редактировать: максимальное значение итерации. неверно. Я думаю, что буквально будет повторяться iter раз. Однако значение по умолчанию 10 является общим значением iter.

Чем выше значение iter, тем лучше кластеризация. Вы можете попробовать запустить K-means для некоторых ваших данных с различными значениями iter и посмотреть, где время вычислений для некоторого повышения качества кластера слишком велико для ваших нужд.

person seth    schedule 13.07.2013
comment
Ах, хорошо, если я установлю iter=9999, он не обязательно будет повторять 9999, но пока не сойдется - person Michael Johnston; 13.07.2013
comment
Есть ли способ бесконечно повторять? Также есть ли способ показать, сколько итераций произошло, когда он сходится? - person Michael Johnston; 13.07.2013
comment
Я не уверен насчет scipy, однако следует прямолинейно повторно реализовать kmeans по своему вкусу, но с модулями numpy и scipy для поддержания скорости. - person seth; 13.07.2013