O que é clustering?

Suponha que você esteja trabalhando com um conjunto de dados que inclua informações de pacientes de uma no sistema de saúde. O conjunto de dados é complexo e inclui dados categóricos atributos numéricos. Você quer encontrar padrões e semelhanças no conjunto de dados. Como você poderia abordar essa tarefa?

O clustering é um processo não supervisionado técnica de machine learning projetada para agrupar exemplos sem rótulos com base na semelhança entre eles. Se os exemplos estiverem rotulados, esse de agrupamento é chamado classificação. Considere um paciente hipotético projetado para avaliar um novo protocolo de tratamento. Durante o estudo, os pacientes informam quantas vezes por semana apresentam sintomas e a gravidade dos sintomas. Os pesquisadores podem usar a análise de clustering para agrupar pacientes com problemas semelhantes de tratamento em clusters. A Figura 1 demonstra um agrupamento possível de dados simulados em três grupos.

À esquerda, um gráfico de gravidade x contagem de sintomas
   mostrando pontos de dados que sugerem três clusters.
   À direita, o mesmo gráfico, mas com cada um dos três clusters coloridos.
Figura 1: exemplos não rotulados agrupados em três clusters (dados simulados).

Analisando os dados não rotulados à esquerda da Figura 1, você pode adivinhar que os dados formam três grupos, mesmo sem uma definição formal de semelhança entre os pontos de dados. No entanto, em aplicativos reais, é preciso entender definir uma medida de similaridade, ou a métrica usada para comparar amostras, em em relação aos atributos do conjunto de dados. Quando os exemplos têm apenas alguns atributos, visualizar e medir a similaridade é simples. Mas, como o número de os recursos aumentam, a combinação e a comparação deles se tornam menos intuitivas e mais complexo. Diferentes medidas de similaridade podem ser mais ou menos apropriadas para diferentes cenários de clustering. Além disso, este curso abordará como escolher uma medida de similaridade apropriada nas próximas seções: Medidas manuais de similaridade e Medida de semelhança de embeddings.

Após o clustering, cada grupo recebe um rótulo exclusivo chamado ID do cluster. O clustering é eficiente porque simplifica conjuntos de dados grandes e complexos muitos recursos para um único ID de cluster.

Casos de uso de clustering

O clustering é útil em vários setores. Alguns aplicativos comuns para clustering:

  • Segmentação de mercado
  • Análise de redes sociais
  • Agrupamento de resultados da pesquisa
  • Imagiologia médica
  • Segmentação de imagens
  • Detecção de anomalias

Alguns exemplos específicos de clustering:

  • O diagrama de Hertzsprung-Russell mostra aglomerados de estrelas quando organizados por luminosidade e temperatura.
  • O sequenciamento genético que mostra semelhanças genéticas até então desconhecidas e as diferenças entre as espécies levaram à revisão das taxonomias que antes se baseava em aparições.
  • Os cinco maiores de traços de personalidade foi desenvolvido com base no agrupamento de palavras que descrevem a personalidade em cinco grupos. A HEXACO (link em inglês) usa 6 clusters em vez de 5.

Imputação

Quando alguns exemplos em um cluster têm dados de atributos ausentes, é possível inferir a dados ausentes de outros exemplos no cluster. Isso é chamado imputação. Por exemplo, os vídeos menos famosos podem ser agrupados com vídeos mais populares para melhorar as recomendações de vídeo.

Compactação de dados

Conforme discutido, o ID do cluster relevante pode substituir outros recursos de todos no cluster. Essa substituição reduz o número de recursos e e reduz os recursos necessários para armazenar, processar e treinar modelos nesses dados. Para conjuntos de dados muito grandes, essas economias se tornam significativas.

Por exemplo, um único vídeo do YouTube pode ter dados de recursos, incluindo:

  • local, horário e informações demográficas do espectador
  • carimbos de data/hora de comentários, texto e IDs dos usuários
  • tags de vídeo

O agrupamento de vídeos do YouTube substitui esse conjunto de recursos por um ID de cluster único, compactando os dados.

Preservação da privacidade

Para preservar a privacidade, agrupe os usuários e associe os dados deles com IDs de cluster em vez de IDs de usuário. Para dar um exemplo possível, digamos que você queira de treinar um modelo com base nas histórico de exibição. Em vez de transmitir IDs de usuário ao modelo, agrupe os usuários e transmita apenas o ID do cluster. Isso evita que os históricos de exibição individuais sejam anexados a usuários individuais. Observação que o cluster precisa conter um número suficiente de usuários para preservar a privacidade.