1 / 45

Avaliação de Clusteres

Avaliação de Clusteres. AULA 13 DATA MINING Sandra de Amo. 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” ?

Télécharger la présentation

Avaliação de Clusteres

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 ?

  3. 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) ?

  4. 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.

  5. Fórmula geral de avaliação Seja C = {C1, ...., Ck} um conjunto de clusteres Avaliação(C) = Σ wi Avaliação(Ci) k i = 1 pesos Avaliação individual do cluster Ci Avaliação global de C

  6. Clusteres baseados em Protótipos • Medidas de Avaliação = coesão e separação Coesão (individual) Mede o quanto os objetos dentro de um cluster se aglomeram perto do centro do cluster Separação (inter clusteres) Mede o quanto os centros dos clusteres estão bem separados entre si

  7. 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

  8. Clusteres baseados em Grafos • Medidas de Avaliação = coesão e separação Coesão (individual) Mede o quanto os objetos dentro 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.

  9. 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

  10. Coesão e Separação globais

  11. 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

  12. 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,...,kx ɛ Ci Número constante Independe dos clusteres Só depende dos dados iniciais

  13. 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

  14. Exercício 2 : Comparação de medidas de agrupamentos (baseados em protótipos e baseados em grafos) Clusterização 2 obtida utilizando um método baseado em grafos Clusterização 1 obtida utilizando um método baseado em grafos Qual a que tem a melhor coesão segundo I1 ? E a melhor separação segundo G1? Proximidade = quadrado da distância.

  15. Dados para Exercício 2

  16. 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.

  17. Como avaliar objetos dentro de um cluster Como 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.

  18. 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.

  19. Coeficiente de Silhueta de um Objeto t Dado 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 )

  20. 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

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

  22. Exercício 3 Considere as duas clusterizações do Exercicio 2. Calcule o coeficiente de silhueta do objeto t com 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.

  23. Determinar o número ideal de clusteres Té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.

  24. Exemplo : número de clusters = 10 Ponto minimo antes da estabilização

  25. Determinar o número ideal de clusteres Té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.

  26. Exemplo: Número de Clusters = 10 Ponto de Pico

  27. 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.

  28. 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.

  29. Estatística de Hopkins Medida 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}

  30. 2 1 1,5 Estatistica de Hopkins 2 1 0,5 1,5 0,5 Para cada objeto calcula-se a distância a seu vizinho mais próximo da base de dados original

  31. Estatistica de Hopkins p ui Σ i=1 Valores de distâncias minimas associados a objetos de A (“reais” do banco de dados) H = p p ui wi Σ i=1 Σ i=1 + Valores de distâncias minimas associados a objetos de G (artificialmente gerados)

  32. 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,

  33. Exercício 4 Considerar 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

  34. Exemplo: dados não clusterizáveis Número de amostras = 20 Número de experimentos = 100 H = 0,56 Dados são randômicos

  35. Clusterização utilizando DBSCAN Outlier !! Outlier !! Outlier !!

  36. Clusterização utilizando K-Means

  37. Exemplo de dados clusterizáveis Número de amostras = 20 Número de experimentos = 100 H = 0,95

  38. Exercício 5 1 2 3 4 5 6 7 8 9 12 13 11 14 15 10 16 17 Calcule a estatística de Hopkins para estes dados para amostragens de 6 elementos, fazendo 10 experimentos . Conclua se os dados são clusterizáveis, randômicos ou uniform. distribuídos.

  39. Exercício 6 1 2 3 4 5 6 7 8 9 12 13 11 14 15 10 16 17 Achar 3 clusters utilizando o k-means 1ª escolha das sementes: pontos 3, 9, 14 2a escolha das semestes: pontos 6,10,15

  40. Exercício 7 • Calcular o coeficiente de silhueta global de cada uma das clusterizações. Analise os resultados.

  41. 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.

  42. 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 1988 Livro disponível em http://www.cse.msu.edu/~jain/Clustering_Jain_Dubes.pdf Capitulo 5: Aplicações de Clusterização em Processamento de Imagens

  43. Data Clustering: A Review Jain et al. 1999 – ACM Computing Surveys, Vol. 31, n. 3, Sep. 1999

  44. Aplicações – Survey Jain et al. 1999

More Related