Método de Clusterização baseado em Densidade Algoritmo DBSCAN AULA 12 DATA MINING Sandra de Amo Algoritmos Baseados em Densidade Definição: Clusters são regiões de alta densidade de padrões separadas por regiões com baixa densidade, no espaço de padrões. Algoritmos baseados em densidade são projetados para encontrar clusters segundo esta definição. O que são regiões densas ? Esparsas ? Definição baseada em centros: Uma região densa é uma região onde cada ponto tem muitos pontos em sua vizinhança. Muitos ?? Vizinhança ?? Parâmetros de Ajuste Parâmetros de Ajuste Vizinhança: raio Eps Muitos : MinPts Assim, uma região densa é uma região em que todos os pontos têm pelo menos MinPts pontos num raio de Eps ao seu redor Eps MinPts = 13 Observação A densidade de cada objeto depende dos parâmetros Eps e MinPts Se Eps é muito grande, então é possivel que todos os objetos tenham densidade grande (= m = número de objetos da base). Se Eps é muito pequeno, então é possível que todos os objetos tenham baixa densidade. Tipos de Objetos Objeto Core : está no interior de uma região densa. Objeto fronteiriço : está na fronteira de uma região densa. Existem pelo menos MinPts objetos num raio Eps ao redor do objeto. Está na vizinhança Eps de um objeto core, mas não é um objeto core. Objetos outliers: está em uma região de baixa densidade. Não é objeto core nem está numa vizinhança de um objeto core. Exemplo p: objeto fronteiriço w q: objeto core 1 cm w: objeto outlier p q MinPts = 5 Eps = 1cm Cadeia de objetos Um objeto p é diretamente alcançável pela densidade a partir de um objeto q (com relação aos parâmetros Eps, MinPts) se: p Neps(q) Neps(q) : {q’ BD | d(q,q’) ≤ Eps} |Neps(q)| ≥ MinPts Exemplo p é diretamente alcançável a partir de q MinPts = 5 Eps = 1cm p q 1 cm Cadeia de objetos Alcançável por Densidade Um objeto p é alcançável por densidade a partir de um objeto q (com relação aos parâmetros Eps, MinPts) se existe uma cadeia de objetos q = p1, p2, p3,..., pn = p tal que pi+1 é diretamente alcançável por densidade a partir de pi. q p p2 p3 Conexão por Densidade Um objeto p é conectado por densidade a um objeto q (com respeito aos parâmetros Eps, MinPts) se existir um objeto O tal que p e q são alcançáveis por densidade a partir de O. p q O Exercicio 1 Se p é alcançável por densidade a partir de q, isto não implica que q é alcançável por densidade a partir de p. p q Exercicio 2 Se p é alcançável por densidade a partir de q, e ambos são objetos core, é verdade que q também será alcançável por densidade a partir de p ? Exercício 3 A relação “conectável por densidade” é simétrica ? Algoritmo DBSCAN Entrada Eps, MinPts, um banco de dados BD Saída Um conjunto de K clusteres tais que: Objetos dentro de um mesmo cluster são conectados por densidade Objetos em clusters distintos não são conectados por densidade. Observação: Repare que o número K de clusteres é encontrado pelo algoritmo, não é dado como input. Método : Etapa 1 Calcula a vizinhança Eps de cada objeto do banco de dados Detecta os que são objetos core Cada objeto core q será o representante de um cluster formado por sua vizinhança Neps(q) Enumera-se os clusteres assim obtidos C1, C2, ... , Ck1 Seus representantes são p1, p2, ..., pk1 Etapa 2 i=1 Procura o primeiro j tal que pj é diretamente alcançável a partir de p1 p1 pj Une-se os clusteres C1 e Cj Os novos representantes do novo cluster são p1 e pj i = primeiro n ϵ {1,...,k1}, diferente de 1 e j Repete-se o processo para Ci e o primeiro Cj’ tais que pj’ seja diretamente alcançável a partir de pi Final da Etapa 2 p1 p4 p7 p2 p5 p3 p6 Etapa 3 Cluster C2 p5 p2 p1 • Para cada cluster Ci da etapa 2, procura-se um cluster Cki tal que um de seus representantes é diretamente alcançável a partir de um dos representantes do cluster Ci p4 Cluster C1 • Junta-se os clusters Ci e Cki Parada do algoritmo O algoritmo pára na etapa N quando não há mais possibilidade de se juntar clusteres formados na etapa N-1. Exercício Sejam C1,...,Ck os clusteres produzidos pelo algoritmo DBSCAN Se p e q estão num mesmo cluster Ci então p e q são conectados por densidade Se p e q estão em clusteres distintos então p e que não são conectáveis por densidade O que se pode dizer de um objeto p que não está em nenhum cluster Ci ? Como selecionar os parâmetros ? Verificar a distância ao k-ésimo vizinho mais próximo k-dist Análise 1. Para objetos que estão dentro de um cluster: se k ≤ tamanho do cluster então k-dist é pequeno. 2. Para objetos que não estão dentro de um cluster: k-dist é grande Como selecionar os parâmetros ? Seleciona-se os k-dist para cada objeto, para um determinado valor de k. Ordena-se os objetos pelos valores de k-dist No ponto onde houver uma grande variação do número kdist, significa que foi atingido um valor adequado para Eps. Só funciona se os clusteres não apresentarem grandes variações de densidade. Valor de Eps depende do número k escolhido. Na prática, o valor k = 4 é utilizado para a maioria dos banco de dados, com bons resultados K-dist Exemplo: BD com 3000 objetos 50 40 30 Eps = 10 20 MinPts = 4 10 500 1000 1500 2000 2500 3000 Objetos Crescimento muito grande de k-dist Problema: Clusteres com diferentes densidades A B C D • Se Eps é alto suficiente para que C e D sejam detectados como clusteres então A e B e a região a sua volta se tornarão um unico cluster • Se Eps é baixo suficiente para que A e B sejam detectados como clusteres separados então C e D (e os objetos a seu redor) serão considerados outliers ! Parâmetros versus Tipos de clusteres Eps MinPt Resultado Alto Alto Poucos clusters, grandes e densos Baixo Baixo Muitos clusters, pequenos e menos densos Alto Baixo Clusters grandes e menos densos Baixo Alto Clusters pequenos e densos Avaliação de desempenho: qualidade dos clusteres produzidos Agrupamentos descobertos por CLARANS Avaliação de desempenho: qualidade dos clusteres produzidos Agrupamentos descobertos por DBSCAN Tempo de execução em segundos Vantagens e Desvantagens Vantagens Eficiente em tratar grandes bases de dados Menos sensível a ruídos Forma clusters de formato arbitrário Usuário não precisa especificar a quantidade de clusters Desvantagens Sensível aos parâmetros de entrada(Eps e MinPt) Produz resultados não confiáveis se os clusteres têm densidades muito diferentes. Referência M. Ester, H.-P Kriegel, J. Sander, X. Xu: A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining, pp. 226-231, 1996.