2015-12-07 3 views
-1

Я создал кластер kmeans, который я в основном хочу четко отображать. Я пытаюсь добавить местоположение cenrtoid для каждого из кластеров. Сейчас получается нечто вроде этого: current clusterОтображение центроидов анализа kcluster на рисунке

Это 24576x3 матрица размера я побежал kmeans на и реорганизован в 128x192 матрицы:

ClusterFigure = reshape(kmeans(ClusterData, 12), [128 192]); 
imagesc(ClusterFigure); 

Я надеялся, что есть способ, чтобы отобразить cetroids в это презентация удобно. Может быть, какой-то символ, где будет центроид каждого конкретного индекса или что-то в этом роде. У кого-нибудь есть идеи?

+1

Вы можете дать приблизительное представление о том, что именно вы хотите, чтобы ваша фигура выглядела? Также вы можете указать код, который вы использовали для создания текущего показателя. – GameOfThrows

ответ

0

Я бы поставил под вопрос, действительно ли центроиды кластера важны, учитывая, что значения кластера в вашем блобе довольно разбросаны.

Если вы действительно хотите отобразить центроиды кластера, вам, вероятно, придется вычислять их вручную, так как центроиды, заданные kmeans, принимают 1D-вектор, что здесь не так. Вы хотите что-то вроде

for i=1:no_clusters 
[y, x]=find(img==i); 
cy(i)=mean(y); 
cx(i)=mean(x); 
end 

двутавровых просто сюжет центроиды на изображении с помощью небольшой крест для ясности и, вероятно, положить каждый в разные цвета.