Avaliação dos resultados

Como o clustering não é supervisionado, informações empíricas disponíveis para verificação resultados. A ausência de verdade complica as avaliações de qualidade. Além disso, conjuntos de dados do mundo real normalmente não oferecem clusters óbvios de exemplos, como exemplo mostrado na Figura 1.

Um gráfico mostrando três grupos claros de pontos de dados
Figura 1: gráfico de dados ideal. Dados reais raramente têm essa aparência.

Em vez disso, os dados do mundo real costumam se parecer mais com a Figura 2, o que dificulta avaliar visualmente a qualidade do clustering.

Gráfico com pontos de dados aleatórios.
Figura 2: um gráfico de dados mais realista

No entanto, é possível aplicar heurísticas e práticas recomendadas de forma iterativa para melhorar a qualidade do clustering. O fluxograma a seguir mostra visão geral de como avaliar os resultados de clustering. Vamos falar mais sobre cada etapa.

Fluxograma do processo de verificação
Clique aqui para ver uma versão ampliada do gráfico.

Etapa 1: avaliar a qualidade do clustering

Primeiro, verifique se os clusters têm a aparência esperada e se os exemplos que consideram semelhantes aparecem no mesmo cluster.

Em seguida, confira estas métricas usadas com frequência (não é uma lista completa):

  • Cardinalidade do cluster
  • Magnitude do cluster
  • Desempenho downstream

Cardinalidade do cluster

A cardinalidade do cluster é o número de exemplos por cluster. Representar o cardinalidade de cluster para todos os clusters e investigar clusters que são grandes outliers. Na Figura 2, isso seria o cluster 5.

Um gráfico de barras mostrando a cardinalidade
de vários clusters. O cluster 5 é menor que o restante.
Figura 2: cardinalidade de vários clusters.

Magnitude do cluster

magnitude do cluster é a soma das distâncias de todos os exemplos em um cluster; ao centroide do cluster. Traçar a magnitude do cluster para todos os clusters e e investigar outliers. Na Figura 3, o cluster 0 é um outlier.

Considere também a distância máxima ou média dos exemplos dos centroides, por cluster, para encontrar outliers.

Um gráfico de barras mostrando a magnitude
          em vários clusters. O cluster 0 é muito maior que os outros.
Figura 3: magnitude de vários grupos.

Magnitude versus cardinalidade

Talvez você tenha notado que uma cardinalidade de cluster maior corresponde magnitude de cluster, o que faz sentido porque quanto mais pontos em um cluster (cardinalidade), maior será a soma provável das distâncias entre pontos do centroide (magnitude). Também é possível identificar clusters anômalos procurando aqueles em que essa relação entre cardinalidade e magnitude é muito diferente dos outros clusters. Na Figura 4, ajustar uma linha o gráfico de cardinalidade e magnitude sugere que o cluster 0 é anômalo. (O cluster 5 também está longe da linha, mas se o cluster 0 tiver sido omitido, o novo linha ajustada seria muito mais próxima do cluster 5.)

Um gráfico de dispersão mostrando
          a cardinalidade versus magnitude de vários clusters. Um
          cluster é um outlier no gráfico.
Figura 4: cardinalidade x magnitude dos clusters mostrados anteriormente.

Desempenho downstream

Como as saídas de clustering são frequentemente usadas em sistemas de ML downstream, confira o desempenho do modelo downstream melhora quando o processo de clustering muda. Ela oferece uma avaliação realista da qualidade dos resultados de clustering, embora possa ser complexo e caro realizar esse tipo de teste.

Etapa 2: reavaliar sua medida de similaridade

Seu algoritmo de clustering é tão bom quanto a medida de similaridade. Confirme se sua medida de similaridade retorna resultados razoáveis. Uma verificação rápida é identificar pares de exemplos conhecidos como mais ou menos semelhantes. Calcule de similaridade para cada par de exemplos e compare seus resultados com seu conhecimento: pares de exemplos parecidos devem ter maior semelhança medir do que pares de exemplos diferentes.

Os exemplos que você usa para verificar pontualmente sua medida de similaridade devem ser representativos do conjunto de dados, para ter certeza de que sua semelhança a medida é válida para todos os seus exemplos. O desempenho do seu medida de similaridade, seja ela manual ou supervisionada, precisa ser consistente em no conjunto de dados. Se a medida de semelhança for inconsistente em alguns exemplos, esses não serão agrupados com exemplos semelhantes.

Se você encontrar exemplos com pontuações de similaridade imprecisas, então sua semelhança medida provavelmente não captura totalmente os dados de atributos que distinguem essas exemplos. Teste sua medida de similaridade até que ela retorne mais resultados precisos e consistentes.

Etapa 3: encontrar o número ideal de clusters

O k-means exige que você decida o número de clusters \(k\) com antecedência. Como a determinar um \(k\)ideal? Tente executar o algoritmo com valores crescentes de \(k\) e anote a soma de todas as magnitudes de cluster. Conforme \(k\) aumenta, os agrupamentos ficam menores e a distância total dos pontos dos centroides diminui. Podemos tratar essa distância total como uma perda. Trace essa distância em relação ao número de agrupamentos.

Como mostrado na Figura 5, acima de um determinado \(k\), a redução da perda torna-se marginal com aumento de \(k\). Considere usar o \(k\) em que a inclinação primeiro tem uma mudança drástica, chamada de método elbow. Para o no gráfico, o ideal \(k\) é aproximadamente 11. Se você preferir uma análise mais detalhada, clusters, é possível escolher um \(k\)maior, consultando esse gráfico.

Um gráfico mostrando a perda
em comparação com os clusters usados. A perda diminui à medida que o número de clusters aumenta até
ele nivela cerca de 10 clusters
Figura 5: perda x número de clusters

Perguntas sobre solução de problemas

Se você descobrir problemas no decorrer de sua avaliação, reavalie seus dados etapas de preparação e medida de similaridade escolhida. Pergunte:

  • Seus dados são dimensionados adequadamente?
  • Sua medida de similaridade está correta?
  • Seu algoritmo está executando operações semanticamente significativas nos dados?
  • As suposições do seu algoritmo correspondem aos dados?