Clusterização na Prática

Introduzi a noção de técnicas de agrupamento no post: Técnicas de Clustering: K-Means. Porém, ficou faltando um exemplo prático de construir o algoritmo por conta própria. Aqui, vou apresentar uma aplicação da técnica utilizando distâncias euclidianas no software Excel.

Basicamente, o seu problema é identificar indivíduos parecidos entre si e agrupá-los. O processo se resume em obter algumas informações dos indivíduos (e.g.: idade, altura, peso e PIB da cidade em que vive), escolher o número de grupos em que queremos separa-los e fazer com que os indivíduos mais parecidos entre si estejam no mesmo grupo.

Abaixo, temos nossos dados para utilizarmos nesse exemplo:

 

Lembre-se que, de forma resumida, o passo à passo dessa clusterização é:

    1. Escolher quantos grupos/clusters desejamos ter ao fim da clusterização;
    2. Definir valores iniciais para cada grupo/cluster;
  1. Verificar a distância de cada indivíduo para cada um dos grupos/clusters;
  2. “Colocar” cada indivíduo no grupo/cluster cuja distância obtida foi a menor;
  3. Verificar a média de cada grupo/cluster formado;
  4. Recalcular as distâncias;
  5. “Colocar” cada indivíduo no grupo/cluster cuja distância obtida foi a menor;
  6. Refazer os passos 6 e 7 até que o recálculo não altere o agrupamento.

Passo 1: Escolher quantos grupos/clusters desejamos ter ao fim da clusterização

Primeiro, vamos definir a quantidade de agrupamentos que gostaríamos de ter. Como a quantidade é pequena, meu objetivo aqui será obter três grupos distintos.

Passo 2: Definir valores iniciais para cada grupo/cluster

Escolhi aleatoriamente o valor para cada um dos três grupos.

Passo 3: Verificar a distância de cada indivíduo para cada um dos grupos/clusters

Aqui, calculamos a distância euclidiana de cada indivíduo para cada um dos centróides que foram definidos inicialmente. A distância é calculada tirando a raiz quadrada das diferenças entre cada par de pontos elevada ao quadrado. As fórmulas das distâncias com relação a cada um dos três centróides é destacada abaixo.

Passo 4: “Colocar” cada indivíduo no grupo/cluster cuja distância obtida foi a menor

Agora, como queremos que cada grupo tenha indivíduos semelhantes entre si, a menor distância ao centróide deve definir o grupo ao qual o indivíduo pertence. Em outras palavras, você verá qual a menor distância entre as 3 calculadas e o centróide de menor distância definirá o cluster ao qual o ponto pertence.

Passo 5: Verificar a média de cada grupo/cluster formado

Como esses centróides foram definidos aleatoriamente, é possível fazer agrupamentos melhores. A forma de se fazer isso é atualizando os centróides com as médias de cada grupo. No Excel, a forma mais fácil de se fazer é utilizando a fórmula mediase(), conforme a imagem abaixo:

Passo 6: Recalcular as distâncias

Agora, atualizamos os centróides utilizados inicialmente. Basta copiar e colar valor, transferindo o conteúdo da tabela “Atualizando os Centróides” para a tabela inicial:

Nota que os valores de atualização dos centróides foram atualizados automaticamente. Ou seja, para completar os passos seguintes, precisamos apenas copiar e colar valor inúmeras vezes, até que esse valor não se altere mais. No nosso caso, apenas mais uma vez já resolverá o problema. Para outros casos, principalmente quando tivermos mais valores, é ideal construir uma macro no Excel – ou usar softwares mais robustos.

Farei isso mais para a frente e disponibilizarei o arquivo.

Esse é o resultado final obtido:

 

 

0 comentários em “Clusterização na Prática”

  1. Bom dia.
    Primeiro excelente material.
    Contudo gostaria de saber, como posso separar dentro de um cluster os indivíduos com mais relevância.?
    Gostei do modelo de cluster, contudo quero poder saber os mais relevantes de cada cluster.

    Obrigado.

    1. Olá Alessandro. Veja bem, a clusterização é basicamente juntar indivíduos semelhantes. Não existe ninguém mais relevante. Isso daí dependeria de um critério seu. Mas as técnicas de clusterização simplesmente estão dizendo “estes indivíduos A e B do grupo 1 tem mais semelhanças entre si do que os C e D do grupo 2.” Relevância, no meu entendimento, não tem muito a ver com a técnica. O que você talvez pudesse fazer era (1) considerar relevantes indivíduos com caracterísica X ou Y a sua escolha (2) ver quem está mais próximo do centróide

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *