Medida de qualidade de cluster


17

Eu tenho um algoritmo de cluster (não k-means) com o parâmetro de entrada (número de clusters). Após executar o cluster, eu gostaria de obter uma medida quantitativa da qualidade desse cluster. O algoritmo de clustering tem uma propriedade importante. Para se eu alimentar pontos de dados sem nenhuma distinção significativa entre eles para esse algoritmo, obteremos um cluster contendo pontos de dados e um cluster com ponto de dados. Obviamente, não é isso que eu quero. Então, eu quero calcular essa medida de qualidade para estimar a razoabilidade desse cluster. Idealmente, poderei comparar essas medidas para diferentes . Então, executarei o clustering no intervalo dek = 2 N N - 1 1 k kkk=2NN-11kke escolha aquele com a melhor qualidade. Como faço para calcular essa medida de qualidade?

ATUALIZAR:

Aqui está um exemplo quando é um cluster ruim. Digamos que existem 3 pontos em um plano formando triângulo equilátero. Dividir esses pontos em 2 grupos é obviamente pior do que dividi-los em 1 ou 3 grupos.(N-1,1)


Para mim, isso não é óbvio. Eu vejo grupos que, na realidade, têm tamanhos diferentes o tempo todo ...
Anony-Mousse -Reinstate Monica

Respostas:


12

A escolha da métrica depende do que você considera o propósito do armazenamento em cluster. Pessoalmente, acho que o agrupamento deveria ser sobre a identificação de diferentes grupos de observações que foram gerados por um processo diferente de geração de dados. Portanto, eu testaria a qualidade de um clustering gerando dados de processos conhecidos de geração de dados e depois calcularia com que freqüência os padrões são classificados incorretamente pelo clustering. Obviamente, isso envolveu suposições sobre a distribuição de padrões de cada processo de geração, mas você pode usar conjuntos de dados projetados para classificação supervisionada.

Outros vêem o cluster como uma tentativa de agrupar pontos com valores de atributo semelhantes; nesse caso, medidas como SSE etc. são aplicáveis. No entanto, considero essa definição de agrupamento bastante insatisfatória, pois ela apenas diz algo sobre a amostra específica de dados, e não algo generalizável sobre as distribuições subjacentes. Como os métodos lidam com clusters sobrepostos é um problema específico com essa exibição (para a exibição "processo de geração de dados", isso não causa nenhum problema real, você apenas obtém probabilidades de associação ao cluster).


3
1 para destacar a distinção entre com base num modelo de agrupamento versus agrupamento sem supervisão com base puramente-distância.
chl 15/01

1
Acho que ambos os propósitos têm seu uso faire em diferentes configurações. Há muitos contextos em que você realmente faz apenas os dados disponíveis (por exemplo, definição de outlier). Além disso, antes de ser capaz de chegar a diferentes processos de geração de dados, você precisa de exploração, que é o melhor feito com a sua segunda definição ...
Etienne Low-Décarie

Eu concordo Etienne que ambos os métodos têm seus usos. No entanto, eu também diria que se uma observação é externa ou não, implica implicitamente algumas suposições sobre o processo de geração de dados; portanto, a segunda forma de agrupamento talvez seja apenas o primeiro passo para entender os dados quando você estiver tentando se orientar adequadamente.
Dikran Marsupial

4

Como o cluster não é supervisionado, é difícil saber a priori qual é o melhor cluster. Este é um tópico de pesquisa. Gary King, um conhecido cientista social quantitativo, tem um próximo artigo sobre esse assunto.


+! Sim; @ Max O que você acha que esse cluster "óbvio" seria?

@mbq: Na verdade, eu não sei o que seria um bom agrupamento para isso. Por "óbvio", mencionei que (N-1, 1) definitivamente não é um bom agrupamento para isso. Um cluster melhor seria apenas um cluster, portanto, nenhum cluster. Ou talvez algum agrupamento com o número de clusters acima de 2. #
181

Seu link parece estar quebrado.
Etienne Low-Décarie

Aqui está link atualizado para o artigo: gking.harvard.edu/files/abs/discov-abs.shtml
Dolan Antenucci

4

Aqui você tem algumas medidas, mas existem muitas outras:

SSE: soma do erro quadrado dos itens de cada cluster.

Distância inter cluster: soma da distância quadrada entre cada centróide do cluster.

Distância intra cluster para cada cluster: soma da distância quadrada dos itens de cada cluster ao centróide.

Raio máximo: a maior distância de uma instância ao centróide do cluster.

Raio médio: soma da maior distância de uma instância ao centróide do cluster, dividida pelo número de clusters.


Tentei usar a distância intra-cluster, mas não consegui pensar em algo útil para um cluster com um ponto. Também não tenho um ponto central. Eu só tenho distâncias entre pontos.
Max

Quanto maior a distância entre os clusters, melhor você pode medi-lo calculando as distâncias entre o centro dos clusters.
Mariana soffer

4

Você entrou na área de Validação de Cluster. Meu aluno fez a validação usando as técnicas descritas em:

A. Banerjee e RN Dave. Validando clusters usando a estatística hopkins. 2004 Conferência Internacional IEEE sobre Sistemas Difusos IEEE Cat No04CH37542, 1: p. 149-153, 2004.

É baseado no princípio de que, se um cluster é válido, os pontos de dados são distribuídos uniformemente dentro de um cluster.

Porém, antes disso, você deve determinar se seus dados possuem a chamada Tendência de Cluster, ou seja, se vale a pena agrupar e o número ideal de clusters:

S. Saitta, B. Raphael e IFC Smith. Um índice de validade abrangente para cluster. Intell. Data Anal., 12 (6): p. 529-548, 2008.


3

Como outros já apontaram, existem muitas medidas de agrupar a "qualidade"; a maioria dos programas minimiza o SSE. Nenhum número único pode dizer muito sobre ruído nos dados, ou ruído no método, ou mínimos mínimos - pontos baixos em Saskatchewan.

Portanto, primeiro tente visualizar, experimente um determinado agrupamento antes de reduzi-lo para "41". Em seguida, faça três execuções: você obtém SSEs 41, 39, 43 ou 41, 28, 107? Quais são os tamanhos e raios do cluster?

(Adicionado :) Dê uma olhada nas plotagens e pontuações de silhuetas, por exemplo, no livro de Izenman, Modern Multivariate Statistical Techniques (2008, 731p, isbn 0387781889).


3

O Silhouette pode ser usado para avaliar os resultados do cluster. Faz isso comparando a distância média dentro de um cluster com a distância média aos pontos no cluster mais próximo.


2

Um método como o usado em florestas aleatórias não supervisionadas pode ser usado.

Os algoritmos de floresta aleatória tratam a classificação não supervisionada como um problema de duas classes, onde um conjunto de dados artificial e aleatório totalmente diferente é criado a partir do primeiro conjunto de dados, removendo a estrutura de dependência dos dados (randomização).

Você pode então criar um conjunto de dados artificial e aleatório, aplicar seu modelo de cluster e comparar sua métrica de escolha (por exemplo, SSE) em seus dados reais e em seus dados aleatórios.

A mistura de randomização, permutação, bootstrapping, ensacamento e / ou jacknifing pode fornecer uma medida semelhante a um valor P medindo o número de vezes que um determinado modelo de clustering fornece um valor menor para os dados reais do que os dados aleatórios usando uma métrica de escolha (por exemplo, SSE ou previsão de erro fora da bolsa).

Sua métrica é, portanto, diferença (probabilidade, diferença de tamanho, ...) em qualquer métrica de escolha entre dados verdadeiros e aleatórios.

Iterar isso para muitos modelos permitiria distinguir entre modelos.

Isso pode ser implementado em R.

randomforest está disponível em R


+1, eu gosto dessa ideia; no entanto, a randomização / permutação dos dados quebrará apenas relações b / t variáveis, isso não funcionaria se houvesse cluster com uma única variável.
gung - Restabelece Monica

1

Se o algoritmo de agrupamento não for determinístico, tente medir a "estabilidade" dos agrupamentos - descubra com que frequência cada duas observações pertence ao mesmo agrupamento. Esse método geralmente é interessante, útil para escolher o algoritmo k em kmeans.

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.