Mineração de Dados
Clusterização
Felipe Carvalho – UFES 2009/2
Visão Geral
• Como vimos na seção anterior, métodos de classificação são baseados na
análise de itens previamente classificados (i.e., exemplos de treinamento),
ou seja, todas as classes possíveis são conhecidas e só precisamos
encontrar uma forma de diferenciar entre si os itens pertencentes a cada
uma delas. No entanto, há situações em que as classes possíveis não são
conhecidas de antemão e, portanto, não podemos usar classificação. Nestas
situações, precisamos de um método que nos permita agrupar os itens,
levando em conta apenas suas características intrínsecas: a análise de
cluster.
• Formalmente, a clusterização de um conjunto de itens D = {x1, x2, …, xn}
produz uma partição C = {C1, C 2, …, Ck}, tal que:
– Ci está contido em D é um cluster não vazio, para 1 <= i <= k
– C1 U C U U … U Ck = D
– Ci interseção Cj = vazio, para 1 <= i < j <= k
Visão Geral
• Para medir a similaridade entre itens, a análise de cluster se baseia na
proximidade entre os valores de seus atributos. Mapeando cada atributo
em uma coordenada unidimensional, itens compostos por m atributos
podem ser representados como pontos em um espaço euclidiano mdimensional e, assim, podemos medir a distância entre eles.
• A distância euclidiana entre dois pontos p = (p1,p2,…, pm) e q =
(q1,q2,…,qm) é definida como:
Exemplo
• Por exemplo, considere o conjunto de itens compostos pelos atributos
idade e renda, representando pessoas, apresentado na Tabela abaixo. A
partir dos valores dos atributos destes itens, podemos formar o gráfico
bidimensional apresentado na Figura, em que cada ponto representa um
item (ou pessoa) da Tabela.
Exemplo
• Como podemos observar na Figura, identificamos os agrupamentos pela
proximidade entre os pontos que representam seus itens, do mesmo
modo que um algoritmo de clusterização o faria. Para usar esses clusters
como classes, precisamos antes identificá-los e nomeá-los
adequadamente. Por exemplo:
– c1: “Crianças”. Nesse cluster temos apenas crianças, que não podem
trabalhar, portanto sua renda é nula.
– c2: “Jovens Iniciando a Carreira”. Nesse cluster temos pessoas com
idade próxima da idade mínima para poder trabalhar e, como
provavelmente não possuem formação superior nem experiência,
estas têm uma renda relativamente baixa.
Exemplo
– c3: “Profissionais com Curso Superior”. Nesse cluster temos pessoas
que já têm experiência e pelo patamar salarial provavelmente também
possuem formação superior.
– c4: “Altos Executivos”. Nesse cluster temos pessoas de certa idade que,
para ter uma renda tão alta em tal faixa etária, provavelmente fazem
parte do alto escalão gerencial.
– c5: “Profissionais sem Curso Superior”. Nesse cluster temos pessoas de
certa idade que, por terem uma renda relativamente baixa,
provavelmente não possuem curso superior.
• Obviamente, essa identificação e nomeação são apenas aproximadas e
ilustrativas. Após a identificação e nomeação dos clusters (ou classes),
podemos associar a cada item sua respectiva classe, de acordo com o
resultado da clusterização, e usar esses dados como exemplos de
treinamento para um algoritmo de classificação.
Principais categorias de métodos
de análise de cluster
• Métodos partitivos
• Métodos hierárquicos
• Métodos baseados em densidade
DBSCAN
• Seja R o raio que determina a região
de proximidade, ou vizinhança, ao
redor de um ponto representando
um item num espaço mdimensional. Se dois pontos p e q
são separados por uma distância
menor ou igual a e, então p e q são
ditos vizinhos (Figura abaixo).
DBSCAN
• Seja min a quantidade mínima de itens na vizinhança de um item p para
que este seja considerado um item central. Dados dois itens distintos p, q
pertencentes a D, dizemos que p está diretamente ao alcance de q, se p
está dentro da vizinhança de q e q é um item central. Por exemplo, supondo
min = 5 na Figura do slide anterior, temos que p está diretamente ao
alcance de q; porém, q não está diretamente ao alcance de p, pois este
último não é um item central. A menos que estejamos considerando dois
itens centrais, esta é uma relação assimétrica.
DBSCAN
• Dados dois itens distintos p, q
pertencentes a D, dizemos que p
está indiretamente ao alcance de q,
se existir uma seqüência de itens
p1,…, pn, sendo p1 = p e pn = q, de
forma que pi esteja diretamente ao
alcance de pi+1, para 1 <= i < n e pi
pertencente a D (Figura ao lado).
Esta é uma relação transitiva e, a
menos que p seja um item central,
esta relação também é assimétrica.
DBSCAN
• Dados dois itens distintos p, q pertencentes a D, dizemos que p está
conectado a q, se existe um item o pertencente a D tal que tanto p quanto q
estejam indiretamente ao alcance de o (Figura abaixo). Esta é uma relação
simétrica.
Algoritmo DBScan –
Formalmente Definido
•
•
•
•
•
•
DBSCAN(D, e, min){
i = 0;
Para cada item p de D {
– Se p não foi avaliado então {
• Marcar p como avaliado;
• Se número de vizinhos de p > min então {
– i = i + 1;
– Ci = Ci + p;
– Chamar expCluster (D, e, min, Ci, p);
• };
– };
};
retornar Ui Ci;
};
•
•
•
•
•
•
expCluster (D, e, min, Ci, p) {
Para cada vizinho v de p {
– O = O + v;
– Se v diferente Ci então Ci = Ci + v;
};
Para cada item q de O {
– Se q não foi avaliado então {
• Marcar q como avaliado;
• Se número de vizinhos de q >= min
então
• Chamar expCluster (D, e, min, Ci, q);
– };
};
};
Download

MineracaoDeDados