Top Banner
86

Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sep 20, 2018

Download

Documents

vonga
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Técnicas de Clustering: Algoritmos K-means e

Aglomerative

Danilo Oliveira, Matheus Torquato

Centro de Informática

Universidade Federal de Pernambuco

9 de outubro de 2012

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 1 / 86

Page 2: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sumario

1 IntroduçãoTipos de clustering

2 Medidas de similaridade

3 Algoritmos hierárquicos

4 Algoritmos não hierárquicosK-meansK-means++Clustering na ferramenta WEKA

5 Clustering baseado em densidadeDBSCAN

6 Atividade prática

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 2 / 86

Page 3: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Introdução

Classi�car é um dos métodos mais comuns no cotidiano.

Em síntese, consiste num processo de atribuir rótulos a objetos quepossuem características semelhantes.

Constitue um dos alicerces da linguagem natural.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 3 / 86

Page 4: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Por quê classi�car?

Organizar massas de dados;

Aumentar a e�ciência na recuperação da informação.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 4 / 86

Page 5: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Por quê classi�car?

Crescimento da complexidade de alguns conjuntos de dados;

Necessidade de padrões bem-de�nidos para tomada de decisão.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 5 / 86

Page 6: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Por quê classi�car?

Crescimento da complexidade de alguns conjuntos de dados;

Necessidade de padrões bem-de�nidos para tomada de decisão.

Clustering!

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 6 / 86

Page 7: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering

O objetivo principal é fornecer um método para efetuar umaclassi�cação estável e objetiva;Nomenclatura adotada

Análise de cluster;Taxonomia numérica - Biologia;Q Analysis - Psicologia;Reconhecimento de padrões não-supervisionado - InteligênciaArti�cial;Segmentação - Pesquisa de mercado

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 7 / 86

Page 8: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Introdução

De�nição

É o procedimento de classi�car objetos de dados em diferentes grupos,baseados nos atributos de cada objeto e seus relacionamentos, utilizandoalgum método numérico. O objetivo é que os objetos em um mesmo gruposejam similares (ou relacionados) e diferentes (ou não relacionados) com osobjetos de outros grupos.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 8 / 86

Page 9: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Entendendo clustering

Suponha a seguinte situação:Existe uma rede de sorveterias que vende sorvetes de baunilha echocolate;Deseja-se avaliar as regiões onde mais sorvetes foram vendidos.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 9 / 86

Page 10: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Introdução

Problemas na de�nição precisa do que constitui um grupo:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 10 / 86

Page 11: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Introdução

Classi�cação supervisionada X Classi�cação não supervisionadaTécnicas de clustering são relacionadas com técnicas que também temcomo objetivo classi�car objetos em diferentes categorias, mas quefazem uso de objetos previamente classi�cados para descobrir o grupode objetos desconhecidos. Esse tipo de abordagem é denominadoclassi�cação supervisionada

As técnicas de clustering, por sua vez, não possuem nenhum tipo deconhecimento prévio, ou dados de "treinamento", portanto entram nacategoria das técnicas de classi�cação não supervisionadas

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 11 / 86

Page 12: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Tipos de clustering

Hierárquico versus Particional

Hierárquico:

Particional:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 12 / 86

Page 13: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Tipos de clustering

Exclusivo versus Com sobreposição versus FuzzyExclusivo - Atribui cada elemento a um cluster

Com sobreposição ou não exclusivo- Um elemento pode pertencerà mais de um cluster

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 13 / 86

Page 14: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Tipos de clustering

Exclusivo versus Com sobreposição versus Fuzzy

Fuzzy - Um elemento pode estar em qualquer cluster, com umdeterminado peso, que varia entre 0 (de�nitivamente não pertence) a 1(absolutamente pertence). O somatório de todos os pesos deve serigual à 1.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 14 / 86

Page 15: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Tipos de clustering

Completo versus Parcial

Completo - Todo elemento é atribuído a algum clusterParcial - Alguns elementos podem não ser atribuídos à nenhumcluster, sendo tratados como �ruído�

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 15 / 86

Page 16: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Características

O processo de clustering exige métodos que apresentem as seguintescaracterísticas [1]:

Ser capaz de lidar com dados com alta dimensionalidade;Ser �escalável� com o número de dimensões e com a quantidade deelementos a serem agrupados;Habilidade para lidar com diferentes tipos de dados;Capacidade de de�nir agrupamentos de diferentes tamanhos e formas;Exigir o mínimo de conhecimento para determinação dos parâmetros deentrada;Ser robusto à presença de ruído;Apresentar resultado consistente independente da ordem em que osdados são apresentados.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 16 / 86

Page 17: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sumario

1 IntroduçãoTipos de clustering

2 Medidas de similaridade

3 Algoritmos hierárquicos

4 Algoritmos não hierárquicosK-meansK-means++Clustering na ferramenta WEKA

5 Clustering baseado em densidadeDBSCAN

6 Atividade prática

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 17 / 86

Page 18: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Medidas de similaridade

Para poder agrupar conjuntos de objetos é necessário medir asimilaridade entre eles.

Esta medida é obtida com um cálculo de distância entre os objetos.Métodos para cálculo de distância:

Distância EuclidianaDistância Euclidiana QuadráticaDistância Manhattan

Distância Chebychev

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 18 / 86

Page 19: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Distância Euclidiana

Distância geométrica no espaço multidimensional.

Tendo-se X = [X1, X2, ..., Xp] e Y = [Y1, Y2, ..., Yp], a distânciaentre os pontos é de�nida por:

dxy =√(X1 − Y1)2 + (X1 − Y1)2 + ...(Xp − Yp)2 =

√√√√ p∑i=1

(Xi − Yi )2

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 19 / 86

Page 20: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Exemplo

Calcular a distância entre os elementos X0 = (1,2) e X1 = (3,4)(espaço euclidiano)

dx0x1 =√(3− 1)2 + (4− 2)2 =

√8 = 2, 83

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 20 / 86

Page 21: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Distância euclidiana quadrática

Mais sensível que a distância euclidiana.

De�nida pela expressão

dxy = (X1 − Y1)2 + (X2 − Y2)

2 + ...(Xp − Yp)2 =

p∑i=1

(Xi − Yi )2

Considerando-se os mesmos pontos X0 e X1 do exemplo anterior,observa-se a intensi�cação da distância:

dx0x1 = (3− 1)2 + (4− 2)2 = 8

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 21 / 86

Page 22: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Mais distâncias

Manhattan - Sensível a minimizações.

dxy = |X1 − Y1|+ |X2 − Y2|+ ...|Xp − Yp| =p∑i=1

|Xi − Yi |

Chebychev - Diferentes se ao menos uma dimensão é diferente.

dxy = maximo(|X1 − Y1|+ |X2 − Y2|+ ...|Xp − Yp|)

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 22 / 86

Page 23: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Matriz de similaridade

São utilizadas em clustering para determinar a distância entre oselementos

As distâncias são armazenadas na matriz de similaridade;

Esta matriz é simétrica e utiliza, em geral a distância euclidiana.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 23 / 86

Page 24: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Matriz de similaridade - Exemplo

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 24 / 86

Page 25: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sumario

1 IntroduçãoTipos de clustering

2 Medidas de similaridade

3 Algoritmos hierárquicos

4 Algoritmos não hierárquicosK-meansK-means++Clustering na ferramenta WEKA

5 Clustering baseado em densidadeDBSCAN

6 Atividade prática

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 25 / 86

Page 26: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering hierárquico

Consiste em uma série de:Agrupamentos sucessivos - Algoritmo AgglomerativeDivisões de elementos - Algoritmo Divisive.

Vantagem - Implementação simples.

Desvantagem - Uma vez feita a divisão ou união de objetos e/ouclusters, é irrevogável.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 26 / 86

Page 27: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering hierárquico

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 27 / 86

Page 28: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering hierárquico

A representação dos clusters obtidos através do método hierárquico égeralmente apresentado em forma de um diagrama bi-dimensionalchamado de dendrograma ou diagrama de árvore [2].

Neste tipo de diagrama, os ramos representam os elementos e a raiz oagrupamento de todos eles.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 28 / 86

Page 29: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering hierárquico

Deve-se de�nir no dendrograma uma distância de corte.Atribuir limites para os grupos.

É necessário ter conhecimento prévio sobre a estrutura de dadosobservada;

A atribuição de distâncias de corte é subjetiva.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 29 / 86

Page 30: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering hierárquico

Outro método para representação de clusters hierárquicos é autilização do diagrama de cluster aninhado.

A técnica pode ser utilizada em conjuntos de pontos bi-dimensionais.

Figura: Diagrama de cluster aninhado

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 30 / 86

Page 31: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Como ligar os grupos?

Dentro dos métodos aglomerativos existe uma variedade de critériospara de�nir a distância entre os grupos [2].A maioria dos métodos utilizam conceitos de agrupamentoaglomerativo:

1 Método de ligação (single linkage, complete linkage, average linkage,

median linkage) ;2 Métodos de centróide;3 Métodos de soma de erros quadráticos ou variância (método de Ward).

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 31 / 86

Page 32: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering hierárquico

O padrão seguido por algoritmos de clustering hierárquico é exibido aseguir.

As diferenças entre os métodos ocorre no passo 2.3 onde a funçãodistância é de�nida de acordo com cada método [2].

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 32 / 86

Page 33: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Algoritmo agglomerative

Algoritmo agglomerative

Entrada: Uma base de dados com N elementos.Saída: Um conjunto de grupos.

1 Iniciar com N grupos, contendo um elemento em cada grupo e umamatriz de similaridade DNxN

2 Repitir1 Localizar a menor distância duv (maior similaridade);2 Atualizar a matriz D, retirando os elementos U e V;3 Atualizar a matriz D, adicionando as novas distâncias do grupo (U,V);4 Até N-1, quando todos elementos estarão em um único grupo.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 33 / 86

Page 34: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Entendendo os algoritmos de clustering hierárquico

Consideremos esta distribuição de pontos antes de estudarmos osalgoritmos.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 34 / 86

Page 35: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Método Single Linkage ou ligação por vizinho mais próximo

Ligação por vizinho mais próximo

dUVW = min(dUW , dVW )

Após as iterações do algoritmo na matriz de exemplo obtemos osseguinte dendrograma.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 35 / 86

Page 36: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Método Single Linkage ou ligação por vizinho mais próximo

Características [3]Grupos muito próximos podem não ser identi�cados;Permite detectar grupos de formas não-elípticas;Apresenta pouca tolerância a ruído, pois tem tendência a incorporar osruídos em um grupo já existente;Apresenta bons resultados tanto para distâncias Euclidianas quantopara outras distâncias;Tendência a formar longas cadeias (encadeamento).

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 36 / 86

Page 37: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Método Complete Linkage ou ligação por vizinho mais

distante

Ligação por vizinho mais distante

dUVW = max(dUW , dVW )

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 37 / 86

Page 38: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Método Complete Linkage ou ligação por vizinho mais

distante

Algumas características desse método são [4]:Bons resultados tanto para distâncias Euclidianas quanto para outrasdistâncias;Tendência a formar grupos compactos;Os ruídos demoram a serem incorporados ao grupo.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 38 / 86

Page 39: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Método Average Linkage ou ligação por média

Ligação por média das distâncias

dUVW =Nu.dUW + Nv .dVW

Nu + Nv

Onde:Nu e NV -> número de objetos em U e V , respectivamente;dUW e dVW -> distâncias entre os elementos UW e VW ,respectivamente;

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 39 / 86

Page 40: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Método Average Linkage ou ligação por média

Algumas características desse método são [4]:Menor sensibilidade à ruídos que o os métodos anteriores;Bons resultados tanto para distâncias Euclidianas quanto para outrasdistâncias;Tendência a formar grupos com número de elementos similares.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 40 / 86

Page 41: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Resumindo...

Representação dos métodos de modo grá�co.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 41 / 86

Page 42: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Resumindo...

Existem mais métodos para ligação dos objetos.

Figura: Resumo dos métodos. Extraído de [2]

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 42 / 86

Page 43: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Exemplo prático

Vamos praticar!Considerando o mapa abaixo, encontrar quais são as cidades maispróximas.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 43 / 86

Page 44: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Exemplo prático

A matriz de distancias entre as cidades.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 44 / 86

Page 45: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Utilizando o R

Funçõesread.csv() -> Importa um arquivo csv para um dataframe;Recebe como parâmetros o arquivo e o separador.as.dist() e dist() -> Criação da matriz de similaridade;Recebe o data-frame como parâmetro.hclust() -> Executa o algoritmo de clustering hierarquico, obecendoao método passado.Recebe a matriz de similaridade e o método utilizado para construçãodo dendrograma.plot() -> Plotar o dendrograma.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 45 / 86

Page 46: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Exemplo prático

Utilizando o método de ligação por média temos o seguinte resultado.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 46 / 86

Page 47: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sumario

1 IntroduçãoTipos de clustering

2 Medidas de similaridade

3 Algoritmos hierárquicos

4 Algoritmos não hierárquicosK-meansK-means++Clustering na ferramenta WEKA

5 Clustering baseado em densidadeDBSCAN

6 Atividade prática

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 47 / 86

Page 48: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

CaracterísticasMétodo particional, completo, exclusivo e baseado em protótipo declusteringNão requer a computação de todas as possiveis distâncias entre objetosVocê precisa de�nir de antemão o número K de clusters

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 48 / 86

Page 49: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Algoritmo K-means

1 Escolha um número k de clusters2 Escolha k pontos iniciais para serem utilizados como estimativas dos

centróides3 Examine cada ponto da série e coloque-o no cluster cujo centróide que

estiver mais próximo. A posição do centróide é recalculada cada vezque um novo ponto é adicionado ao cluster

4 Repita o passo 3 até que não haja mudança no cluster ou um númeromáximo de passos seja executado

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 49 / 86

Page 50: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Utilizando o k-means da API do R

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 50 / 86

Page 51: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 51 / 86

Page 52: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Soma dos erros quadrados (SSE)Considere um conjunto de dados cuja medida de proximidade é adistância Euclidiana. A soma dos erros quadrados é uma medida dequalidade do resultado da operação de clustering

SSE =K∑i=1

∑x∈Ci

dist(ci , x)2

Dados dois diferentes resultados que são produzidos por duasexecuções diferentes do K-means, nós preferimos aquela que resultar nomenor SSEO K-means de fato consegue otimizar o SSE, mas pode levar à ummínimo local

Obtendo SSE no R

1 km = kmeans ( x , n_c l u s t e r s )p r i n t (km$ w i t h i n s s ) # imprime SSE de cada c l u s t e r

3 p r i n t (km$ t o t . w i t h i n s s ) # imprime SSE t o t a l

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 52 / 86

Page 53: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 53 / 86

Page 54: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Escolhendo centróides iniciais

O algoritmo do K-Means é bastante sensível à escolha dos pontosiniciais. Exemplo:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 54 / 86

Page 55: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means

Escolhendo centróides iniciaisO mínimo global para o exemplo anterior é:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 55 / 86

Page 56: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means++

K-means++ foi proposto para solucionar o problema de selecionar umbom conjunto de valores iniciais para o k-meansMotivação: problemas fundamentais do k-means tradicional:

Encontrar a solução ótima é um problema NP-CompletoSensível a outliersO resultado fornecido pelo K-means pode ser ruim em relação àsolução ótima

Vantagens do K-means++Melhora o tempo de execução do K-meansMelhora a qualidade do resultado do K-meansResultados melhoram a medida que o número de clusters aumentam

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 56 / 86

Page 57: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means++

Algoritmo K-means++

1 Escolha um centróide uniformemente aleatoriamente entre os pontosde dados

2 Para cada ponto de dados x, calcule D(x), a distância entre x e ocentróide mais próximo que já tenha sido escolhido

3 Escolha um novo ponto de dados aleatoriamente como um novocentróide, usando uma distribuição de probabilidade ponderada ondeum ponto x é escolhido com probabilidade proporcional a D(x)2

4 Repita os passos 2 e 3 até que K centróides tenham sido escolhidos5 Agora que os centróides iniciais foram escolhidos, continue usando o

k-means tradicional

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 57 / 86

Page 58: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means++

Implementação em R - Função kmeanspp, no pacote pracma -

Practical Numerical Math Functions

Instalando pacote pracma no R-Studio

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 58 / 86

Page 59: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means++

Utilizando o k-means da API do R

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 59 / 86

Page 60: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means++

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 60 / 86

Page 61: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

K-means++

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 61 / 86

Page 62: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

WEKA - Waikato Environment for Knowledge AnalysisPacote de software desenvolvido na Universidade de Waikato, NovaZelândia, que oferece várias funcionalidades de datamining/aprendizagem de máquinaVantagens de usar o WEKA para clustering:

O WEKA é capaz de lidar com objetos formados por uma mistura deatributos numéricos e categóricosO algoritmo empregado pelo WEKA também normaliza os dadosautomaticamente quando computa a distância entre objetos

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 62 / 86

Page 63: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

WEKA versus R

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 63 / 86

Page 64: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

K-Means na ferramenta WEKAAceita como entrada um arquivo com extensão .ar�, com o seguintelayout:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 64 / 86

Page 65: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

K-Means na ferramenta WEKAAbrindo a seção "Explorer"da tela inicial do Weka, carregamos oarquivo "bank.ar�"

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 65 / 86

Page 66: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

K-Means na ferramenta WEKANa aba "Cluster"selecionamos o algoritmo de clusterização(SampleKMeans) e o número de clusters (5)

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 66 / 86

Page 67: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

K-Means na ferramenta WEKAExecutando o algoritmo e visualisando o sumário dos resultados

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 67 / 86

Page 68: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

K-Means na ferramenta WEKAVisualisando os resultados

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 68 / 86

Page 69: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering na ferramenta WEKA

K-Means na ferramenta WEKAResultados salvos

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 69 / 86

Page 70: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sumario

1 IntroduçãoTipos de clustering

2 Medidas de similaridade

3 Algoritmos hierárquicos

4 Algoritmos não hierárquicosK-meansK-means++Clustering na ferramenta WEKA

5 Clustering baseado em densidadeDBSCAN

6 Atividade prática

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 70 / 86

Page 71: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering baseado em densidade

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 71 / 86

Page 72: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Clustering baseado em densidade

Métodos de clustering baseados em densidade visam localizar regiõesde alta densidade separadas umas das outras por regiões da baixadensidade.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 72 / 86

Page 73: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

DBSCAN

DBSCAN é um algoritmo que se baseia no número de pontos dentrode um determinado raio como métrica de densidade de um ponto

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 73 / 86

Page 74: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

DBSCAN

Dependendo da densidade do ponto, ele pode ser classi�cado como

Core point - É um ponto cujo número de pontos na sua vizinhança -região delimitada pela distância Eps - ultrapassa um determinadolimite denominado MinsPtsBorder point - É um ponto que nao se quali�ca como core point, mascai na vizinhança de algum core pointNoise point - É um ponto que não se quali�ca nem como core point,nem como border point

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 74 / 86

Page 75: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

DBSCAN

Algoritmo DBSCAN

1 Rotule todos os pontos como �core�, �border� ou �noise�2 Elimine todos os pontos �noise�3 Coloque uma aresta entre todos os pontos core que estão dentro de

um raio dado por Eps entre si4 Separe cada grupo de componentes conectados em clusters separados5 Atribua cada ponto �border� para o cluster dos seus pontos �core�

associados

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 75 / 86

Page 76: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

DBSCAN

DBSCAN ilustrado:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 76 / 86

Page 77: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Sumario

1 IntroduçãoTipos de clustering

2 Medidas de similaridade

3 Algoritmos hierárquicos

4 Algoritmos não hierárquicosK-meansK-means++Clustering na ferramenta WEKA

5 Clustering baseado em densidadeDBSCAN

6 Atividade prática

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 77 / 86

Page 78: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Atividade prática

Considere um sistema de banco de dados com 1 CPU e dois discos

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 78 / 86

Page 79: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Atividade prática

Através das ferramentas DBMS Performance Monitor e OSPerformance Monitor nós caracterizamos os parâmetros do workload

A ferramenta DBMS fornece um log de atividade de cada recurso paracada transação, conforme indicado na tabela abaixo:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 79 / 86

Page 80: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Atividade prática

Através de uma análise exploratória de dados inicial, obtemos asseguintes estatísticas:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 80 / 86

Page 81: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Atividade prática

Plotando um X-Y scatter plot mostrando o número de IOs (em ambosos discos) versus tempo de CPU:

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 81 / 86

Page 82: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Atividade prática

Atividade:Aplicar um método de clustering nos dadosCalcular as mesmas estatísticas (em especial o CV) para cada clusterseparadamente

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 82 / 86

Page 83: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Prática

Distância entre cidades da Itália.Com os dados abaixo, aferir utilizando cluster aglomerativo as cidadesque estão mais próximas entre si.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 83 / 86

Page 84: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Prática

Matriz de distâncias.

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 84 / 86

Page 85: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Referências

http://home.dei.polimi.it/matteucc/Clustering/tutorial_

html/hierarchical.html

http:

//maya.cs.depaul.edu/classes/ect584/weka/k-means.html

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 85 / 86

Page 86: Técnicas de Clustering: Algoritmos K-means e …€¦ · Sumario 1 Introdução Tipos de clustering 2 Medidas de similaridade 3 Algoritmos hierárquicos 4 Algoritmos não hierárquicos

Referências

Zaiane, O.R et al

Zaiane, O.R, On data clustering analysis: scalability, constraints and

validation. Edmonton Alberta, University of Alberta, 2003

Doni, M.V.

Doni, M.V., Análise de cluster: Métodos Hierárquicos e de particionamento.

TCC, Universidade Presbiteriana Mackenzie, São Paulo, 2004

Anderberg, M.R.C.

Anderberg, M.R.C., Cluster analysis for applications. New York: Academic

Press, 1973.

Kaufman,L; Rousseeuw, P. J.

Anderberg, M.R.C., Finding groups in data: an introduction to cluster

analysis. New York: Wiley, 1990

Danilo Oliveira, Matheus Torquato () 9 de outubro de 2012 86 / 86