Seleção de clusters de melhor qualidade não sobrepostos

Digamos, eu fiz cluster no meu conjunto de dados e tenho 10 clusters. Esses clusters não se sobrepõem. Mas agora suponha que eu mudei algum recurso em todos os meus pontos de dados e faça cluster novamente. Agora eu tenho mais 10 clusters. Se eu repetir, diga mais 3 vezes, no final, eu teria 50 clusters. Cada cluster tem uma pontuação associada, calculada a partir dos pontos de dados constituintes.

Esses 50 clusters agora têm pontos de dados sobrepostos. Desejo selecionar todos os clusters não sobrepostos possíveis dentre esses 50, mas com a pontuação total mais alta.

Uma maneira é um método ganancioso, em que classifico os clusters com base na pontuação do maior para o menor. Em seguida, selecione o cluster com maior pontuação. A partir daí, continue selecionando clusters com pontos de dados não sobrepostos com clusters já selecionados. Mas não parece ser a solução ideal, embora seja rápida.

Exemplo: digamos que eu tenho 5 clusters com as seguintes pontuações:

C1 = (A, B, C, D, E, F) Pontuação = 10

C2 = (A, B, C) Escore = 6

C3 = (D, E, F) Escore = 6

C4 = (G, H, I, J) Escore = 5

C5 = (K, L) Escore = 7

A abordagem gananciosa retornará {C1, C4, C5} com uma pontuação total de 10 + 5 + 7 = 22, enquanto a melhor opção é {C2, C3, C4, C5} com uma pontuação total de 6 + 6 + 5 + 7 = 24.

Estou procurando outro método que possa fornecer uma solução ideal ou melhor que a abordagem gananciosa acima mencionada.

questionAnswers(1)

yourAnswerToTheQuestion