![Page 1: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/1.jpg)
Análise de Clusters – Introdução Método K-means
AULA 14
DATA MINING
![Page 2: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/2.jpg)
Agrupamento -Análise de Clusters
a F 1 0 1 1
b M 0 0 1 1
c F 1 1 1 0
d F 1 0 0 0
e M 1 1 0 1
a2 a3
a1
a11
a4
a7
a9a10 a5
Número de Clusters = 3 Conceito = Doença
Doença X
Doença Z
Doença Y
a8
a6
a1
.
.
.
a2
Nome Sexo Sintomas
![Page 3: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/3.jpg)
Análise de Clusters: Objetivos Compreensão dos dados
Existe algum conceito inerente a cada grupo. Que conceito é este ?
Utilidade em outras tarefas Cada cluster pode ser representado por um objeto protótipo que caracteriza o cluster
Sumarização : Algoritmos aplicados em grandes volumes de dados podem ser aplicados apenas aos protótipos, reduzindo assim o tempo de execução
Compressão : o objeto protótipo representa cada objeto dentro do seu cluster
Otimização do cálculo dos vizinhos mais próximos: Se dois protótipos estão distantes então os objetos nos respectivos
clusters também estão distantes. Os objetos mais próximos do objeto X devem ser procurados no
cluster correspondente ao protótipo mais próximo de X.
![Page 4: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/4.jpg)
Clusterização versus Classificação Classificação
Aprendizado Supervisionado Amostras de treinamento são classificadas Número de Classes é conhecido
Aprendizado por Exemplo Clusterização
Aprendizado Não Supervisionado Aprendizado por Observação
![Page 5: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/5.jpg)
Tipos de Agrupamentos Particionais versus Hierárquicos
Particionais: clusters são disjuntos Hierárquicos:
Clusters possuem subclusters – organizados em árvore Cada cluster (nó interno da árvore) é a união de seus filhos
Exclusivos versus Não-exclusivos versus Fuzzy Exclusivos: cada objeto pertence a um único cluster Não exclusivos: existem objetos que são associados a diferentes clusters Fuzzy : objetos são associados a um cluster com um certo grau de pertinência
Completos versus Parciais Completos: cada objeto pertence a algum cluster Parciais: existem objetos que não estão associados a nenhum cluster
(outliers, ruidos, sem interesse)
![Page 6: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/6.jpg)
O que é um cluster ?
Baseados em Protótipos
Um cluster é um conjunto de objetos no qual cada objeto está mais próximo (ou é mais similar) a objetos dentro do cluster do que qualquer objeto fora do cluster. Um cluster é um conjunto de objetos no
qual cada objeto está mais próximo ao protótipo que define o cluster do que dos protótipos de quaisquer outros clusters. Em geral: Protótipo = centróide
Bem separados
Como definir a noção de Cluster ?
Os clusters encontrados tendem a ser globulares.
Protótipos
![Page 7: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/7.jpg)
O que é um cluster ?- Os dados podem ser representados por um grafo, onde os vértices são objetos e existe aresta de a para b se a está mais perto de b do que de outros objetos no conjunto. - Estar perto significa estar diretamente conectado. - Um cluster é uma componente conexa do grafo, isto é, um conjunto de objetos que estão conectados um no outro, mas que não estão conectados com nenhum outro objeto de outro cluster.
Baseados em Grafos
Boa definição quando os clusterssão irregulares e entrelaçados.
Problema: quando os dados têm ruidos,Pode haver distorções nos clusters
Exemplo: dois clusters distintos podemse transformar num único cluster (os dois clusters são ligados através de uns poucosOutliers, como mostrado na figura).
a b
a está perto de b d(a,b) < α
![Page 8: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/8.jpg)
O que é um cluster ?
Baseados em Densidade
Um cluster é uma região densa rodeadapor uma região de baixa densidade.
No exemplo, temos 3 clusters = 3 regiões densasA ‘’ponte’’ de outliers ligando as duas esferasfoi ‘’dissolvida’’ nos outros outliers.
Esta definição é utilizada quandoos clusters são irregulares ou entrelaçadose quando ruido e outliers estão presentes.
Uma definição baseada em grafos não seriaadequada neste caso, pois os outlierspoderiam fazer uma ponte entre as regiõestransformando-as em um único cluster.
Os outliers seriam absorvidos nos clusters.
![Page 9: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/9.jpg)
O que é um cluster ?
Clusters Conceituais
Os objetos de um cluster possuem uma propriedade que é derivada do conjuntototal de objetos. No exemplo, podemos distinguir3 clusters: o triângulo, o retângulo e os dois anéis.
Um cluster representa um conceito.Definição utilizada em Reconhecimento de Padrões.
![Page 10: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/10.jpg)
Tipos de Técnicas de Clusterização Particionamento
K-means: K-medóides: PAM, CLARA, CLARANS
Particional e baseada em protótipos.
Encontra um número k de clusters (k é fornecido pelo usuário) que são representados por seus centróides.
![Page 11: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/11.jpg)
Particionamento
BD com n amostras
K = número de clusters
desejado ( parâmetro )
K ≤ n
![Page 12: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/12.jpg)
Tipos de Técnicas de Clusterização Hierárquicas Aglomerativas
Produzem agrupamentos hierárquicos começando com clusters unitários e repetidamente aglutinando clusters próximos dois a dois até chegar no número k de clusters solicitado pelo usuário.
Exemplos: BIRCH, CURE, CHAMELEON, ROCK...)
![Page 13: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/13.jpg)
Hierárquicos Aglomerativos
BD com n amostras
K = número de clusters
desejado ( parâmetro )
K ≤ n
![Page 14: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/14.jpg)
Tipos de Técnicas de Clusterização Hierárquicas DivisóriasProduzem agrupamentos hierárquicos
começando com um cluster único contendo todo o conjunto de objetos e repetidamente dividindo os clusters em duas partes de acordo com algum critério de similaridade até chegar no número k de clusters solicitado pelo usuário.
Exemplo: algoritmo DIANA
![Page 15: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/15.jpg)
Tipos de Técnicas de Clusterização Por densidade
Adequados para identificar clusters de formato arbitrário. Robustos com respeito a ruídos e outliers.
Regiões densas = clusters Regiões de baixa densidade = ruídos e outliers Um ponto pertence a uma região densa se numa
vizinhança de raio α pequeno existem pelo menos M objetos (M dado pelo usuário).
O número k de clusters não precisa ser dado pelo usuário.É determinado pelo algoritmo.
Exemplos: DBSCAN, OPTICS, DENCLUE
![Page 16: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/16.jpg)
Dados de Treinamento
x11 x12 x13 ... x1n
x21 x22 x23 ... x2n
x31 x32 x33 ... x3n
... ... ... ... ...
xp1 xp2 xp3 ... xpn
0 0 ... 0
d(x1,x2) 0 ... 0
d(x1,x3) d(x2,x 3) ... 0
... ... ... 0
d(x1,xp) d(x2,x p) ... 0
Matriz de dados padronizados Matriz de dissimilaridade
Distância Euclidiana d(x,y) = (x1-y1)2 + (x2-y2)2 + .... + (xp – yp)2
Outras distâncias : Manhattan, Minkowski, Ponderada
![Page 17: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/17.jpg)
Outras distâncias Manhattan Minkowski
Distância em geral Qualquer função d(x,y) N que satisfaz as seguintes
propriedades:
d(i,j) ≥ 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,k) ≤ d(i,j) + d(j,k) (desigualdade triangular)
Distância poderada
d(x,y) = |x1-y1|+ |x2-y2| + .... + |xp – yp|
d(x,y) = (x1-y1)m + (x2-y2)m+ .... + (xp – yp)mm
d(x,y) = p1 (x1-y1)2 + p2 (x2-y2)2+ .... +pk (xk – yk)2
![Page 18: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/18.jpg)
Outras medidas de similaridade Para documentos
p1,p2, p3, ... : vocabulário (palavras) Um documento = vetor (n1,n2,...,nk) ni = número de vezes que a palavra i aparece no
documento Medida de similaridade entre documentos d1,d2
= cos(d1,d2) = d1.d2
|d1| |d2|
d1
d2
θ
![Page 19: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/19.jpg)
Exercicio Sejam X1 = (1,2) e X2 = (4,6). Calcula as
distâncias euclidianas, Minkowski com m = 3 e Manhattan entre X1 e X2.
Ilustre no plano xy os segmentos representando tais distâncias.
![Page 20: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/20.jpg)
Algoritmo K-means
1ª Iteração2ª Iteração
+
+
+
Exemplo K = 3
![Page 21: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/21.jpg)
Algoritmo K-Means1. Selecione k pontos como centróides iniciais2. Repeat3. Forme k clusters associando cada objeto a seu
centróide mais próximo4. Recompute o centróide de cada cluster5. Until Centróides não apresentam mudançasCentróide = centro de gravidade do cluster Coordenada i = média aritmética das coordenadas i de
seus objetos constituintes.
![Page 22: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/22.jpg)
Observações Boa parte dos clusters já convergem nos
primeiros passos do algoritmo, ficando somente uma quantidade pequena de clusters que ainda modificam.
Assim, a condição 5 do algoritmo é substituida por : “até que somente 1% dos objetos mudam de clusters”.
![Page 23: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/23.jpg)
Objetivo Erro (x) = d(x,ci) = distância de x até o centróide ci de
seu cluster Ci Objetivo do método K-means
Minimizar a soma dos erros (SSE = sum of square errors) Maximizar a coesão (no caso de documentos)
SSE = Σ Σ d(x,ci)2 Coesão = Σ Σ coseno(x,ci)2 i = 1
K
x ɛ Ci i = 1
K
x ɛ Ci
![Page 24: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/24.jpg)
Observação Nem sempre o K-means consegue minimizar
o SSE Isto depende muito da escolha dos centróides
iniciais.
![Page 25: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/25.jpg)
Técnicas para inicializar os centróides Escolha aleatória – diversas rodadas do k-means até
encontrar a escolha que produz o menor SSE (ou maior coesão). Nem sempre funciona- depende dos dados e do número k
de clusters que se quer encontrar. Utilizar uma amostra, aplicar um método de
clusterização hierárquica sobre a amostra. Centróides iniciais = centróides dos clusters das amostras. Funciona se a amostra é pequena (métodos hierárquicos
são computacionalmente caros !) e K é relativamente pequeno com relação ao tamanho da amostra.
![Page 26: Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c0430/html5/thumbnails/26.jpg)
Exercício1
12
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-means