A clusterização é um passo essencial no desenvolvimento de modelos de dados. Para realizar uma análise, a quantidade de informação deve ser organizada de acordo com as semelhanças. A questão principal é, quais parâmetros em comum vão fornecer os melhores resultados e o que essa definição de ‘melhor resultado’ envolve.

Este artigo é útil para cientistas de dados ou para especialistas que desejam lembrar a matéria. O artigo inclui os algoritmos de clusterização mais conhecidos, assim como uma revisão mais aprofundada. Dependendo das particularidades de cada método, realizam-se recomendações que consideram as possíveis aplicações.

 

4 Algoritmos básicos e como escolher entre eles

Dependendo dos modelos de clusterização, existem quatro classes comuns de algoritmos que se destacam. Existem mais de 100 algoritmos de clusterização, mas a popularidade da maioria não é tão relevante, assim como o campo de aplicação.

A clusterização, baseada no cálculo da distância entre os objetos do conjunto de dados, é conhecida como conectividade, ou hierárquica. Dependendo na ‘direção’ do algoritmo, o mesmo pode juntar ou, pelo contrário, dividir o conjunto de informação – os nomes aglomerativo ou divisivo tem essa origem. O tipo mais popular é o aglomerativo, onde você inicia inserindo um certo número de datapoints que na sequência são adicionados em clusters cada vez maiores, até que certo limite seja atingido. 

Um dos exemplos mais destacados deste tipo de clusterização é a classificação de plantas. A ‘árvore’ do conjunto de dados começa com uma espécie particular e finaliza com alguns reinos de plantas, cada um consistindo de alguns clusters menores (phyla, classes, ordem, etc.).

Após implementação de um algoritmo baseado em conectividade, recebemos um dendograma de dados que apresenta a estrutura da informação em vez das separações em clusters. Essa propriedade pode ser benéfica ou não: a complexidade do algoritmo pode resultar em excessivo ou simplesmente não aplicável conjunto de dados sem hierarquia. O algoritmo também pode apresentar baixa performance: Devido à abundância de iterações, o processamento completo levará um tempo excessivo. Além do que, você não terá uma estrutura precisa usando o algoritmo hierárquico.

A clusterização baseada em centróide, por experiência é a modelagem usada com mais frequência devido à simplicidade comparativa. O modelo tem por objetivo classificar cada objeto do conjunto de dados em um cluster particular. O número de clusters é determinado de forma aleatória, o qual provavelmente é a m

aior fraqueza do método. O algoritmo k-means é especialmente popular na comunidade de aprendizado de máquina devido a sua semelhança com o método de k-nearest neighbors (kNN). 

O processo de cálculo consiste em vários passos. O primeiro dado de entrada a ser fornecido é o número de clusters no qual o conjunto de dados será dividido. Os centros dos clusters devem estar separados entre si o máximo possível para que possam incrementar a acurácia dos resultados.

Depois, o algoritmo calcula as distâncias entre os objetos do conjunto de dados e cada cluster. A coordenada menor (em termos da representação gráfica) determina a qual cluster o objeto é movimentado.

Na sequência, o centro do cluster é recalculado de acordo as médias das coordenadas de todos os objetos do cluster. O primeiro passo é repetido, mas com o novo centro. Tais iterações continuam até que certas condições sejam atingidas. Por exemplo, o algoritmo pode ter seu fim caso o centro do cluster não seja movimentado de forma significativa desde a última iteração.

Apesar da simplicidade – matemática e de código – o algoritmo de k-means tem algumas desvantagens que não favorecem seu uso em todos os casos. Estas incluem:

  • As fronteiras dos cluster tem um papel negligente, a prioridade é focada no centro;
  • Não permite a criação de estrutura com objetos que possam ser classificados a múltiples clusters;
  • Necessidade de supor um número ótimo k, ou necessidade de fazer cálculos preliminares para especificar esse parâmetro.

Por outro lado, o algoritmo Expectation-maximization (EM) permite evitar essas desvantagens e fornece melhores níveis de acurácia. De forma simplificada, o algoritmo calcula a relação de probabilidade entre cada dado do conjunto e todos os clusters especificados. As principais ferramentas usadas para este modelo de clusterização são os Modelos Mistura de Gaussianas (GMM) – considerando que os dados seguem uma distribuição gaussiana.

O algoritmo k-means é basicamente uma versão simplificada do EM. Ambos os algoritmos requerem uma configuração manual do número de clusters, e essa é a principal desvantagem destes modelos. Porém, os princípios de implementação (GMM ou k-means) são simples: o número aproximado de clusters é especificado gradualmente com cada iteração. 

Diferente dos modelos baseados em centróide, o algoritmo EM permite que os dados sejam classificados em dois ou mais clusters – o método apresenta a possibilidade de cada evento. Além, as fronteiras de cada cluster fazem parte de elipsóides de vários tamanhos, diferente do k-means onde o cluster é representado visualmente por um círculo. Porém, o algoritmo não funciona em conjunto de dados onde os elementos não apresentam uma distribuição gaussiana. Essa é a principal desvantagem: é mais aplicável em problemas teóricos do que em observações mais realísticas.

Finalmente, o predileto dos cientistas de dados, clusterização baseada em densidade. O nome sinaliza o ponto principal do modelo – dividir o conjunto de dados em clusters que tem como parâmetro a distância ε, o comprimento da “vizinhança”. Se um dado é localizado dentro do círculo de raio ε, este pertence ao cluster.

Passo a passo, o algoritmo DBSCAN (Clusterização espacial baseada em densidade para aplicações com ruído) verifica cada objeto, muda seu status para “verificado”, e o classifica como cluster o ruído, até que conjunto completo de dados seja processado. Os clusters determinados pelo DBSCAN podem ter diferentes configurações, porém estas são precisas. Além do que, o algoritmo calcula o número de cluster de forma automática.

Porém, ainda um algoritmo sucedido como o DBSCAN tem desvantagens. Se o conjunto de dados consiste de clusters de densidade variável, o método pode não apresentar bons resultados. Talvez não seja o mais apropriado se os dados estão muito próximos entre si, e caso o parâmetro ε não possa ser estimado corretamente.

Em resumo, não existe o melhor ou pior algoritmo de clusterização – alguns são mais apropriados para algumas estruturas de dados em particular. Para selecionar o melhor em cada caso, deve-se ter um entendimento completo das vantagens, desvantagens e peculiaridades.

Alguns algoritmos podem ser excluídos no início do estudo se por exemplo não correspondem com as especificações do conjunto de dados. Para evitar trabalho desnecessário, pode-se investir pouco tempo estudando certas informações em vez de escolher o caminho de tentativa e erro, onde se aprende com próprios erros.

 

Fonte: kdnuggets.com

 

Share This