![Page 1: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/1.jpg)
Avaliação de Clusteres
Sandra de Amo
AULA 23
DATA MINING
![Page 2: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/24.jpg)
Exemplo : número de clusters = 10
Ponto minimo antesda estabilização
![Page 25: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/26.jpg)
Exemplo: Número de Clusters = 10
Ponto de Pico
![Page 27: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/35.jpg)
Clusterização utilizando DBSCAN
Outlier !!
Outlier !!
Outlier !!
![Page 36: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/36.jpg)
Clusterização utilizando K-Means
![Page 37: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/44.jpg)
![Page 45: Avaliação de Clusteres Sandra de Amo AULA 23 DATA MINING](https://reader035.vdocuments.com.br/reader035/viewer/2022062404/552fc105497959413d8c04c7/html5/thumbnails/45.jpg)
Aplicações – Survey Jain et al. 1999