Как кластеризация K-Means может работать без пространственной информации? - PullRequest
0 голосов
/ 03 апреля 2019

Возможно, короткий. Просто застрял при работе с K-Means Clustering.

Я посмотрел следующие команды python / skimage:

image_array = image.reshape([-1,3]).astype(np.float32)
kmeans = KMeans(n_clusters=2, random_state=0).fit(image_array)
labels_array = kmeans.labels_
labels = labels_array.reshape([image.shape[0], image.shape[1]])

когда я заметил, что изображения RGB должны быть преобразованы в один длинный массив. Как кластеризация k-средних может знать о двух пространственных измерениях (и о 3-м - цветном), когда я передаю массив?

Или это только мое предположение, что пространственная информация необходима? По крайней мере, цель состоит в том, чтобы минимизировать сумму квадратов внутри кластера. Для этого важно расстояние по осям x, y и по цвету, не так ли?

1 Ответ

0 голосов
/ 17 апреля 2019

Проблема заключалась в том, что я предположил, что возвращается одномерный массив. Вместо трехмерного возвращается изменение формы. Позиционная информация действительно не используется в этом примере K-средних.

...