Alguém pode explicar o C-Index no contexto de cluster hierárquico?


8

Este é um acompanhamento para esta pergunta. Atualmente, estou tentando implementar o índice C para encontrar um número quase ideal de clusters de uma hierarquia de clusters. Eu faço isso calculando o Índice C para cada etapa do cluster hierárquico (aglomerativo). O problema é que o índice C é mínimo (0 para ser exato) para agrupamentos muito degenerados. Considere isto:

c=SSminSmaxSmin

Nesse caso, é a soma de todas as distâncias entre pares de observações no mesmo cluster em todos os clusters. Seja o número desses pares. e são as somas de distâncias mais baixas / mais altas em todos os pares de observações. Na primeira etapa do cluster hierárquico, as duas observações mais próximas (distância mínima) são mescladas em um cluster. Seja a distância entre essas observações. Agora, há um par de observações no mesmo cluster, então (todos os outros clusters são singletons). Consequentemente . O problema é que também é igual aSnSminSmaxndn=1S=dSmind, porque é a menor distância (é por isso que as observações foram mescladas primeiro). Portanto, para este caso, o C-Index é sempre 0. Ele permanece 0 enquanto apenas os clusters singleton são mesclados. Isso significa que o agrupamento ideal de acordo com o C-Index consistiria sempre em um grupo de clusters contendo duas observações e os demais singletons. Isso significa que o C-Index não é aplicável ao cluster hierárquico? Estou fazendo algo errado? Pesquisei bastante, mas não encontrei nenhuma explicação adequada. Alguém pode me indicar algum recurso disponível gratuitamente na internet? Ou, se não, pelo menos um livro que eu possa tentar obter na minha biblioteca da universidade?d

Desde já, obrigado!


Sua observação está correta, mas está tudo bem com o índice C. O índice C é 0 quando a solução de agrupamento observada não difere da melhor teoricamente "ideal" sob o número determinado (observado) de distâncias dentro do agrupamento. Considere um conjunto de dados que consiste em pares estreitos de objetos e os pares estão bastante distantes. O cluster hierárquico sob praticamente qualquer método de ligação primeiro - nas etapas iniciais - "coletará" os objetos nesses pares. E todo esse tempo o índice C permanecerá 0. Mais tarde, o agrupamento se fundirá entre os pares separados: o índice C piorará abruptamente.
Ttnphns

O algoritmo para calcular o índice C é mostrado aqui stats.stackexchange.com/q/343878/3277 .
Ttnphns

PS Não esqueça que o C-Index é o mais baixo (mais próximo de 0) é o melhor!
Ttnphns

Respostas:


2

Este pode ser um dos casos em que há mais arte do que ciência no agrupamento. Sugiro que você deixe seu algoritmo de clustering funcionar por um curto período de tempo antes de permitir que os cálculos do Índice C entrem em ação. "Pouco tempo" pode ser após o processamento de alguns pares, justamente quando ele começa a exceder 0 ou alguma outra heurística. (Afinal, você não espera parar em 1 ou 2 clusters, caso contrário, um algoritmo de separação diferente pode ter sido implantado.)

Para uma recomendação de livro, posso sugerir:

Você pode digitalizar / pesquisar o conteúdo disponível no Google Livros para ver se ele pode atender às suas necessidades. Funcionou como uma referência para mim no passado.


Opa, você está usando métodos aglomerativos, para que a parte "1 ou 2 clusters" não faça sentido - o "inverso" se aplica, você não deseja n-1 ou n-2 singletons, etc., ou seja, deixando o agrupamento trabalhar um pouco antes de aplicar os critérios de validade não deve ser problemático.
ars
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.