У мене є (симетрична) матриця, M
яка представляє відстань між кожною парою вузлів. Наприклад,
ABCDEFGHIJKL А 0 20 20 20 40 60 60 60 100 120 120 120 В 20 0 20 20 60 80 80 80 120 120 140 140 140 C 20 20 0 20 60 80 80 80 120 120 140 140 140 D 20 20 20 0 60 80 80 80 120 140 140 140 140 E 40 60 60 60 0 20 20 20 60 80 80 80 F 60 80 80 80 20 0 20 20 40 60 60 60 G 60 80 80 80 20 20 0 20 60 80 80 80 H 60 80 80 80 20 20 20 0 60 80 80 80 I 100 120 120 120 60 40 60 60 0 20 20 20 J 120 140 140 140 80 60 80 80 20 0 20 20 K 120 140 140 140 80 60 80 80 20 20 0 20 L 120 140 140 140 80 60 80 80 20 20 20 0
Чи є спосіб вилучення кластерів M
(якщо потрібно, кількість кластерів може бути фіксовано) таким чином, що кожен кластер містить вузли з невеликими відстанями між ними. У прикладі кластери будуть (A, B, C, D)
, (E, F, G, H)
і (I, J, K, L)
.
Я вже пробував UPGMA та k
-means, але отримані кластери дуже погані.
Відстані - це середні кроки, пройдені випадковим ходовим ходом, щоб перейти від вузла A
до вузла B
( != A
) та повернутися до вузла A
. Це гарантовано, що M^1/2
це показник. Щоб запустити засоби k
, я не використовую центр. Я визначаю відстань між n
кластерними вузлами c
як середню відстань між n
усіма вузлами в c
.
Дуже дякую :)