mineração em data streams - clustering profa. elaine faria ...elaine/disc/mfcd2018/aula2.pdf ·...
TRANSCRIPT
![Page 1: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/1.jpg)
Mineração em Data Streams - Clustering
Profa. Elaine Faria UFU - 2018
![Page 2: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/2.jpg)
Mineração de Dados
• Tarefas de mineração– Tarefas Preditivas
• Classificação • Regressão• Detecção de Anomalias
Tarefas Descritivas• Agrupamento• Descoberta de Regras de Associação• Descoberta de Padrões Sequenciais
![Page 3: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/3.jpg)
Qual a diferença entre agrupamento e classificação
• Agrupamento– Aprendizado não-supervisionado sem
rótulo
• Classificação– Aprendizado supervisionado usa os rótulos
![Page 4: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/4.jpg)
Exemplo de Agrupamento
Nome Idade Peso
João 25 60
Ana 50 75
Pedro 60 90
Maria 22 65
Paulo 18 68
Aldo 15 80
Aplicação de uma técnica
agrupamento
João
Maria
Paulo
AldoAna
Pedro
![Page 5: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/5.jpg)
Agrupamento - definições
Análise de grupos ou clusters é o estudo de algoritmos e métodos para agrupar objetos de acordo com suas características.
Cluster (grupo) é uma aglomeração de pontos no espaço tal que a distância entre quaisquer dois pontos no cluster é menor que a distância entre qualquer ponto no cluster e qualquer ponto que não está nele.
Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data, Prentice Hall, 1988.
![Page 6: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/6.jpg)
Agrupamento - questões
• O que é um grupo ideal?
• Quantos grupos devem ser formados?
• Há um agrupamento natural dos dados?
• Como podemos definir o que é semelhante?
![Page 7: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/7.jpg)
Agrupamento
Quantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
![Page 8: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/8.jpg)
Agrupamento
Quantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
![Page 9: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/9.jpg)
Agrupamento
Quantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
![Page 10: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/10.jpg)
Agrupamento
Quantos grupos?
Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
![Page 11: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/11.jpg)
Agrupamento• Como agrupar os objetos??
• Alguns dos possíveis agrupamento
Keogh, E. A g. Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
![Page 12: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/12.jpg)
Agrupamento - questões
JAIN, A. K. 2008. Data Clustering: 50 Years Beyond K-Means, Pattern Recognition Letters, vol. 31, n 8, 2010.
Dados de entrada Agrupamento desejado
![Page 13: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/13.jpg)
Agrupamento
• Semelhança entre objetos
Keogh, E. A g. Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
![Page 14: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/14.jpg)
Agrupamento
Após realizar o agrupamento o problema acabou?
Não, agora é preciso interpretar os resultados obtidos!!!!Analisar e avaliar o agrupamento!
![Page 15: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/15.jpg)
Importância do agrupamento
• Será que agrupamento é mesmo importante?– Mais de 50 anos de estudo sobre técnicas de
agrupamento– Milhares de aplicações– Dezenas de ferramentas na internet para
fazer agrupamento automático– Milhares de artigos publicados na área
![Page 16: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/16.jpg)
Exemplos de aplicações de agrupamento de dados
• Marketing– Ex: Agrupamento de clientes para direcionar
campanhas de marketing• Documentos
– Ex: agrupar documentos que tratam do mesmo assunto
• Imagens– Ex: Segmentar imagens usando técnicas de
agrupamento• Biologia
– Ex: agrupar animais de acordo com o reino, ramo, classe, ordem, gênero, ....
![Page 17: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/17.jpg)
Processo de Agrupamento
Jain, A. K., Murty, M. N., Flynn, P. J., Data clustering: a review, ACM Computing Surveys, vol. 31, n 3, 1999.
Mas e ai, por onde eu começo?
![Page 18: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/18.jpg)
Tipos de Agrupamento
• Seja X = {x1, x2,..., xn} o conjunto de todos os dados– Tarefa: colocar cada Xi em um dos m clusters
C1, C2, ..., Cm
– Clusters podem ser de dois tipos:– Tipo 1: duro (crisp)– Tipo 2: fuzzy
![Page 19: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/19.jpg)
Tipos de Agrupamento
• Cluster Crisp– Cada exemplo Xi pertence ou não a cada
cluster Cj
– Exemplo em Ci é mais semelhante a outros em Ci que àqueles em Cj, i ≠ j
![Page 20: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/20.jpg)
Tipos de Agrupamento
• Cluster Fuzzy– Usa uma função de pertinência para definir o
quanto um elemento pertence a um grupo
![Page 21: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/21.jpg)
Matriz de Partição
• Matriz com K linhas (nro de grupos) e N colunas (nro de objetos) no qual cada elemento Xij indica o grau de pertinência do j-ésimo elemento ao i-ésimo grupo
• Matriz rígida (sem sobreposição) – Se a matriz for binária– Se restrição for satisfeita
iijX 1
![Page 22: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/22.jpg)
Diferentes Tipos de Agrupamento
• Agrupamento Particional– Divisão do conjunto de dados em grupos (não
sobrepostos) tal que cada objeto está em exatamente um grupo
X• Agrupamento Hierárquico
– Conjunto de grupos aninhados que estão organizados como uma árvore
– Cada nó (grupo) na árvore (exceto as folhas) é a união de dos seus filhos (subgrupos)
– A raiz contém todos os objetos da base
![Page 23: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/23.jpg)
Diferentes Tipos de Agrupamento
Keogh, E. A g. Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
![Page 24: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/24.jpg)
Diferentes Tipos de Agrupamento
• Exclusivo– Associa cada objeto a um único cluster
X• Sobreposição (não exclusivo)
– Um objeto pode pertencer simultaneamente a mais que um grupo
X• Fuzzy
– Cada objeto pertence a cada grupo com um grau de pertinência entre 0 e 1
![Page 25: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/25.jpg)
Diferentes Tipos de Agrupamento
• Completo– Associa cada objeto a um cluster
X• Parcial
– Não associa cada objeto a um cluster– Motivação: alguns objetos no conjunto de
dados podem não pertencer a grupos bem definidos
• Ex: ruídos ou outliers
![Page 26: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/26.jpg)
Diferentes Tipos de Grupos
• Baseado em Grafos– Dados são representados como grafos – Os nós são os objetos e as arestas são as
conexões entre os objetos – Cluster: é um componente conectado
• Baseado em Densidade– Região densa de objetos que é circundada
por uma região de baixa densidade
![Page 27: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/27.jpg)
Algoritmos Particionais
• Características– São baseados na minimização de uma função de
custo– Objetos agrupados em um número K de grupos– Cada objeto é agrupado no grupo que minimiza a
função de custo– Uma única partição é obtida
• Vantagem– Um objeto pode mudar de grupo ao longo do
agrupamento
![Page 28: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/28.jpg)
k-Means• Algoritmo Básico
– Escolher K centróides • K é um parâmetro especificado pelo usuário• K representa o nro de grupos
– Cada objeto é associado ao seu centróide mais próximo
• Cada coleção de objetos associados a um centróide forma um grupo
– Recalcule os centros dos grupos– Repetir os dois passos anteriores até que não haja
mudança nos grupos ou equivalentemente, até que os centróides permaneçam o mesmo
![Page 29: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/29.jpg)
k-MeansSelecione K objetos como centróidesRepita
Forme K grupos associando cada objeto ao seu centróide mais próximoRecalcule os centróides de cada grupo
Até que Convergência seja obtida
![Page 30: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/30.jpg)
k-Means
• Centróides iniciais– Ex de Técnica: Escolher aleatoriamente
objetos do conjunto de dados
• Associar um objeto ao seu grupo mais próximo– Usar uma medida de proximidade que
quantifica a noção de mais próximo– Ex: usar distância Euclidiana
![Page 31: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/31.jpg)
k-Means
• Critérios de Convergência– Número máximo de iterações é obtido– Limiar mínimo de mudanças nos centróides
![Page 32: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/32.jpg)
k-Means
• Função Objetivo– Objetivo do agrupamento
Minimizar a distância quadrada de cada objeto ao seu centróide mais próximo
d: distância Euclidiana
k
c Cxcj
cj
xxdJ1
2),(
![Page 33: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/33.jpg)
k-Means
• Limitações– Escolha do valor de K– Problemas quando os grupos têm
• Diferentes densidades• Formatos não hiper-esféricos
– Problemas quando os dados possuem outliers
![Page 34: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/34.jpg)
k-Means – Grupos com diferentes tamanhos
Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP
![Page 35: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/35.jpg)
k-Means – Grupos com diferentes densidades
Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP
![Page 36: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/36.jpg)
k-Means – Grupos não globulares
Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP
![Page 37: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/37.jpg)
Agrupamento em Data Streams
• Problema a ser tratado– Manter continuamente um agrupamento
consistente e bom das sequências observadas até o momento, usando uma pequena quantidade de memória e tempo
– Tratar a evolução dos dados ao longo do tempo
– Tratar mudança no número de grupos ao longo do tempo
![Page 38: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/38.jpg)
Agrupamento em Data Streams
• Algoritmos– BIRCH (Zhang et 1996) desenvolvido para
grandes bases de dados– CluStream (Aggarwall et al., 2003)– DenStream (Cao et al., 2006)– StreamKM++ (Ackerman et al., 2010)– Clustree (Kranen et al., 2011)
![Page 39: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/39.jpg)
Agrupamento em Data Streams
• Visão geral dos algoritmos
Retirado de: SILVA, J. A.; FARIA, E. R.; BARROS, R. C.; HRUSCHKA, E. R.; CARVALHO, A. C.P. L. F. d.; GAMA, J. a. Data stream clustering: A survey. ACM Comput. Surv., ACM,New York, NY, USA, v. 46, n. 1, p. 13:1–13:31, jul. 2013
![Page 40: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/40.jpg)
Agrupamento em Data Streams
• Conceitos– CF-Vetor (Vetor de Características)
• N: número de objetos• LS: soma linear dos N objetos• SS: soma dos quadrados dos N objetos
• AditividadeCF1+CF2 = (N1 + N2, LS1+LS2, SS1+SS2)
• IncrementalidadeLS LS + x SS SS + x2 N N + 1
![Page 41: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/41.jpg)
Agrupamento em Data Streams
• Usando o CF-Vetor importantes medidas podem ser calculadas
![Page 42: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/42.jpg)
Agrupamento Particional em Data Streams
• CluStream (Aggarwall et al., 2003)– Framework para trabalhar com data streams
– Fase online (micro-agrupamento)• Mantém um sumário estatístico periodicamente
– q micro-grupos são mantidos (extensão do CF-Vetor)
– Fase offline (macro-agrupamento)• Agrupamento dos micro-grupos
– Modificação do K-Means
Obs.: q micro-grupos iniciais obtidos pela execução do K-Means
![Page 43: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/43.jpg)
Agrupamento Particional em Data Streams
q micro-grupos
Extensão Temporal do CF-Vector
N: número de objetos
LS: soma linear dos N objetos
SS: soma do quadrado dos N objetos
CF1: soma dos timestamps
CF2: soma dos quadrados dos timestamps
CluStream (Aggarwall et al, 2003)
![Page 44: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/44.jpg)
Agrupamento Particional em Data Streams
• CluStream (Aggarwall et al., 2003)– q micro-grupos são armazenados na memória
representando o snapshot atual• M1,... , Mq, sendo que cada M tem um id• Se Ma e Mb são unidos
– Lista de id’s é criada
– Se o marcador de tempo é divisível por (α^l)• Micro-grupos são armazenados no disco• Micro-grupos antigos são removidos se eles
excedem um certo limiar
![Page 45: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/45.jpg)
CluStream – Algoritmo
Fase Offline:Executar o K-Means nos InitN primeiros exemplos da base de dados, gerando q micro-grupos iniciais
Fase Online: Para cada novo exemplo x
Encontre o micro-grupo c mais próximo a xSe dist(c,x) < δ
Atualize c com xCaso Contrário
Crie um novo micro-grupo para cSe algum micro-grupo é um outlier
Remova o micro-clusterCaso contrário
Una os dois micro-grupos mais próximos
![Page 46: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/46.jpg)
Agrupamento Particional em Data Streams
• CluStream – Complexidade– Inserir um novo elemento: O(q x d)– Inserir todos os elementos: O(N x q x d)
• q: nro de micro-grupos• d: dimensão dos dados• N: nro de elementos do data streams (supondo
que ele é finito)– Unir os dois micro-grupos mais próximos:
O(q2 x d)
![Page 47: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/47.jpg)
Agrupamento Hierárquico• É um procedimento para transformar uma matriz
de proximidade em uma sequência de partições aninhadas
• Produz uma sequência (hierarquia) de agrupamentos
• Usado em áreas que utilizam estrutura de agrupamento hierárquica– Ex: biologia e arqueologia
![Page 48: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/48.jpg)
Agrupamento Hierárquico• Seja B= {G1, G2, ..., Gm} uma partição dos dados
X = {x1, x2, ..., xn}
• Uma partição B está aninhada em C (B ⊂ C)– Se cada componente de B é um subconjunto de um
componente de C• C é formado unindo componentes de B
Exemplo: B está aninhando em CC={(x1,x3,x5,x7),(x2,x4,x6,x8),(x9,x10)}B={(x1,x3),(x5,x7),(x2),(x4,x6,x8),(x9,x10)}
![Page 49: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/49.jpg)
Agrupamento Hierárquico
• É sempre exibido graficamente usando um diagrama chamado dendograma– Mostra os grupos-subgrupos e a ordem na
qual os grupos foram unidos (visão aglomerativa) ou divididos (visão divisiva)
• Para dados com 2 dimensões, o agrupamento hierárquico pode ser visto usando o diagrama de grupos aninhados
![Page 50: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/50.jpg)
Agrupamento Hierárquico
Representação de agrupamento hierárquico
Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Dendograma Conjunto de diagrama aninhado
![Page 51: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/51.jpg)
Agrupamento Hierárquico
Exemplo de Dendograma
Exemplo retirado de Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data, Prentice Hall, 1988.
![Page 52: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/52.jpg)
Agrupamento Hierárquico• Aglomerativo
– Inicia com os elementos como grupos individuais– A cada passo, o par de elementos mais próximos é
unido– Exige a definição de uma noção de proximidade
• Divisivo– Inicia com um grupo, contendo todos os elementos– A cada passo, dividir o grupo até que grupos com um
único elemento sejam obtido– É necessário decidir qual grupo dividir a cada passo e
como fazer essa divisão
![Page 53: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/53.jpg)
Agrupamento Hierárquico
Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP
![Page 54: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/54.jpg)
Algoritmo Básico para Agrupamento Hierárquico Aglomerativo
Compute a matriz de proximidade, se necessário.
repita unir os dois grupos mais próximos
atualize a matriz de proximidade para refletir a proximidade entre o novo grupo e os grupos originais
Até que somente um grupo seja obtido
![Page 55: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/55.jpg)
Definindo Proximidade entre Grupos
• Min• Max• Média do grupo• Centróide• Técnica alternativa
– Método Ward’s
![Page 56: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/56.jpg)
Método Divisivos
• Ideia Geral– Iniciar com um grupo contendo todos os
elementos– Dividir o grupo em 2– Recursivamente sub-dividir cada grupo em 2
até que grupos com um elemento sejam encontrados
![Page 57: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/57.jpg)
Método Divisivos
• Pouco explorados na literatura. Por que?Alta Complexidade Computacional
Métodos Algomerativos:Todas as possíveis junções em
Métodos Divisivos:Todas as possíveis divisões em dois conjuntos não-vazios em :
2)1(2
nnCn
12 1 n
![Page 58: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/58.jpg)
Agrupamento Hierárquico em Data Streams
• BIRCH (Zhang et 1996)– Constrói uma estrutura hierárquica CF-Árvore
• Árvore B+• Os nós não-folhas contêm no máximo B entradas,
cada entrada CF-Vetor e um ponteiro-filho• Os nós folhas contêm no máximo L entradas, cada
entrada CF-Vetor– Fase 1 (Online): Construção da CF-Árvore– Fase 2 (Offline): Agrupamento das folhas
![Page 59: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/59.jpg)
Agrupamento Hierárquico em Data Streams
CF-Vetor
Nó não-folha
Soma do CF-Vetor dos Filhos
Nó RaizBirch (Zhang et al, 1996)
![Page 60: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/60.jpg)
BIRCH
Imagem retirada de: http://engr.case.edu/zhang_xiang/teaching/eecs435/presentation/He.Jiang.pdf
![Page 61: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/61.jpg)
Birch- AlgorithmInserção na CF-TreeEntrada: T: limiar que indica o raio máximo de uma folha, B = nro
máximo de entradas em um nó folha, L = nro máximo de entradas em um nó não-folha
Descer da raiz até as folhas seguindo o caminho do CF mais próximo
Ao chegar na folhaSe a entrada mais próxima no nó-folha pode absorver o exemplo (usando T)
Atualize o seu CFCaso contrário
Crie um novo CFSe há espaço na folha para inserir o CF (max = B)
Insira-oCaso Contrário
Divida o nó paiAtualize o CF de todo o caminho percorrido por x
![Page 62: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/62.jpg)
Birch – AlgoritmoRefazendo a CF-Tree
Se não há mais espaço na memóriaAumente o limiar TRefaça a árvore com os dados já inseridos usando TContinue a inserção de novos dados
![Page 63: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/63.jpg)
1 2 3 4 75
BIRCHExemplo de Inserção Split (B=3 e L=3):
63
1 2 3
R
PCF2 PCF3CF1
CF2
CF3 CF4 CF5
CF6CF7
PCF1
CF
6
Imagem retirada dos slides do aluno Jonathan Andrade - apresentação na disciplina Agrupamento de Dados do ICMC - USP - 2010.
![Page 64: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/64.jpg)
1 2 5 6 7
BIRCHExemplo de Inserção Split (B=3 e L=3):
64
PCF4
PCF2 PCF3
CF1
CF2CF3
CF4 CF5CF6 CF7
CF
PCF1
R
1 4 2 3
43Imagem retirada dos slides do aluno Jonathan Andrade - apresentação na disciplina Agrupamento de Dados do ICMC - USP - 2010.
![Page 65: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/65.jpg)
BIRCHExemplo de Inserção Split (B=3 e L=3):
65
PCF4
PCF2 PCF3
CF1
CF2CF3
CF4 CF5CF6 CF7CF
PCF1
ACF1ACF2
2 3
R
1 2
1 4
1 2 3 4 5 6 7Imagem retirada dos slides do aluno Jonathan Andrade - apresentação na disciplina Agrupamento de Dados do ICMC - USP - 2010.
![Page 66: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/66.jpg)
Algoritmos Baseados em Densidade
• Baseiam-se na ideia de densidade– Clusters são regiões de alta densidade separadas por
regiões de baixa densidade• Características
– Descoberta de grupos de formato arbitrário– Tratamento de ruído– Não é necessário informar o número de grupos
• Mas outros parâmetros relativos à densidade são necessários
• Exemplos de algoritmos– DBSCAN, OPTICS, DENCLUE e CLIQUE
![Page 67: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/67.jpg)
DBSCAN
• É um método de agrupamento baseado em densidade– Parâmetros: Eps – raio máximo de uma vizinhança e
MinPts – nro mínimo de pontos em uma vizinhança Eps daquele ponto
• É um método baseado em centro– A densidade é estimada para um ponto particular no conjunto de dados, contando o nro de pontos dentro de um raio, Eps, daquele ponto (que inclui ele mesmo)
Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
![Page 68: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/68.jpg)
DBSCAN
• Classificação dos pontos de acordo com a densidade baseada em centro– Core points
• Estão no interior de um cluster baseado em densidade• Um ponto é um core point se o nro de pontos dentro de uma
dada vizinhança ao redor do ponto (determinada por Eps e uma função de distância) excede um limiar MinPts
– Border points• Um exemplo que não é core point, mas que está dentro da
vizinhança de um core point
– Noise points• Um ponto que não é core point nem border point
![Page 69: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/69.jpg)
DBSCAN
Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
![Page 70: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/70.jpg)
DBSCAN
• Ideia Geral– Quaisquer dois core points que estão próximo o
suficiente – dentro de uma distância Eps um do outro – são colocados no mesmo cluster
– Qualquer border point que está próximo o suficiente de um core point é colocado no mesmo cluster que esse core point
• Pode haver empates se um border point está igualmente próximo a dois ou mais core points de diferentes clusters
– Noise points são descartados
![Page 71: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/71.jpg)
DBSCAN - Algoritmo1. Rotule todos os pontos como core, border
ou noise2. Elimine os pontos rotulados como noise3. Coloque uma aresta entre todos os pontos
core que estão a um distância Eps um do outro
4. Faça cada componente conectado de pontos core um cluster separado
5. Associe cada border ao clusters de um dos seus core associados1. Resolva empates se houver objetos core
associados a diferentes clusters
![Page 72: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/72.jpg)
DBSCAN
• Complexidade– Tempo: O (n x tempo para encontrar os
pontos na vizinhança Eps)• n é o nro de pontos• Pior caso O(n2)• Há estruturas como kd-trees que permitem
eficientemente recuperar todos os pontos dentro de uma dada distância de um ponto específico com complexidade O (n log n)
– Espaço: O (n)• Armazenar somente os pontos e um rótulo
![Page 73: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/73.jpg)
DBSCAN
• Vantagens– Resistente a ruídos– Eficiente em grandes bases de dados– Trata clusters de diferentes formatos e tamanhos– Não é necessário especificar o nro de grupos
• Desvantagem– Sensível aos parâmetros MinPts e Eps– Sensível a bases com alta dimensionalidade– Problema quando os clusters possuem diferentes
densidades
![Page 74: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/74.jpg)
DBSCAN – Questões a sem tratadas
• Seleção dos Parâmetros Eps e MinPts– Proposta Básica
• Observar o comportamento da distância de um ponto aos seus k-ésimos vizinhos mais próximos k-dist
– Para pontos no mesmo cluster, k-dist será pequeno se o k não for maior que o tamanho do cluster
– Para pontos que não estão no mesmo grupo (tais como ruídos), k-dist será relativamente grande
• Computar k-dist para todos os pontos para algum k, ordenar em ordem crescente e plotar os valores ordenados
– É esperado encontrar uma mudança no valor de k-dist que corresponde a um valor adequado para Eps
– Usar k-dist para o valor de Eps e K para MinPts
![Page 75: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/75.jpg)
Agrupamento baseado em densidade em Data Streams
• DenStream– Baseado no paradigma de agrupamento por
densidade– Também propõe o uso do CF-Vector
• Associa um peso (w) a cada micro-cluster– Indica a importância do exemplo com base na temporalidade
![Page 76: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/76.jpg)
DenStream
• O algoritmo é dividido em duas fases• Fase online
– Usa duas estruturas p-micro-cluster (ou potencial micro-cluster) e o-micro-cluster (ou outlier micro-cluster).
– p-micro-cluster: – o-micro-cluster:
β e μ são parâmetros de entrada
![Page 77: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/77.jpg)
DenStream
• Os primeiros p-micro-clusters são obtidos aplicando o DBSCAN em um conjunto inicial de dados do fluxo
![Page 78: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/78.jpg)
DenStream
Retirado do TCC de Jean de Sousa Ferreira - Comparação entre métodos de agrupamentos para fluxos contínuos de dados - UFU - 2016
![Page 79: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/79.jpg)
Desafios Futuros• Criar algoritmos em que não seja preciso configurar
parâmetros críticos– Número de grupos– Densidade dos grupos– Tamanho da janela– Fator de decaímento dos elementos
• Tratar o problema dos outliers– Diferenciar o surgimento de novos grupos de ruídos ou outliers
nos dados
• Lidar com a distribuição não-estacionária dos dados
• Lidar com diferentes tipos de dadosRetirado de: SILVA, J. A.; FARIA, E. R.; BARROS, R. C.; HRUSCHKA, E. R.; CARVALHO, A. C.P. L. F. d.; GAMA, J. a. Data stream clustering: A survey. ACM Comput. Surv., ACM,New York, NY, USA, v. 46, n. 1, p. 13:1–13:31, jul. 2013
![Page 80: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/80.jpg)
Desafios Futuros
• Possíveis aplicações– Dados produzidos por dispositivos móveis– Dados de redes sociais– Dados de sistemas distribuídos em tempo
real
![Page 81: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/81.jpg)
Referências• Jain, A. K., Murty, M. N., Flynn, P. J., Data clustering: a
review, ACM Computing Surveys, vol. 31, n 3, 1999.• Jain, A. K. 2008. Data Clustering: 50 Years Beyond K-
Means, Pattern Recognition Letters, vol. 31, n 8, 2010.• Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data,
Prentice Hall, 1988.• Tan P., SteinBack M. e Kumar V. Introduction to Data
Mining, Pearson, 2006.• Keogh, E. A g. Introduction to Machine Learning and
Data Mining for the Database Community, SBBD 2003, Manaus.
![Page 82: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern](https://reader036.vdocuments.pub/reader036/viewer/2022081611/5f0265007e708231d4040f9b/html5/thumbnails/82.jpg)
Referências
• Aggarwal, C. C., Han J., Wang, J. & Yu, P. S. A Framework for Clustering Evolving Data Stream. In Proc. of the 29th VLDB Conference (2003).
• Zhang, T.; R., R.; Livny, M. , BIRCH: An efficient data clustering method for very large databases, SIGMOD '96, ACM Press (2006).
• Gama, J. Knowledge Discovery from Data Streams, Chapman & Hall, 2010.