Я решаю проблему, в которой у меня есть массив географических регионов n (широта, долгота, радиус). Предположим, у меня есть 10 географических регионов. Теперь мне нужно сгруппировать эти ближайшие 10 регионов как N кластер. Например,
val list: List = 0 ... 10
val group: Map = findNearest (list: List, cluster: Int)
Я ожидаю от этого, если область A и C вместе, затем давайте сгруппируем их вместе и создадим кластер. Если B и D близки по отношению к расстоянию, образуют кластер. И если cluster
было 3
, тогда. Я должен получить 3 clusters
, так как выход 3 из них находятся близко друг к другу, например [A, E, C, L], [B, F, H, J], [X, O]
Итак, чего я добился, мне удалось найти расстояние как нижнюю диагональную матрицу, описанную здесь. https://www.researchgate.net/figure/Distance-matrix-of-symmetric-TSP-of-8-cities_fig1_275947104
Моя проблема: я применил https://github.com/lbehnke/hierarchical-clustering-java, но он просто автоматически создает количество кластеров, а дочерний кластер зависит от родительского кластера, но я хочу рассматривать каждый кластер как отдельную личность. как я показал выше. Может ли кто-нибудь помочь мне с этим? Предположим, что если размер cluster
равен 4, я должен получить это