Как найти координаты кластера в k-средних - PullRequest
0 голосов
/ 05 марта 2011

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

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

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

И, наконец, здесь - это ссылка на реализацию, а еще одна .

0 голосов
/ 23 декабря 2012

Алгоритмы K-средних обычно вычисляют центроиды кластеров. Например, в реализации R:

n.clin <- 10
n.pop <- 100
clinicdat <- data.frame( x=runif(n.clin), y=runif(n.clin) )
popdat <- data.frame( x=runif(n.pop), y=runif(n.pop), pop=sample(1:5000, n.pop) )
plot(popdat$y~popdat$x, col="grey")
points(clinicdat$y~clinicdat$x, col="red")
km <- kmeans( subset(popdat,select=c(x,y)), n.clin )
points( fitted(km, method="centers"), col="green" )

enter image description here

...