Clusterização ou
Agrupamento de Dados
Stanley R. M. Oliveira
2 MT803 – Tópicos em Matemática Aplicada – Aula 6
Resumo da Aula
Clusterizaçãoou análise de agrupamentos: Conceitos básicos e aplicações.
Tipos de dadosem clusterização.
Avaliando a qualidade de clustersgerados.
Similaridadeentre objetos.
Métodos de Clusterização:
Particionamento;
Hierárquico;
Baseado em densidade.
Outros.
MT803 – Tópicos em Matemática Aplicada – Aula 6
O que é análise de agrupamentos?
Cluster
: uma coleção de objetos
Similares aos objetos do mesmo cluster
Dissimilares aos objetos de outros clusters
Clusterização
Agrupamento de conjuntos de dados em clusters.
Clusterização
é uma classificação
não
supervisionada
: sem classes predefinidas.
MT803 – Tópicos em Matemática Aplicada – Aula 6
Classificação supervisionada
Possui atributo meta com informação (classes).
Segmentação Simples
Divisão de estudantes em diferentes grupos, registrados
em ordem alfabética, pelo último nome.
Resultados de uma Consulta
O agrupamento é o resultado de uma especificação
externa.
Particionamento de um Grafo
Os agrupamento pode ter sinergiaou relevância, mas as áreas nãosão idênticas.
5 MT803 – Tópicos em Matemática Aplicada – Aula 6
Quantos clusters?
Quatro Clusters Dois Clusters
Seis Clusters
A noção de um cluster pode ser ambígua
6 MT803 – Tópicos em Matemática Aplicada – Aula 6
Aplicações gerais de clusterização
Reconhecimento de
padrões.
Análise de
dados espaciais
:
Criação de mapas temáticos em GIS por meio de agrupamento de características espaciais
Agrupamento de
pacientes
c/ mesmos sintomas
Marketing e business:
segmentação
de mercado
Web:
Classificaçãode documentos.
Análise de Weblog para descobrir grupos de padrõesde acessos similares.
7 MT803 – Tópicos em Matemática Aplicada – Aula 6
Outros exemplos de aplicações
Marketing: identifica grupos distintos de clientes ⇒
útil para desenvolver programas de marketing.
Uso da terra: Identifica áreas usadas com o mesmo
propósito em um DB com observações da terra.
Seguro: Identifica grupos de clientes que fazem
comunicação de sinistro com alta freqüência.
Planejamento (cidade): Identifica grupos de casas
de acordo com o tipo, valor e localização geográfica.
8 MT803 – Tópicos em Matemática Aplicada – Aula 6
O que é uma boa clusterização?
Uma boa clusterizaçãosempre produz clusters com:
Alta similaridade nas classes (grupos).
Baixa similaridade entre as classes (grupos).
A qualidadedos resultados depende do(a):
Medida de similaridade usada.
Método e sua implementação.
A qualidade do métodode clusterização é também
medida pela sua habilidade de descobrir alguns ou
9 MT803 – Tópicos em Matemática Aplicada – Aula 6
Clusterização: Requisitos em Mineração
Escalabilidade.
Habilidade para lidar com diferentestipos de atributos.
Habilidade para lidar com dados dinâmicos.
Descoberta de clusters com diferentes formatos (shapes).
Necessidade mínimade conhecimento do domíniopara
determinar parâmetros de entrada (input).
Habilidade de trabalhar com ruídose outliers.
Insensibilidadecom relação número de registros de entrada.
Altadimensionalidade.
Incorporação de restriçõesdefinidas por usuários.
Interpretabilidadee usabilidade.
10 MT803 – Tópicos em Matemática Aplicada – Aula 6
Tipos de dados em clusterização
Matriz de dados
Matriz de distâncias
np x ... nf x ... n1 x ... ... ... ... ... ip x ... if x ... i1 x ... ... ... ... ... 1p x ... 1f x ... 11 x 0 ... ) 2 , ( ) 1 , ( : : : ) 2 , 3 ( ) ... n d n d 0 d d(3,1 0 d(2,1) 0MT803 – Tópicos em Matemática Aplicada – Aula 6
Tipos de dados em clusterização ...
Variáveis numéricas:
Podem ser reais ou inteiras.
Ex: temperatura, latitude, longitude, altura, peso, etc.
Variáveis binárias:
Possuem somente dois estados: 0 ou 1.
Variáveis nominais:
Generalização de variáveis binárias.
Ex: Cores (azul, amarelo, verde, vermelho, etc).
Variáveis composta de vários tipos (
mistura
)
MT803 – Tópicos em Matemática Aplicada – Aula 6
Avaliando a qualidade de clusters
A similaridade entre dois objetos i e j é expressa em
termos de distância: d(i, j).
Para cada tipo de variável, existe uma função para
cálculo de distância.
Existe uma função de “qualidade” que mede a eficácia
de um cluster.
Pesospodem ser associados com diferentes variáveis
dependendo da aplicação.
É difícil definir similaridadeou eficácia de um cluster ?
13 MT803 – Tópicos em Matemática Aplicada – Aula 6
Normalização de variáveis numéricas
Normalização⇒ variáveis com mesmo peso. Min-Max para um atributo f:
Z-score
Desvio absoluto médio
Onde: f f f novoMin novoMin novoMax x f f f if if S × − + − − = ( ) min max min f f if if m x z σ − = |) | ... | | | (| 1 2 1f f f f nf f f n x m x m x m s = − + − + + − . ) ... 2 1 1 nf f f f n(x x x m = + + + 14 MT803 – Tópicos em Matemática Aplicada – Aula 6
Exercício 1
Usando o software Weka
:
1. Selecionar o dataset “iris”;
2. Normalizar atributos usando Min-max;
3. Normalizar atributos usando Z-score;
4. Selecionar o dataset “segment-challenge” e
aplicar Min-Maxe Z-scorepara normalizar os seus
atributos.
15 MT803 – Tópicos em Matemática Aplicada – Aula 6
Similaridade entre variáveis numéricas
Distâncias são geralmente usadas para medir a
similaridadeou dissimilaridadeentre objetos.
Exemplos incluem: a distância de Minkowski:
onde i = (xi1, xi2, …, xip) e j = (xj1, xj2, …, xjp) são dois objetos p-dimensional e qé um inteiro positivo
Quando q = 1, d é a distância de Manhattan
q q p p q q j x i x j x i x j x i x j i d(, ) (| | | | ... | | ) 2 2 1 1 − + + − + − = | | ... | | | | ) , ( 2 2 1 1 xj xi xj xip xjp i x j i d = − + − + + − 16 MT803 – Tópicos em Matemática Aplicada – Aula 6
Similaridade entre variáveis numéricas
Quando q = 2, d é a distância Euclidiana:
Propriedades: d(i,j) ≥ 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,j) ≤ d(i,k) + d(k,j) ) | | ... | | | (| ) , ( 2 2 2 2 2 1 1 xj xi xj xip xjp i x j i d = − + − + + −
Qual é a distância Euclidianae de Manhattanpara os pontos: A=(7,9) e B=(4,5) ?
17 MT803 – Tópicos em Matemática Aplicada – Aula 6
Exercício 2
1. Dados os pontos
P
= (-1, 3, -2);
Q
= (-4, 5, -2);
R
= (4, -1, 0);
S
= (7, 0, 1), pede-se:
a) O centróide dos pontos P, Q, R, S.
b) As distâncias
Euclidiana
e de
Manhattan
entre
os pontos PQ, RS e QS.
18 MT803 – Tópicos em Matemática Aplicada – Aula 6
Similaridade entre variáveis binárias
Tabela de contingência para variáveis binárias:
Similaridade invariante - variável simétrica (ex: sexo):
Coeficiente de Jaccard- variável assimétrica:
d c b a c b j i d + + + + = ) , ( c b a c b j i d( , )= +++ p d b c a sum d c d c b a b a sum + + + + 0 1 0 1 Objeto i Objeto j
MT803 – Tópicos em Matemática Aplicada – Aula 6
Similaridade entre variáveis binárias
Exemplo:
Sexoé um atributo simétrico.
Os demais atributos são assimétricos.
Suponha que os valores Y e P representam 1, e o valor N representa 0
Nome Sexo Febre Tosse Test-1 Test-2 Test-3 Test-4
Jack M Y N P N N N Mary F Y N P N P N Jim M Y P N N N N 75 . 0 2 1 1 2 1 ) , ( 67 . 0 1 1 1 1 1 ) , ( 33 . 0 1 0 2 1 0 ) , ( = + + + = = + + + = = + + + = Mary Jim d Jim Jack d Mary Jack d d (Jim, Mary) = ?
MT803 – Tópicos em Matemática Aplicada – Aula 6
Similaridade para variáveis nominais
Uma generalização da variável bináriaé que ela pode ter
mais de 2 estados (Ex:vermelho, amarelo, azul, verde).
Método 1: “Simple matching”
m: número de “matches”, p: número total de variáveis
Método 2: uso de um grande número de variáveis binárias Cria-se uma variável binária para cada um dos M estados
nominais. p m p j i d(, )= −
21 MT803 – Tópicos em Matemática Aplicada – Aula 6
Variáveis intervalares
Permitem não apenas ordenarem postos os itens
que estão sendo medidos, mas também quantificar
e compararo tamanho das diferenças entre eles.
Exemplo: temperatura medida em graus Celsius
constitui uma variável intervalar.
Pode-se dizer que a temperatura de 40ºCé maior
do que 30C e que um aumento de 20ºC para 40ºCé
duas vezes maiordo que um aumento de 30ºC
para 40ºC.
22 MT803 – Tópicos em Matemática Aplicada – Aula 6
Uma variável ordinalpode ser discretaou contínua. A ordemé importante (Exemplo: ranqueamento).
Podem ser tratadas como variáveis intervalares.
Substituir xif pela sua posiçãono “rank”.
Mapear o domíniode cada variável no intervalo [0, 1] substituindo
o i-th objeto na f-th variável:
Computar a similaridadeusando métodos para variáveis intervalares. 1 1 − − = f if if M r z } ,..., 1 { f if M r ∈
Similaridade para variáveis ordinais
23 MT803 – Tópicos em Matemática Aplicada – Aula 6
Variável de razão: uma medida positiva sobre uma escala não
linear. Aproxima-se da escala exponencial, como por exemplo: AeBtou Ae-Bt
Exemplos de variáveis (escalas) de razão são: idade, salário,
preço, volume de vendas, distâncias.
Métodos:
Tratá-las como variáveis intervalares —não é uma boa escolha!
(por que? — a escala do intervalo pode ser distorcido).
Aplicar a transformação logarítmica:
yif= log(xif)
Tratá-las como dados ordinaiscontínuos e tratar seus
posicionamentos “ranks” como intervalares.
Similaridade para variáveis de razão
24 MT803 – Tópicos em Matemática Aplicada – Aula 6
Um datasetpode conter vários tipos de variáveis:
Binária simétrica, binária assimétrica, nominal, ordinal, intervalar e
e escala de razão.
Pode-se usar uma fórmula ponderadapara combinar
seus efeitos:
Se f ébináriaou nominal:
dij(f)= 0 Se xif= xjf, ou dij(f)= 1 caso contrário. Se f éintervalar: usar a distância normalizada. Se f éordinalou escala de razão:
Computar os posicionamentos (ranks) rif e
tratar zifcomo intervalares:
) ( 1 ) ( ) ( 1 ) , ( f ij p f f ij f ij p f d j i d δ δ = = Σ Σ = 1 1 − − = f if M r zif
25 MT803 – Tópicos em Matemática Aplicada – Aula 6
Exercício 3
Usando o software Weka
:
1. Selecionar o dataset “contact-lenses”;
2. Converter os atributos de nominal para binário;
3. Selecionar o dataset “soybean” e converter seus
atributos de nominalpara binário.
26 MT803 – Tópicos em Matemática Aplicada – Aula 6
Métodos de clusterização
Particionamento
: Constrói várias partições e as
avalia usando algum critério.
Hierárquico
: Cria uma decomposição
hierárquica dos objetos usando algum critério.
Baseado em densidade
: Fundamenta-se em
funções de conectividade e de densidade.
Outros métodos
: Ver capítulo 7 do livro:
Data Mining: Concepts and Techniques
Autores: Jiawei Han e Micheline Kamber.
MT803 – Tópicos em Matemática Aplicada – Aula 6
Métodos baseados em particionamento
Particionamento: Segmenta um banco de dados D de n objetos em um conjunto de k clusters.
Objetivo: Encontrar uma partição de k clusters que otimiza o
critério de particionamento escolhido.
Função Objetivo: minimizar a soma dos quadrados das distâncias, tal que:
Onde:
Eé a soma dos quadrados dos erros para todos os objetos no dataset;
pé o ponto no espaço representando um dado objeto;
mié o centróide do cluster Ci. 2 1 p Ci( i) k i p m E=Σ=Σ ∈ −
MT803 – Tópicos em Matemática Aplicada – Aula 6
Dado um valor de k, encontrar k clusters que
otimiza um critério de particionamento escolhido:
Ótimo Global: exaustivamente enumera todas as partições; Principais heurísticas: algoritmos k-meanse k-medoids. k-means(MacQueen’67): Cada cluster é representado pelo
centro (centróide) do cluster.
k-medoidsouPAM(Partition Around Medoids) (Kaufman & Rousseeuw’87): Cada cluster é representado por um dos objetos no cluster.
29 MT803 – Tópicos em Matemática Aplicada – Aula 6
K-means: algoritmo
Input: k, D
Output: K centróides e os objetos de cada cluster
Passo 1:Selecionar arbitrariamente k objetos como os clusters iniciais.
Passo 2: Calcular os centróides dos k clusters da posição atual. Passo 3: Associar cada objeto ao cluster (centróide) mais perto
(maior similaridade).
Passo 4: Retornar ao Passo 2 e parar quando não houver mais mudanças significativas entre os objetos.
30 MT803 – Tópicos em Matemática Aplicada – Aula 6
K-means: exemplo 1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 (1) (2) (4) (3) 31 MT803 – Tópicos em Matemática Aplicada – Aula 6K-means: exemplo 2
Registros são associados a “
Centro de
Clusters
” através de um processo iterativo.
PASSO 1:
PASSO 1:
Seleção “arbitrária” de “K” pontos para serem os
“Centros de Cluster”
32 MT803 – Tópicos em Matemática Aplicada – Aula 6
33 MT803 – Tópicos em Matemática Aplicada – Aula 6
Escolha Inicial de “Centros de Cluster”
K-means: exemplo 2 ...
34 MT803 – Tópicos em Matemática Aplicada – Aula 6
PASSO 2:
PASSO 2:
Associar cada registro ao “Centro de Cluster” mais
próximo.
K-means: exemplo 2 ...
MT803 – Tópicos em Matemática Aplicada – Aula 6
Associação de cada Registro aos “Centros de Cluster”
Aten
Atençção a esse Registroão a esse Registro
K-means: exemplo 2 ...
MT803 – Tópicos em Matemática Aplicada – Aula 6
PASSO 3:
PASSO 3:
Calcular os novos “Centros de Cluster”
Média das coordenadas de todos os pontos
associados a cada “Centro de Cluster”.
37 MT803 – Tópicos em Matemática Aplicada – Aula 6
Novos “Centros de Cluster” após 1a. Iteração
K-means: exemplo 2 ...
38 MT803 – Tópicos em Matemática Aplicada – Aula 6
PASSO 4:
PASSO 4:
Associar cada registro aos novos “Centros de
Cluster”.
K-means: exemplo 2 ...
39 MT803 – Tópicos em Matemática Aplicada – Aula 6
Associações de Registros aos Novos “Centros de Cluster”
K-means: exemplo 2 ...
40 MT803 – Tópicos em Matemática Aplicada – Aula 6
K-means: exemplo 2 ...
PROCESSO ITERATIVO
PROCESSO ITERATIVO
Passos 2, 3 e 4 são repetidos até que não ocorra
mais mudanças no conjunto de registros que
41 MT803 – Tópicos em Matemática Aplicada – Aula 6
K-means: pontos positivos
Relativamente eficiente (
escalável
).
Complexidade
: O(tkn), onde
n é o número de objetos;
k é o número de clusters;
t é o número de iterações;
Normalmente: k, t << n.
Frequentemente termina em um
ótimo local
.
O
ótimo global
pode ser achado usando
técnicas, tais como
algoritmos genéticos
.
42 MT803 – Tópicos em Matemática Aplicada – Aula 6
K-means: pontos negativos
Aplicável somente quando a média é definida ⇒
ineficienteparaatributos nominais?(versão
original).
Necessidade de especificar k, o número de clusters,
a priori.
Ineficiente para lidar com ruídose outliers.
Inadequado para descobrir clusters com formato
não-convexo.
Sensível a outliers, pois todos os pontos (objetos)
são agrupados –impacta centróidesdos clusters.
MT803 – Tópicos em Matemática Aplicada – Aula 6
Variações do Método K-means
Algumas versões do
K-means
diferem em:
Seleção dos pontos iniciais.Cálculo da similaridade entre os pontos.
Estratégias para calcular os centróides dos clusters.
EM
(
Expectativa-Maximização
) estende o
paradigma usado no
K-means
.
Para atributos nominais:
K-modes
(Huang’98)
Substitui as médiasdos clusters por modas.Usa medidas de similaridade para atributos nominais. Usa um método baseado em frequências para atualizar as
modas dos clusters.
MT803 – Tópicos em Matemática Aplicada – Aula 6
Algoritmo de aprendizadopor maximização de esperança (EM).
Aplicado em aprendizado não supervisionado– agrupamento e mistura de densidades.
Objetivo: estimar o número de populações (clusters) na
amostra. Cada cluster representa uma dist. de probabilidade.
Idéia geral:
EMé aplicado em situações onde se deseja estimar um conjunto de parâmetros que descreve uma distribuição de probabilidade.
Ou seja, estima a média amostrale sua variância. EMé uma extensão do algoritmo k-means.
Associa cada objeto a um cluster de acordo com um peso (prob.
distribuição), representando sua probabilidade de membresia.
Novas médiassão computadas com base em medidas ponderadas.
EM — Expectation Maximization
45 MT803 – Tópicos em Matemática Aplicada – Aula 6
Idéia Geral:
Começa com uma estimativa inicialde um vetor de parâmetros.
Iterativamente reavalia (pondera) os objetos com relação à mistura distribuições produzida pelo vetor de parâmetros. Os objetos reavaliados (novos pesos) são usados para
atualizar a estimativa dos parâmetros.
A cada objeto é associada uma probabilidade de pertencer a um cluster.
Algoritmo converge rapidamente, mas pode não
atingir um ótimo global.
EM — Expectation Maximization
46 MT803 – Tópicos em Matemática Aplicada – Aula 6
O Algoritmo EM
Inicialmente, k objetos são selecionados aleatoriamente
para representar os centróide dos clusters.
Iterativamente refina os clusters em dois passos:
Passo E(Expectation): associa cada objeto xi ao cluster Ci com a seguinte probabilidade:
Onde p(xi/Ck)= N(mk, Ek(xi)) segue uma distribuição normal (Gaussiana) de probabilidade com média mke valor esperado Ek. ) ( ) ( ) ( ) ( ) ( i k i k i k k i x p C x p C p x C p C x P ∈ = = 47 MT803 – Tópicos em Matemática Aplicada – Aula 6
O Algoritmo EM …
Passo M(Maximization): usa as probabilidades
estimadas no passo anterior para re-estimar (refinar) os
parâmetros do modelo:
Os Passos E e Mfazem parte de um processo iterativo,
em que as novas probabilidades, calculadas na fase M,
serão utilizadas para realizar a inferência na fase E.
O Passo Mé a maximizaçãoda função de
verossimilhança das distribuições de probabilidade.
∑
∑
= ∈ ∈ = n i j j i k i i k C x p C x p x n m 1 ( ) ) ( 1 48 MT803 – Tópicos em Matemática Aplicada – Aula 6Exercício 4
Usando o software Weka
:
1. Selecionar um dataset com variáveis numéricas.
2. Normalizar atributos (Z-score).
3. Explorar o algoritmo k-means:
a) Qual é o número de clusterspré-definido pelo algoritmo? b) Mude a semente (seed) para o k-means e observe o
comportamento do algoritmo.
4. Selecionar um dataset com variáveis nominais e repetir os exercícios 1, 2 e 3.
5. Como os algoritmos EMe k-meanspoderiam ser
49 MT803 – Tópicos em Matemática Aplicada – Aula 6
Métodos Hierárquicos
MMÉÉTODOS TODOS ““DIVISIVOSDIVISIVOS””→ Todos Registros → Um
“Grande Cluster”.
Este “Grande Cluster”é dividido em dois ou mais
“Clusters” menores.
Até que cada Clustertenha somente registros semelhantes. A cada passo, alguma medida de valor do conjunto de Cluster
é realizada até chegar ao melhor conjunto de Clusters.
MMÉÉTODOS TODOS ““AGLOMERATIVOSAGLOMERATIVOS””→ Cada registro é
um “Cluster”
A cada passo, combina-se Clusterscom alguma característica comum até que se chegue a um “Grande Cluster”.
50 MT803 – Tópicos em Matemática Aplicada – Aula 6
Métodos Hierárquicos ...
Usa a matriz de distâncias como critério de segmentação. Esse
método não exige o número de clusters k como input, mas precisa de uma condição para terminar.
Step 0 Step 1 Step 2 Step 3 Step 4
b d c e a a b d e c d e a b c d e
Step 4 Step 3 Step 2 Step 1 Step 0
aglomerativo
(AGNES)
divisivo
(DIANA)
MT803 – Tópicos em Matemática Aplicada – Aula 6
AGNES (
Ag
glomerative
Nes
ting)
Referência: Livro [Kaufmann & Rousseeuw (1990)]
Implementado em pacotes de análise estatísticas (Ex: Splus). Usa o método “Single-Link” e matriz de dissimilaridade (distâncias).
Faz o “merge” dos nós que têm a menor dissimilaridade. Clusters são formados usando-se a estratégia bottom-up. Eventualmente todos os nós pertencem ao mesmo cluster.
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
MT803 – Tópicos em Matemática Aplicada – Aula 6
AGLOMERATIVO
1 2 3 4 5 6 1 2 3 4 5 3 6 2 5 4 1 0 0.05 0.1 0.15 0.2 objetos53 MT803 – Tópicos em Matemática Aplicada – Aula 6
Exemplo de Dendograma: AGNES
Decompõe objetos em vários níveisde particionamento
aninhados (árvore de clusters), conhecida como dendograma.
Uma clusterizaçãodos objetos é obtida particionando-se o
dendograma em um nível desejado. Cada componente conectado forma um cluster.
54 MT803 – Tópicos em Matemática Aplicada – Aula 6
DIANA (
Di
visive
Ana
lysis)
Referência: Livro [Kaufmann and Rousseeuw (1990)]
Implementado em pacotes de análise estatisticos (Ex: Splus).
Procedimento: o inverso de AGNES. Eventualmente cada nó forma um cluster.
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 55 MT803 – Tópicos em Matemática Aplicada – Aula 6
Mais sobre métodos hierárquicos
Pontos Fracos
:
Os algoritmos não são escaláveis.
Complexidade: O(n2), onde n é o número de objetos.
Uma vez que os clusters são formados, eles não podem
ser mudados (não existe “undo”).
Pontos Fortes
:
Pode ser integrado com métodos não hierárquicos.
BIRCH(1996): usa “CF-tree” com sumários dos objetos
e ajusta a qualidade dos sub-clusters.
CURE(1998): produz clusters (com diferentes formas
e tamanhos) de alta qualidade na existência de outliers
CHAMELEON(1999): utiliza modelagem dinâmica.
56 MT803 – Tópicos em Matemática Aplicada – Aula 6
Método baseado em densidade
DBSCAN
é um algoritmo baseado em
densidade
.
Densidade= número de pontos dentro de um raio
específico (Eps)
Um “core point” tem um número mínimo de pontos
especificados pelo usuário (MinPts) dentro do raio (Eps).
Um “border point” fica localizado na vizinhança de um
“core point”.
Um “noise point” é qualquer ponto que não se classifica
57 MT803 – Tópicos em Matemática Aplicada – Aula 6
Idéia: Um cluster é definido como um conjunto máximo de
pontos densamente conectados.
Encontra clusterscom formatos (shape) arbitrários em
bancos de dados espaciais, contendo ruídos(outliers).
Core Border
Outlier
Eps = 1cm MinPts = 5
DBSCAN – Idéia Geral
58 MT803 – Tópicos em Matemática Aplicada – Aula 6
Arbitrariamente, selecionaum ponto p.
Identifica todos os pontos densamente conectadosa p
com relação aos parâmetros Epse MinPts.
Se pé um “core point”, um cluster é formado.
Se pé um “border point” e não hápontos densamente
conectados a p, DBSCAN visita o próximo pontodo
conjunto de dados.
Continua o processoaté que todos os pontos do
conjunto de dados tenham sido analisados.
O Algoritmo DBSCAN
MT803 – Tópicos em Matemática Aplicada – Aula 6
Pontos Originais Tipos de pontos: core, bordere noise
Eps = 10, MinPts = 4
DBSCAN: Core, Border e Noise Points
MT803 – Tópicos em Matemática Aplicada – Aula 6
Clusters
• Na presença de ruídos (Noise)
• Na geração de clusters com diferentes formatose tamanhos. Pontos Originais
61 MT803 – Tópicos em Matemática Aplicada – Aula 6
Pontos Originais
(MinPts=4, Eps=9.75).
(MinPts=4, Eps=9.92)
•Variaçãona densidade dos pontos • Dados com alta dimensionalidade.
Quando DBSCAN
não
funciona bem?
62 MT803 – Tópicos em Matemática Aplicada – Aula 6
Validação de Clusters
Em classificação supervisionada, existe uma grande
variedade de medidas para avaliar quão bom um modelo
é: Acurácia, precisão, cobertura,kappa etc.
Para análise de clusters, como avaliar a qualidadedos
clusters gerados?
Em geral, os clusters são avaliadospor especialistas de
forma subjetiva.
Então, por que precisamos avaliar clusters?
Para evitarencontrar padrões com ruídos.
Para comparar algoritmosde clusterização.
Para comparar clustersgerados por mais de um algoritmo.
63 MT803 – Tópicos em Matemática Aplicada – Aula 6
Clusters encontrados dados aleatórios
0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y Pontos Aleatórios 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y K-means 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y DBSCAN 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x y Complete Link 64 MT803 – Tópicos em Matemática Aplicada – Aula 6
Coesão: Mede a proximidadedos objetos de um cluster. Exemplo: Soma do Erro Quadrático (SEQ).
Separação: Mede como um cluster édistintoou bem separadodos outros.
Exemplo: Erro Quadrático
Coesãoé medida pela SEQinterna (dentro de um cluster).
Separaçãoé medida pela soma de quadrados entre clusters.
Onde |Ci| é o tamanho (cardinalidade) do cluster i.
Medidas Internas: Coesão e Separação
∑ ∑ ∈
−
=
i x Ci im
x
WSS
(
)
2∑
− = i i i m m C BSS ( )265 MT803 – Tópicos em Matemática Aplicada – Aula 6
Exemplo: SEQ BSS + WSS = constante 1 2 3 4 5
×
×
×
×
×
×
×
×
×
×
×
×
m1 m2 m 10 9 1 9 ) 3 5 . 4 ( 2 ) 5 . 1 3 ( 2 1 ) 5 . 4 5 ( ) 5 . 4 4 ( ) 5 . 1 2 ( ) 5 . 1 1 ( 2 2 2 2 2 2 = + = = − × + − × = = − + − + − + − = Total BSS WSS K=2 clusters: 10 0 10 0 ) 3 3 ( 4 10 ) 3 5 ( ) 3 4 ( ) 3 2 ( ) 3 1 ( 2 2 2 2 2 = + = = − × = = − + − + − + − = Total BSS WSS K=1 cluster:Medidas Internas: Coesão e Separação
66 MT803 – Tópicos em Matemática Aplicada – Aula 6
Um grafo de proximidadetambém pode ser usado para
coesão e separação.
Coesãoé a soma dos pesos de todos os links dentro de um cluster.
Separaçãoé a soma de todos os pesos entre os nós de um cluster e nós fora do cluster.
coesão separação
Medidas Internas: Coesão e Separação
MT803 – Tópicos em Matemática Aplicada – Aula 6
Medidas Externas:
Entropy
e
Purity
MT803 – Tópicos em Matemática Aplicada – Aula 6
Exercício 5
Usando o software Weka
:
1. Selecionar o dataset “cpu”.
2. Normalizar atributos (Z-score).
3. Execute o algoritmo DBScansem ajustar os
parâmetros. Qual foi o resultado encontrado?
4. Explorar os parâmetros epsilone mimPointsdo
algoritmo DBScan. Analisar os resultados
encontrados.
5. Indique uma vantagem do algoritmo DBScanem