Você está na página 1de 55

SIN 460 - Mineração de Dados

(Agrupamento de Dados)

Profo : Joelson A. dos Santos e Felipe P. Coutinho


Universidade Federal de Viçosa
Instituto de Ciências Exatas e Tecnológicas
Campus de Rio Paranaı́ba - MG
joelsonn.santos@gmail.com
Sala: BBT 233

22 de janeiro de 2019

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 1 / 55
Aula de Hoje
1 Motivação
2 Conceitos
3 Aplicações
4 Tipos e Escalas de Dados
5 Normalizações
6 Medidas de Proximidade
Similaridade
Dissimilaridade

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 2 / 55
Motivação
Humanos se interessam por categorizações:
Livros: contos, romance, poesia ...

Filmes: ação, terror, romance, comédia ...

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 3 / 55
Motivação
Diversas ciências se baseiam na organização de objetos
de acordo com suas similaridades

Biologia:
Reino: Animalia
Ramo: Chordata
Classe: Mammalia
Ordem: Primatas
Famı́lia: Hominidae
Gênero: Homo
(homem moderno e
parentes)
Espécie: Homo Figura: Profo Eduardo R.
sapiens Hruschka.
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 4 / 55
Aprendizado Sup. vs. Aprendizado Não
Sup.

Aprendizado não supervisionado:


Agrupamento de dados (ou Clustering );

Análise descritiva dos dados (detecção de


padrões);

Não necessita de mecanismos externos


(rótulos) além do conjunto de dados;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 5 / 55
Agrupamento de Dados
Objetiva encontrar grupos “naturais”;
Neste caso, existem grupos naturais no conjunto de
dados abaixo?

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 6 / 55
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 7 / 55
O que é um Grupo (Cluster )?
Definições subjetivas:
“Semelhança entre objetos”...
Quais atributos (caracterı́sticas) são consideradas para
avaliar similaridades?

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 8 / 55
Visão Matemática
Definição mais conhecida: Encontrar grupos de
objetos de modo que os objetos de um grupo sejam
semelhantes (ou relacionados) um ao outro e
diferente de (ou não relacionado) aos objetos em
outros grupos. (Tan et al., 2006)

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 9 / 55
Visão Matemática
Abordagem matemática em geral considera:
Homogeneidade (coesão interna)
Heterogeneidade (separação)
Mesmo neste caso, a subjetividade ainda está
presente.

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 10 / 55
Desenvolvimento

A literatura sobre agrupamento de dados é rica e


muito bem estabelecida.
Ver A. K. Jain, Data Clustering: 50 Years Beyond
K-Means, Pattern Recognition Letters, 2010.

Há medidas de dis(similaridade) bem estudadas e


fundamentadas para diversos tipos de dados e
domı́nios de aplicação.
Dados numéricos, Categóricos/Nominais, Binários...

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 11 / 55
Desenvolvimento
Top 10 Algoritmos de Mineração de Dados 1 .
C4.5
k-means
Support vector machines
Apriori
EM
PageRank
AdaBoost
kNN
Naive Bayes
CART
1
kdnuggets 2015 - https://goo.gl/FzahXN
o
Prof : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 12 / 55
Aplicações

Marketing: descobrir grupos de clientes/nichos de


mercado e usá-los para marketing direcionado;

Astronomia: encontrar grupos de estrelas e


galáxias

Bioinformática: encontrar grupos de genes com


expressões semelhantes;

Vários Outros: proc. imagens, recomendação de


conteúdo, det. anomalias, ...

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 13 / 55
Algoritmos de Agrupamento de Dados
(Clustering)

Induzem grupos (clusters);


Mas para isto ocorrer é necessário considerar:
Medidas de dis(similaridade), ı́ndices de avaliação,
parâmetros def. pelo usuário, etc.
fortemente dependente do domı́nio/problema;.
relação c/ bias indutivo em aprendizado de máquina;

Perspectiva de Aprendizado de Máquina:


projetista define o que o computador pode aprender;
Existem diversos algoritmos;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 14 / 55
Abordagens de Clustering

Muitos métodos/algoritmos diferentes:


Para dados numéricos e/ou simbólicos.

Para dados relacionais e não relacionais.


Para obter partições ou hierarquia de partições.
Partição: conjunto de grupos presentes no conjunto de
dados.

...

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 15 / 55
Métodos Relacionais vs Não Relacionais

Não Relacionais: Requerem os objetos a serem


agrupados (dados originais);

Relacionais: Requerem apenas as (dis)similaridades


entre os objetos:
Vantagens:
Abordagem unificada para tratamento de atributos mistos;
Dados sigilosos;
Desvantagem:
Custo computacional em geral mais elevado;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 16 / 55
Particionais vs Hierárquicos

Particionais: constroem uma partição dos dados;

Hierárquicos: constroem uma hierarquia de


partições;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 17 / 55
Partições vs Hierarquias

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 18 / 55
Partições com e sem Sobreposição

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 19 / 55
O que não é Agrupamento de Dados

Classificação supervisionada;
Esta contém informações de rótulos dos objetos;

Simples segmentação;
Ex: dividir um conjunto de objetos em diferentes grupos
pela ordem alfabética ou pelo último nome;

Resultados de uma query (banco de dados);


Nesta, os grupos são resultados de uma especificação
externa aos dados;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 20 / 55
Processo Básico de Análise de
Agrupamento

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 21 / 55
Base de Dados
Geralmente, bases de dados são representadas por
tabelas (dados estruturados);
Exemplo:

Existem também dados não estruturados


(imagens, textos, urls...).
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 22 / 55
Medidas de Proximidade

Também denominadas medidas de dissimilaridade


ou similaridade;
Existem diversas medidas de dissimilaridade e
similaridade, para diferentes contextos de aplicação;
Cada uma assume que os objetos são descritos por
atributos de uma determinada natureza;
qualitativos, quantitativos, ...

Para discuti-las precisamos antes falar um pouco


sobre tipos e escalas de dados...

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 23 / 55
Tipos de Dados

Reconhecer o tipo e a escala dos dados nos ajuda a


escolher o algoritmo de agrupamento:
Tipos de dados:

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 24 / 55
Tipos de Escalas de Dados
Podemos tratar qualquer atributo como assumindo valores na
forma de números, em algum tipo de escala;
Escala de dados: indica a significância relativa dos números
(nominal, ordinal, intervalar e razão)
Escala Qualitativa:
Nominal: números usados como nomes; p. ex.
{M,F} = {0,1}
{Solteiro, Casado, Separado, Viúvo} = {0,1,2,3}
Ordinal: números possuem apenas informação sobre a
ordem relativa; p. ex.
{ruim, médio, bom} = {1,2,3} = {1,20,300} = {10,20,30}
{frio, morno, quente} = {1, 2, 3}
Faz sentido realizar cálculos diretamente com escalas
qualitativas como acima?

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 25 / 55
Tipos de Escalas de Dados

Escala Quantitativa:
Intervalar: Interpretação dos números depende de uma
unidade de medida, cujo zero é arbitrário;
Exemplo: Temperatura 26o C = 78F não é 2 vezes mais
quente que 13o C (55F ) e 39F (4o C );

Razão: Interpretação não depende de qualquer unidade;


Ex: 2x Temperatura em Kelvin = 2 vezes mais quente;
Ex: 2x Salário = dobro do poder de compra, não interessa
moeda;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 26 / 55
Medidas de (Dis)similaridade

“A escolha da medida de dis(similaridade) é importante


para aplicações, e a melhor escolha é frequentemente
obtida via uma combinação de experiência, habilidade,
conhecimento e sorte...2 ”

2
Gan, G., Ma, C., Wu, J., Data Clustering: Theory, Algorithms, and
Applications, SIAM Series on Statistics and Applied Probability, 2007
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 27 / 55
Notação
Matriz de Dados X:
N linhas (objetos) e n colunas (atributos):
 
x11 x12 x13 ··· x1n
 x21
 x22 x23 ··· x2n 

X =  x31
 x32 x33 ··· x3n 
 (1)
 .. .. .. .. 
 . . . ··· . 
xN1 xN2 xN3 ··· xNn

Cada objeto (linha da matriz) é denotado por um


vetor xi
 T
xi = xi1 xi2 xi3 · · · xin (2)

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 28 / 55
Notação
Matriz de Dados X:
N linhas (objetos) e n colunas (atributos):
 
x11 x12 x13 ··· x1n
 x21
 x22 x23 ··· x2n 

X =  x31
 x32 x33 ··· x3n 
 (3)
 .. .. .. .. 
 . . . ··· . 
xN1 xN2 xN3 ··· xNn

Cada atributo (coluna da matriz) é denotado por


um vetor ai
a1i
 
 a2i 
ai = 
 ... 
 (4)
aNi
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 29 / 55
Notação

Matriz de proximidade (dissimilaridade ou


similaridade):
N linhas e N colunas:
 
d(x1 , x1 ) d(x1 , x2 ) ··· d(x1 , xN )
 d(x2 , x1 ) d(x2 , x2 ) ··· d(x2 , xN ) 
D= (5)
 
.. .. .. .. 
 . . . . 
d(xN , x1 ) d(xN , x2 ) · · · d(xN , xN )

Simétrica se proximidade d apresentar propriedade


de simetria;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 30 / 55
Similaridade e Dissimilaridade

Similaridade
Mede o quanto duas instâncias são parecidas
quanto mais parecidos, maior o valor;
Geralmente valor ∈ [0, 1]

Dissimilaridade
Mede o quanto duas instâncias são diferentes
quanto mais diferentes, maior o valor;
Geralmente valor ∈ [0, dmax ] ou [0, ∞]

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 31 / 55
Similaridade e Dissimilaridade

Saber converter dissimilaridades (d) em


similaridades (s) e vice-versa é muitas vezes útil e
nos permite tratar com apenas uma das formas:
Se ambas forem definidas em [0, 1], a conversão é direta:

s = 1 − d ou d = 1 − s (linear, não distorce os valores)

Caso contrário, algumas alternativas são:


se limitantes para s (smin e smax ) ou d (dmin e dmax ) forem
conhecidos, podemos re-escalar em [0, 1] e usar s = 1 − d

se d = [0, ∞], não há como evitar uma transformação não


linear... (ex: s = 1/(1 + αd) ou s = e −αd )

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 32 / 55
Dissimilaridade e Distância

Em agrupamento de dados, dissimilaridades são em


geral calculadas utilizando medidas de distância;

Uma medida de distância é uma medida de


dissimilaridade que apresenta um conjunto de
propriedades;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 33 / 55
Algumas Propriedades de Distâncias

Seja d(p, q) a distância entre duas instâncias p e q

Então valem a seguintes propriedades:


Positividade e Reflexividade:
d(p, q) ≥ 0, ∀p e q
d(p, q) = 0 se somente se p = q
Simetria:
d(p, q) = d(q, p), ∀p e q

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 34 / 55
Algumas Propriedades de Similaridade

As seguintes propriedades são desejáveis e em geral


são válidas para similaridades:

Seja s(p, q) a similaridade entre duas instâncias


p e q.
s(p, q) = 1 apenas se p = q (similaridade
máxima)
s(p, q) = s(q, p), ∀p e q (simetria)

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 35 / 55
Medidas de (Dis)similaridade:

Atributos contı́nuos

Atributos discretos (binários)

Atributos mistos

Serão abordadas as medidas mais comuns no


contexto de agrupamento de dados;

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 36 / 55
Medidas de (Dis)similaridade:
Atributos contı́nuos:
Distância euclidiana:
v
u n
E
uX
d (xi , xj ) =k xi − xj k= t (xik − xjk )2 (6)
k=1

Métrica.
Induz clusters hiper-esféricos
Clusters invariantes com rel. a translação e rotação
no espaço dos atributos.
Atributos com maiores valores (e variâncias) tendem
a “dominar” os demais...
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 37 / 55
Medidas de (Dis)similaridade:
objetos a1 a2 a3 a4
x1 1 2 5 803
x2 1 1 5 712
x3 1 3 5 792
Variância 0 1 0 2467

Qual atributo é um possı́vel “dominante”?

Qual a distância euclidiana entre os objetos x1 e


x2 ?
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 38 / 55
Medidas de (Dis)similaridade:

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 39 / 55
Normalização

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 40 / 55
Normalização
Normalização nem sempre é a melhor solução, pois
pode gerar distorções nos dados:

Figura: Profo Eduardo R. Hruschka


Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 41 / 55
Medidas de Distância
Distância de Minkowski Normalizada:

Pn 1/p
δijk |xik − xjk |p
d p (xi , xj ) =k xi −xj kp = k=1P
n
k=1 δijk
(7)
(
δijk = 0 se xi ou xj ausentes
(8)
δijk = 1 caso contrário
Interessante para atributos faltantes;
Alternativa a “imputação”.
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 42 / 55
Distância com valores Ausentes

Exemplo: Distância entre x1 e x3 ?

objetos a1 a2 a3 a4
x1 2 -1 ??? 0
x2 7 0 -4 8
x3 ??? 3 5 2

Exercı́cio: Calcule as demais distância (entre todos


os pares de objetos).

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 43 / 55
Similaridade Cosseno

Muito utilizada em mineração de textos.


Porque, geralmente são dados “esparsos”.

Dados dois vetores d1 e d2 :

d1 · d2
cos(d1 , d2 ) = (9)
k d1 kk d2 k
Em que · é o produto interno entre vetores.

E k d k é o tamanho (norma) do vetor d.

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 44 / 55
Exemplo Gráfico)

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 45 / 55
Exemplo (Numérico)

Sejam os vetores (objetos) d1 e d2 abaixo:

d1 = [3 2 0 5 0 0 0 2 0 0] e
d2 = [1 0 0 0 0 0 0 1 0 2]

Solução no quadro.

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 46 / 55
Exercı́cio

Calcular dissimilaridade entre p e q usando medida


de similaridade cosseno:

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 47 / 55
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 48 / 55
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 49 / 55
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 50 / 55
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 51 / 55
Exemplo

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 52 / 55
Exemplo

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 53 / 55
Exemplo

Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)


SIN 460 - Mineração de Dados 22 de janeiro de 2019 54 / 55
Bibliografia Básica
Jain, A. K. and Dubes, R. C., Algorithms for Clustering Data ,
Prentice Hall, 1988
Everitt, B. S., Landau, S., and Leese, M., Cluster Analysis ,
Arnold, 4 th Edition, 2001
Gan, G., Ma, C., and Wu, J., Data Clustering: Theory,
Algorithms and Applications , ASA SIAM, 2007
Xu, R., Wunsch, D., Clustering , IEEE Press, 2009
Tan, P.-N., Steinbach, M., and Kumar, V., Introduction to
Data Mining , Addison-Wesley, 2006
Wu, X. and Kumar, V. (Editors), The Top Ten Algorithms in
Data Mining , CRC Press, 2009
Keogh, E. A Gentle Introduction to Machine Learning and
Data Mining for the Database Community, SBBD 2003,
Manaus.
Profo : Joelson A. dos Santos e Felipe P. Coutinho (UFV)
SIN 460 - Mineração de Dados 22 de janeiro de 2019 55 / 55

Você também pode gostar