45
Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Embed Size (px)

Citation preview

Page 1: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Avaliação de Clusteres

Sandra de Amo

AULA 23

DATA MINING

Page 2: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

O que avaliar ? Os dados são “clusterizáveis” ? Isto é, existem

estruturas não-randômicas nos dados ? Qual o número ideal de clusteres ? Os clusteres encontrados realmente correspondem a

clusteres “reais” ? Dados dois conjuntos de clusteres para os mesmos

dados, qual é o melhor ?

Page 3: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Como avaliar ? Como medir a

“tendência de clusteres”, o número ideal de clusteres, a qualidade da clusterização,

sem a “visualização gráfica” dos dados (só factível até 3 dimensões) ?

Page 4: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Medidas de Avaliação Não-supervisionadas

Medem a qualidade de uma clusterização sem utilizar medidas externas aos dados

Medidas de Coesão Medidas de Separação

Supervisionadas Medem a qualidade de uma clusterização utilizando

medidas externas aos dados, por exemplo, dados de testes etiquetados com um atributo classe.

Page 5: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Seja C = {C1, ...., Ck} um conjunto de clusteres

Avaliação(C) = Σ wi Avaliação(Ci)

Fórmula geral de avaliação

i = 1

k

Avaliação global de Cpesos Avaliação individual do

cluster Ci

Page 6: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Clusteres baseados em Protótipos Medidas de Avaliação = coesão e separação

Coesão(individual)Mede o quanto os objetosdentro de um cluster se aglomeramperto do centro do cluster

Separação (inter clusteres)Mede o quanto os centros dos clusteresestão bem separados entre si

Page 7: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Clusteres baseados em Protótipos Coesão(Ci) = Σ proximidade(x,ci) ci = centroide (centro de gravidade) de Ci

Separação(Ci,Cj) = proximidade(ci,cj)

Separação (Ci) = proximidade(ci,c) c = centro de gravidade do conjunto total de dados

Proximidade : noção que pode variar dependendo da aplicação

Exemplo: SSE mede coesão quando a função de proximidade é o quadrado da distância.

x ɛ Ci

Page 8: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Clusteres baseados em Grafos Medidas de Avaliação = coesão e separação

Coesão(individual)Mede o quanto os objetosdentro de um cluster estão juntos

Separação (inter clusteres)Mede o quanto cada elemento de um cluster está afastado dos elementos de outros clusteres.

Page 9: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Clusteres baseados em grafos Coesão(Ci) = Σ proximidade(x,y)

Separação(Ci,Cj) = Σ proximidade(x,y)

Proximidade: noção que pode variar dependendo da aplicação

x,y ɛ Ci

x ɛ Ci, y ɛ Cj

Page 10: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Coesão e Separação globaisMedida Fórmula para os clusters

individuais (Ci) Peso Tipo

I1 Σ proximidade(x,y)

x,y ɛ Ci 1/mi

mi=tamanho de Ci

Coesão baseada em grafo

I2 Σ proximidade(x,ci)

x ɛ Ci1 Coesão baseada

em protótipo

E1 proximidade(ci,c)

c = centro de gravidade do conjunto total de dados

mi Separação baseada em protótipo

G1 k k

Σ Σ prox.(x,y)

i=1 j=1

i ≠ j x ɛ Ci , y ɛ Cj

1Σ prox.(x,y)

x,y ɛ Ci

Separação baseada grafo

Page 11: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exemplos de Medidas de Coesão Baseada em protótipo

SSE : noção de proximidade é dada pelo quadrado da distância euclidiana dist

SSE(Ci) = Σ dist(x,ci)2 x ɛ Ci SSE = Σ SSE(Ci) i = 1,...,k

Baseada em grafos Σ dist(x,y)2 x,y ɛ Ci

Relação entre as duas medidas SSE(Ci) = 1 Σ dist(x,y)2 2mi x,y ɛ Ci

Page 12: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exemplo de Medidas de Separação Baseada em Protótipos

SSB = Σ mi dist(ci,c)2 onde mi = tamanho de Ci

i = 1,...,k Se os clusters têm mesmo tamanho mi = m/k

SSB = 1/2k Σ m/k dist(ci,cj)2 i,j = 1,...,k

Relação entre coesão e separação (baseada em protótipos)

SSE + SSB = TSS = Σ Σ dist(x,c)2 i = 1,...,k x ɛ Ci

Número constanteIndepende dos clusteresSó depende dos dados iniciais

Page 13: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 1 Considere o seguinte conjunto de objetos D = {(1,2), (1.3, 2.5), (2,2.2), (5,1), (5.5, 1.3), (5.3,2.4)}

Considere C = {C1, C2} onde C1 = {(1,2), (1.3, 2.5), (2,2.2)}

C2 = {(5,1), (5,5, 1,3), (5,3.2,4)}

Calcule a coesão e separação do conjunto de clusteres C, utilizando as medidas SSE e SSB respectivamente.

Calcule TSS para o conjunto de dados D (não depende de C).Mostre que SSE + SSB = TSS

Page 14: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 2 : Comparação de medidas de agrupamentos (baseados em protótipos e baseados em grafos)

Clusterização 1obtida utilizando um métodobaseado em grafos

Clusterização 2obtida utilizando um métodobaseado em grafos

Qual a que tem a melhor coesão segundo I1 ? E a melhor separação segundo G1?Proximidade = quadrado da distância.

Page 15: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Dados para Exercício 2

X Y

1,5 1,4

1,5 2,5

2,5 1,3

4 1,3

3,5 2,1

3,8 3,3

5,2 3

Page 16: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Como utilizar coesão e separação para “melhorar” a clusterização Um cluster com baixo grau de coesão pode

ser dividido em 2 subclusteres.

Dois clusteres que têm boa coesão mas que não tem bom grau de separação podem ser juntados para formar um único cluster.

Page 17: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Como avaliar objetos dentro de um clusterComo objetos individualmente contribuem para a

coesão e separação globais de um conjunto de clusteres ?

Objetos que contribuem mais para a coesão e separação estão mais no “interior” de seu cluster.

Objetos que contribuem pouco estão mais na “fronteira” de seu cluster.

Page 18: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Coeficiente de Silhueta Medida que combina coesão e separação Coeficiente de Silhueta de um cluster C

= média do coef. Silhueta dos objetos de C Coeficiente de Silhueta da clusterização =

média do coef. Silhueta de todos os objetos Coeficiente de Silhueta de um objeto –

depende da clusterização.

Page 19: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Coeficiente de Silhueta de um Objeto tDado um conjunto de Clusteres C = {C1,...,Ck} e um

objeto t do banco de dados Calcule at = distância média de t a todos os objetos

de seu cluster. Calcule bt

Para cada cluster C’ não contendo t, calcule t(C’) a distância média entre t e todos os objetos de C’

bt = min {t(C’) | C’ não contém t }

Coef. Silhueta (t) = (bt – at ) / max(at , bt )

Page 20: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Coeficiente de Silhueta de objetos Coeficiente de Silhueta varia de -1 a 1. Valores negativos: at > bt (não desejados)

Distância média de t a objetos de seu cluster é

maior que distância média de t a objetos de outros clusteres

Valores Ideais Valores positivos at bem próximo de zero

Coeficiente de silhueta bem próximo de 1

Page 21: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Dados agrupados em 10 clusters e os coeficientes de silhueta dos pontos

Page 22: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 3Considere as duas clusterizações do Exercicio 2. Calcule o coeficiente de silhueta do objeto tcom relação a cada uma destas clusterizações.

t t

Para casa: calcular o coeficiente de Silhueta global de cada uma das duas clusterizações e decida qual a melhor.

Page 23: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Determinar o número ideal de clusteresTécnica 1 Executa-se o algoritmo K-means diversas vezes com

diferentes números de clusteres. Calcula-se o SSE global de cada clusterização obtida Plota-se os valores de SSE (eixo y) por número de

clusteres (eixo x) O número ideal de clusteres corresponde a um

momento onde se atinge um mínimo no gráfico e logo em seguida há uma estabilização.

Page 24: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exemplo : número de clusters = 10

Ponto minimo antesda estabilização

Page 25: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Determinar o número ideal de clusteresTécnica 2 Executa-se o algoritmo K-means diversas vezes com

diferentes números de clusteres. Calcula-se o coeficiente de silhueta global de cada

clusterização obtida. Plota-se os valores dos coeficientes de silhueta (eixo

y) por número de clusteres (eixo x) O número ideal de clusteres corresponde a um

momento onde se atinge um pico no gráfico.

Page 26: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exemplo: Número de Clusters = 10

Ponto de Pico

Page 27: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Determinar a tendência de clusteres nos dados Técnica óbvia de se testar a tendência dos dados

Aplique um algoritmo de clusterização Avalie cada um dos clusteres obtidos Caso pelo menos um dos clusteres é de boa qualidade

boa coesão e boa separação dos demais

Conclua que os dados apresentam alguma tendência de

clusteres. Problema: os dados podem apresentar clusteres de

um tipo não detectável pelo algoritmo aplicado.

Page 28: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Determinar a tendência de clusteres nos dados Outra técnica

Aplicar diversos algoritmos de clusterização que buscam clusteres de naturezas distintas: baseados em protótipos, em densidade, em grafos

Se nenhum algoritmo apresenta clusteres com boa coesão e boa separação pode-se concluir que os dados não apresentam tendência de clusteres.

Page 29: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Estatística de HopkinsMedida que permite verificar se um conjunto de dados

tem tendência de clusteres sem efetuar nenhuma clusterização

G = p objetos randomicamente distribuídos no espaço dos dados (não necessariamente são objetos do BD !) G = {g1, g2, ... , gp}

A = uma amostragem de p objetos pertencentes ao banco de dados. A = {a1, a2, ..., ap}

Page 30: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Estatistica de Hopkins2

2

1,5

1

1

0,5

1,5

Para cada objeto calcula-se a distância a seu vizinho mais próximo da base de dados original

0,5

Page 31: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Estatistica de Hopkins

Σi=1

p

ui

Σi=1

p

ui Σi=1

p

wi+

H =

Valores de distâncias minimas associados a objetos de G (artificialmente gerados)

Valores de distâncias minimas associados a objetos de A (“reais” do banco de dados)

Page 32: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Estatistica de Hopkins 0 ≤ H ≤ 1 H próximo de 1 : dados clusterizáveis

wi são pequenos, ui não necessariamente pequenos

H próximo de 0 : uniformemente distribuídos Se os dados são regularmente espaçados, os wi tendem a ser

grandes.

H em torno de 0,5 : randomicamente distribuídos Indica que a distribuição dos ui e dos wis são similares,

Page 33: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 4Considerar o conjunto de dados do Ex. 2

Calcule a estatística de Hopkins destes dados e conclua se estes dados apresentam alguma estrutura de clusteres ou são aleatórios

Page 34: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exemplo: dados não clusterizáveis Número de amostras = 20

Número de experimentos = 100

H = 0,56

Dados são randômicos

Page 35: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Clusterização utilizando DBSCAN

Outlier !!

Outlier !!

Outlier !!

Page 36: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Clusterização utilizando K-Means

Page 37: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exemplo de dados clusterizáveisNúmero de amostras = 20

Número de experimentos = 100

H = 0,95

Page 38: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 51

2

3

4 5

6

7

8

9

10

11

1213

14

1516

17

1 1,9 7,3

2 3,4 7,5

3 2.5 6,8

4 1,5 6,5

5 3,5 6,4

6 2,2 5,8

7 3,4 5,2

8 3,6 4

9 5 3,2

10 4,5 2,4

11 6 2,6

12 1.9 3

13 1 2,7

14 1.9 2,4

15 0,8 2

16 1,6 1,8

17 1 1

Calcule a estatística de Hopkins para estes dados para amostragens de 6 elementos, fazendo 10 experimentos . Conclua se os dadossão clusterizáveis, randômicos ou uniform. distribuídos.

Page 39: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 61 2

3

4 5

6

7

8

9

10

11

1213

14

15

16

17

1 1,9 7,3

2 3,4 7,5

3 2.5 6,8

4 1,5 6,5

5 3,5 6,4

6 2,2 5,8

7 3,4 5,2

8 3,6 4

9 5 3,2

10 4,5 2,4

11 6 2,6

12 1.9 3

13 1 2,7

14 1.9 2,4

15 0,8 2

16 1,6 1,8

17 1 1

Achar 3 clusters utilizando o k-means1ª escolha das sementes: pontos 3, 9, 142a escolha das semestes: pontos 6,10,15

Page 40: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercício 7 Calcular o coeficiente de silhueta global de

cada uma das clusterizações. Analise os resultados.

Page 41: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Exercícios 8 e 9 Exercicio 8: Aplique o algoritmo CURE nos dados do exercício 5 para

encontrar 3 clusters.

a) Faça 2 escolhas distintas para cada um dos parâmetros α e N (= número de representantes de cada cluster).

b) Calcule o coeficiente de silhueta global de cada uma das clusterizações e analise o resultado.

Exercício 9: Aplique o algoritmo DBSCAN nos dados do exercício 5.

a) Faça 2 escolhas distintas para cada um dos 2 parâmetros do algoritmo: Eps, MinPts

b) Calcule o coeficiente de silhueta global de cada uma das clusterizações e analise o resultado.

Page 42: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Referências P-N Tan, M. Steinbach, V. Kumar:

Introduction to Data Mining, 2006. A. K. Jain and R. C. Dubes Algorithms for Clustering Data. Prentice Hall

Advanced Reference Series. March 1988Livro disponível em http:

//www.cse.msu.edu/~jain/Clustering_Jain_Dubes.pdfCapitulo 5: Aplicações de Clusterização em Processamento de Imagens

Page 43: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Data Clustering: A Review Jain et al. 1999 –

ACM Computing Surveys, Vol. 31, n. 3, Sep. 1999

Page 44: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING
Page 45: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING

Aplicações – Survey Jain et al. 1999