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:

Post_Cluster_Pratica

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;
  3. Verificar a distância de cada indivíduo para cada um dos grupos/clusters;
  4. “Colocar” cada indivíduo no grupo/cluster cuja distância obtida foi a menor;
  5. Verificar a média de cada grupo/cluster formado;
  6. Recalcular as distâncias;
  7. “Colocar” cada indivíduo no grupo/cluster cuja distância obtida foi a menor;
  8. 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.

Post_Cluster_Pratica6

Passo 2: Definir valores iniciais para cada grupo/cluster

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

Post_Cluster_Pratica8

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 os centróides definidos de forma aleatória. 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.

Post_Cluster_Pratica_9Post_Cluster_Pratica10Post_Cluster_Pratica11

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.

Post_Cluster_Pratica12

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:

Post_Cluster_Pratica13

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:

Post_Cluster_Pratica15

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. Farei isso mais para a frente e disponibilizarei o arquivo.

Esse é o resultado final obtido:

Post_Cluster_Pratica16

Anúncios

2 comentários

    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

      Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s