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

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

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

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