Você está na página 1de 108

Prof. Msc.

Eduardo Siqueira Martins

O que ?
De forma bastante sinttica, pode-se dizer que
Minerao de Dados (Data Mining) se relaciona ao
processo de transformar dados brutos em
conhecimento.
conhecimento.

Como?
Extraindo padres e construindo modelos a partir
dos conjuntos de dados disponveis para descobrir
conhecimento novo e til.
til

Por que fazer?


Por necessidade: crescimento explosivo da
quantidade de dados coletada, armazenada e
disponvel nas ltimas dcadas
Mas o que fazer com estes dados? Como lidar com
eles?
Estamos afogados em dados e carentes de
conhecimento, entendimento dos dados que
possumos.

Por que importante?


Muito do que se desenvolve hoje orientado por
hipteses.
Nos processos cientficos, os pesquisadores partem
de uma hiptese, projetam experimentos, coletam
dados, geram resultados (novos dados) e analisam
estes dados chegando a concluses que validam,
refutam ou reformulam suas hipteses.
Na indstria e nos negcios, tambm comum o
cenrio onde dados so coletados e analisados para
se validar ou refutar hipteses levantadas acerca de
clientes, produtos, fornecedores etc e, a partir da,
tirar concluses e tomar decises gerenciais.




Pr-processamento.
Data Mining (DM) ou Minerao de Dados
(MD).
Ps-processamento.

Ok, que tal uma definio


organizar o que vimos?

agora

para

Processo automtico de descoberta de novas


informaes e conhecimento, teis a uma
aplicao, no formato de regras e padres,
padres
escondidas,
em
geral,
em
grandes
quantidades de dados,
estejam estes
dados
armazenados
em
bancos
de
dados
tradicionais, em Data Warehouse ou em outra
forma de repositrio.

Minerao de Dados: confluncia de mltiplas


disciplinas.

A utilizao de Data Mining agilizando


empresas.

Quem compra tal produto?

A pesquisa de padres nas doenas de vrios


pacientes e suas relaes com o tratamento e
resultados.






Traar perfis de estudantes.


Melhorar a interao.
Verificar necessidade de mudanas
Entre outras.

As redes sociais geram um tipo de


informao que pode ser chamado de Mdia
Social.
A
empresa
poder
monitorar
o
comportamento dos consumidores nas redes
sociais e se comunicar com eles pelas redes e
tambm pelas plataformas mveis, como os
celulares.

Por um lado a minerao de dados sobre


nossos perfis e gostos pode nos trazer
comodidades no dia a dia (as empresas
sabem o que voc quer, por exemplo), mas
at que ponto isso no invaso de
privacidade?





O que crime?
O que imoral?
O que normal?

Venda de bancos de dados contento


informaes privadas.
Mais comuns:
Informaes Criminais
Informaes Trabalhistas
Informaes Crediticias


Mesmo no constituindo crime, comum as


empresas visitarem os perfis dos usurios em
redes sociais para verificar sua conduta.
Isso as vezes utilizado como forma de
eliminao em entrevistas.




Pesquisa de usurios por interesse pessoal.


Ex: Procurar algum que conheceu em uma
festa.













Bases de Dados Relacionais


Data Warehousings (Base Multidimensional)
Bases de Dados Transacionais
Streams de dados e dados de sensores
Dados de sries temporais e sequenciais
Dados estruturais, grafos, redes sociais
Bases de dados Objeto-Relacionais
Bases de Dados heterogneas
Dados espaciais e espao-temporais
Multimdia, texto, Web
Etc.








Grandes quantidades de dados.


Algoritmos devem ser altamente escalveis para
lidar com quantidades como tera-bytes de dados.
Alta
dimensionalidade
de
dados
e
alta
complexidade de dados.
Conflitos semnticos, redundncias de variveis.
Processamento em tempo real.
Estruturas de dados complexas, como multigrafos,
supergrafos etc.
Heterogeneidade da origem de dados e bases de
dados legadas.
Fontes de dados no estruturas e subjetivas, como
texto.
Etc.

Todo esse cenrio pode demandar tarefas de


engenharia e anlise prvia de dados.

Atividades valiosas para a qualidade dos resultados


obtidos.

Esta etapa demanda a maior parte do esforo e do


custo de um processo de KDD, entre coletar,
integrar, processar, transformar, enriquecer,
padronizar etc e preparar os dados para a
minerao.

Regras Convencionais

Regras Quantitativas

Regras em Taxonomias

Regras de Associao Negativas

Representa um padro de relacionamento entre


itens de dados do domnio da aplicao que ocorre
com uma determinada frequncia na base de
dados (transacional).

Exemplo de base de dados transacional

Regras de associao so da forma {X} => {Y} (l-se:


se X, ento Y), onde:
Significa que, com um certo grau de certeza, que se uma
transao da base de dados inclui os itens de um conjunto
X, ento inclui tambm os itens do conjunto Y.
X o antecedente e Y o consequente da regra.
Condies: os conjuntos X e Y no podem ser vazios e ter
intersees, alm de conter somente itens do domnio de
aplicao.

As regras de associao possuem medidas de


interesse que indicam sua relevncia e validade.
Exemplo: modelo suporte/confiana.

No modelo suporte/confiana, o grau de certeza de


uma regra definido por dois ndices:
Fator de suporte:
suporte: porcentagem das transaes da base de
dados que contm os itens de X e os item de Y;
Fator de confiana:
confiana: porcentagem das transaes da base de
dados que contm os itens de X e de Y, dentre aquelas
transaes que contm os itens de X.
Exemplo:
Exemplo: extrair regras de uma base de compras com
suporte mnimo de 50%
50% e confiana mnima de 80%
80%.

Quais conjuntos de mais um


item tm suporte mnimo de
50%
50% na base de dados ?

?
2 ocorrncias, em 5 transaes:
Suporte = 40%

Quais conjuntos de mais um


item tm suporte mnimo de
50%
50% na base de dados ?

?
2 ocorrncias, em 5 transaes:
Suporte = 40%

?
3 ocorrncias, em 5 transaes:
Suporte = 60%

Quais conjuntos de mais um


item tm suporte mnimo de
50%
50% na base de dados ?

80%
80%

60%
60%

60%
60%

Quais regras podem ser estabelecidas


a partir dos conjuntos frequentes, que
tenham confiana mnima de 80%
80% ?

80%
80%

60%
60%

60%
60%

Quais regras podem ser estabelecidas


a partir dos conjuntos frequentes, que
tenham confiana mnima de 80%
80% ?

Quais regras podem ser estabelecidas


a partir dos conjuntos frequentes, que
tenham confiana mnima de 80%
80% ?

80%
80%

60%
60%

5 transaes contm Leite.


Dessas, 3 contm leite e gelatina:
Confiana = 60%

60%
60%
3 transaes contm Gelatina.
Dessas, 3 contm gelatina e leite:
Confiana = 100%

So utilizadas quando se deseja minerar padres


em bases de dados relacionais (formadas por
atributos quantitativos e atributos categricos).

Exemplo (base de dados sobre a AIDS):


Esta regra hipottica indica, com certo grau de certeza, que
pacientes com AIDS, heterossexuais, entre 20 e 30 anos, do sexo
masculino so usurios de drogas.

est entre os 10 algoritmos de MD mais


utilizados na comunidade acadmica.

Satisfaz o suporte mnimo definido pelo usurio


e o mais utilizado para gerao dos conjuntos
de itens frequentes.

sejam X e Y dois conjuntos de itens quaisquer. Se


X for frequente, ento qualquer subconjunto Y
que estiver contido em (ou for igual a) X tambm
frequente. Se X no for frequente, ento
qualquer subconjunto Y que contiver (ou for
igual a) X tambm no frequente.

Esta regra utilizada para reduzir o nmero de


candidatos a serem comparados com cada
transao.

Na primeira feito o clculo do suporte para cada


item separadamente (conjunto-de-1-item) e
depois selecionado os itens que satisfazem o
suporte mnimo preestabelecido, formando os
conjuntos-de-1-item frequentes.
Na segunda ocorre a gerao dos conjuntos-de2-itens pela juno dos conjuntos-de-1-item
frequentes encontrados na etapa anterior. feito o
clculo do suporte e comparado ao suporte
mnimo e assim formado o conjunto-de-2-itens
frequentes. O algoritmo continua esse processo,
at que o conjunto-de-k-itens frequentes seja um
conjunto vazio.

Relao
dos
itens
comprados por transao

Suporte mnimo de 50%


50%

Clculo de suporte
conjuntoconjunto-dede-1-item

para

Suporte mnimo de 50%


50%

Gerao do conjuntoconjunto-dede-1-item frequentes

Suporte mnimo de 50%


50%

Clculo de suporte para conjuntoconjunto-dede-2-itens

Gerao do conjuntoconjunto-dede-2-itens frequentes

Suporte mnimo de 50%


50%

Clculo de suporte para conjuntoconjunto-dede-3-itens

Identificao da classe a qual um


pertence a partir de suas caractersticas.

Exemplo:

elemento

Classificar cada veculo em popular ou de luxo conforme os


seus opcionais tais como: preo, nmero de portas, itens
de srie, cilindrada, tipo de cmbio.
Classificar um indivduo a partir de suas caractersticas e
determinar a que classe social ele pertence como, por
exemplo A, B, C, D ou E.

Exemplo:
Suponha que voc gerente de uma grande loja e disponha de um
banco de dados de clientes, contendo informaes tais como
nome, idade, renda mensal, profisso e se comprou ou no
produtos eletrnicos na loja. Voc est querendo enviar um
material de propaganda pelo correio a seus clientes, descrevendo
novos produtos eletrnicos e preos promocionais de alguns
destes produtos. Para no fazer despesas inteis voc gostaria de
enviar este material publicitrio apenas a clientes que sejam
potenciais compradores de material eletrnico.
Outro ponto importante: voc gostaria de, a partir do banco de
dados de clientes de que dispe no momento, desenvolver um
mtodo que lhe permita saber que tipo de atributos de um cliente
o tornam um potencial comprador de produtos eletrnicos e aplicar
este mtodo no futuro, para os novos clientes que entraro no
banco de dados.

Exemplo:
Isto , a partir do banco de dados que voc tem hoje, voc quer
descobrir regras que classificam os clientes em duas classes : os
que compram produtos eletrnicos e os que no compram. Que
tipos de atributos de clientes (idade, renda mensal, profisso)
influenciam na colocao de um cliente numa ou noutra classe ?
Uma vez tendo estas regras de classificao de clientes, voc
gostaria de utiliz-las no futuro para classificar novos clientes de
sua loja.
Por exemplo: regras que voc poderia descobrir seriam :
 Se idade est entre 30 e 40 e a renda mensal Alta ento
ClasseProdEletr = Sim.
Sim.
 Se idade est entre 60 e 70 ento ClasseProdEletr = No.
No.
 Quando um novo cliente Joo, com idade de 35 anos e renda mensal
Alta e que tenha comprado Celular, catalogado no banco de
dados, o seu classificador lhe diz que este cliente um potencial
comprador de aparelhos eletrnicos. Este cliente colocado na
classe ClasseProdEletr = Sim, mesmo que ele ainda no tenha
comprado nenhum produto eletrnico.
eletrnico.

Classificao um processo que realizado em trs etapas :


1. Etapa da criao do modelo de classificao.
classificao.
Este modelo constitudo de regras que permitem classificar as tuplas do
banco de dados dentro de um nmero de classes pr-determinado. Este
modelo criado a partir de um banco de dados de treinamento cujos
elementos so chamados de amostras ou exemplos.
Ex:

1. Etapa da criao do modelo de classificao.


classificao.
Ex:

Esta etapa tambm chamada de Etapa de Aprendizado : atravs de


tcnicas especiais de aprendizado aplicadas no banco de dados de
treinamento, um modelo de classificao criado e as seguintes regras de
classificao podem ser produzidas :
(a) Se idade = 41..50 e Renda = Media-Alta ento ClasseProdEletr = Sim.
(b) Se Renda = Baixa ento ClasseProdEletr = No.

2. Etapa da verificao do modelo ou Etapa de Classificao


As regras so testadas sobre um outro banco de dados, completamente
independente do banco de dados de treinamento, chamado de banco de dados
de testes.
A qualidade do modelo medida em termos da porcentagem de tuplas do banco
de dados de testes que as regras do modelo conseguem classificar de forma
satisfatria. claro que se as regras forem testadas no prprio banco de dados
de treinamento, elas tero alta probabilidade de estarem corretas, uma vez que
este banco foi usado para extra-las. Por isso a necessidade de um banco de
dados completamente novo.
As tuplas (1), (2), (3) no so
bem classificadas pelo modelo.
As tuplas (4),(5),(6) o so. Logo,
o grau de acertos (accuracy) do
modelo de 50%. Caso este
grau de acertos for considerado
bom, pode-se passar para a
etapa seguinte.

3. Etapa da utilizao do modelo em novos dados


Aps o modelo ter sido aprovado nos testes da etapa anterior, ele aplicado em
novos dados.

Mais adiante vamos estudar alguns mtodos de classificao. Tais mtodos


podem ser comparados e avaliados de acordo com os seguintes critrios:
1. O grau de acertos (accuracy) : este critrio refere-se a capacidade do modelo
em classificar corretamente as tuplas do banco de dados de testes.
2. Rapidez : refere-se ao tempo gasto no processo de classificao.
3. Robustez : refere-se habilidade do modelo em fazer uma classificao
correta mesmo em presena de rudos ou valores desconhecidos em alguns
campos dos registros.
4. Escalabilidade : refere-se eficincia do processo de aprendizado (construo
do modelo) em presena de grandes volumes de dados de treinamento.
5. Interpretabilidade : refere-se ao nvel de entendimento que o modelo fornece,
isto , o quanto as regras fornecidas so entendidas pelos usurios do
classificador.

Os seguintes passos de pr-processamento podem ser aplicados aos dados a


fim de aumentar a qualidade (accuracy), eficincia e escalabilidade do processo
de classificao:
1. Limpeza dos dados:
dados remover rudos e resolver problemas de tuplas com
valores desconhecidos, por exemplo, substituindo estes valores pelos valores
mais correntes do atributo correspondente, ou o valor mais provvel, baseado
em estatstica. Este passo ajuda a reduzir possvel confuso durante o
aprendizado.
2. Anlise de Relevncia:
Relevncia: Alguns atributos podem ser totalmente irrelevantes
para a tarefa de classificao. Por exemplo, a informao sobre telefone e e-mail
dos clientes no influncia sua classificao em Comprador de Produto
Eletrnico ou No comprador de Produto Eletrnico". Assim, importante se
fazer uma anlise prvia de quais atributos realmente so essenciais para a
tarefa de classificao.

Os seguintes passos de pr-processamento podem ser aplicados aos dados a


fim de aumentar a qualidade (accuracy), eficincia e escalabilidade do processo
de classificao:
Categorizao : Atributos que assumem uma grande variedade de valores, podem ser
agrupados em algumas poucas categorias. Por exemplo, a renda mensal do cliente
pode ser agrupada em 4 categorias : Baixa, Mdia, Mdia-Alta e Alta. A idade do
cliente tambm pode ser agrupada em faixas etrias : =< 20, 21..30, > 60, etc.
Generalizao:
Generalizao: Certos atributos, como RUA, podem ser substitudos por um atributo
mais geral CIDADE. Assim, ao invs de registrar a rua onde mora o cliente,
simplesmente registra-se a cidade.
Normalizao:
Normalizao: Certos dados tambm podem ser normalizados, sobretudo quando se
utiliza, no processo de aprendizado mtodos envolvendo medidas de distncia. A
normalizao envolve escalonar os valores de um atributo de modo que fiquem
compreendidos dentro de um intervalo pequeno, por exemplo [-1,1] ou [0,1]. Nestes
mtodos, isto evitaria que atributos com valores com um grande espectro de variao
(por exemplo, renda mensal) tenham preponderncia sobre atributos com um baixo
espectro de variao (atributos com valores binrios, por exemplo).

construda do topo para a base, o atributo mais


significativo, ou seja, o mais generalizado, quando
comparado a outros atributos do conjunto,
considerado raiz da rvore.
Na sequncia da construo, o prximo n da rvore
ser o segundo atributo mais significativo, e, assim,
sucessivamente, at gerar o n folha, que representa
o atributo alvo da instncia.

Uma rvore de deciso uma estrutura de rvore onde :




cada n interno um atributo do banco de dados de amostras,


diferente do atributo-classe,

as folhas so valores do atributo-classe,

cada ramo ligando um n-filho a um n-pai etiquetado com um


valor do atributo contido no n-pai. Existem tantos ramos
quantos valores possveis para este atributo.

um atributo que aparece num n no pode aparecer em seus ns


descendentes.

rvore de Deciso
ou
rvore de Classificao.

A partir de uma base de


treinamento, extrai-se o
modelo de classificao (por
exemplo: rvore de deciso).

rvore de Deciso
Ou
Classificao

Regras
de
classificao
obtidas a partir da rvore de
deciso:
deciso:

A que classe pertence


Joo, 38 anos, Doutor em
Gentica, que trabalha
como pesquisador numa
universidade
e
tem
salrio de R$5100,00?

Resposta: B

A que classe pertence


Joo, 38 anos, Doutor em
Gentica, que trabalha
como pesquisador numa
universidade
e
tem
salrio de R$5100,00?

Resposta: B

Sero feitas algumas observaes para que voc


possa entender como os dados podem ser analisados
ou interpretados no Weka. Tais resultados foram
obtidos atravs da aplicao do algoritmo de
classificao J48 que trabalha com rvore de deciso.
Ser analisado as instncias corretas e incorretas;
estatstica de Kappa, erros quadrticos e absolutos,
preciso e matriz de confuso.

A figura mostra a quantidade de instncias classificadas


de forma correta e incorreta.
A estatstica de Kappa exibe o quanto aquele atributo
escolhido para ser o classificador dos dados foi bom.
Quanto mais prximo de 1 (100%) melhor.
Os erros demonstram o percentual de erros ao executar
as instncias. Quanto mais prximo de 0 (0%) melhor.

Estatstica de Kappa
Erros absolutos
Erros quadrticos

Quantidade de instncias classificadas de forma


correta e incorreta para cada regra gerada pelo
algoritmo.

O que significam os valores ( 318.0 / 22.0 ):


- 318 significa o nmero de acertos, ou seja, 318 registros, nos quais a regra acima
se aplica corretamente;
22 significa o nmero de erros, ou seja, 22 registros, nos quais a regra acima no se
aplica corretamente.

A figura mostra a preciso de cada classe. Quanto


mais prximo de 1 (100%) melhor.

Matriz de confuso
Contm informaes muito importantes para o
entendimento do resultado do algoritmo, dentre elas:
a quantidade de instncias classificadas corretamente;
a quantidade de instncias classificadas erroneamente;
a quantidade de instncias que o algoritmo acreditava ser
de um tipo e na verdade foram classificadas como outro,
por exemplo:

Matriz de confuso
possvel analisar que:
- dos 15 exemplos (1linha), 12 foram classificados corretamente
como eleito, 3 foram classificados erroneamente como suplente;
- dos 3 exemplos (2linha), 1 foi classificado erroneamente como
eleito e 2 foram classificados erroneamente como suplente;
- dos 4 exemplos (3linha), 4 foram classificados erroneamente
como suplente;
- dos 101 exemplos (4linha), 100 foram classificados de forma
correta.

Matriz de confuso
Mas como chegou-se ao numero das
instncias classificadas corretamente
e erroneamente no exemplo acima?
Para isso, basta analisar o quadro
abaixo, no qual a somatria dos
valores, que fazem parte da diagonal
marcada como azul, representam os
valores classificados como corretos e
os demais valores somados em suas
respectivas diagonais, correspondem
aos
valores
classificados
erroneamente.
Obviamente,
na
somatria dos valores errados, devese excluir os valores que fazem
interseco com a linha em azul.

Com isto, obtemos o seguinte resultado:


Instncias classificadas corretamente: 112;
Instncias classificadas erroneamente: 11;
Perfazendo um total de 123 instncias analisadas.

O problema de Clustering descrito como:


recebido um conjunto de dados (de objetos),
tentar agrup-los de forma que os elementos
que compem cada grupo sejam mais
parecidos entre si do que parecidos com os
elementos dos outros grupos.
Em resumo, colocar os iguais (ou quase
iguais) juntos num mesmo grupo e os
desiguais em grupos distintos.
64

65

Dado um conjunto de
objetos, colocar os objetos em
grupos baseados na
similaridade entre eles

Como agrupar os animais


seguintes?


Inerentemente um
problema no definido
claramente

Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

Dado um conjunto de
objetos, colocar os objetos em
grupos baseados na
similaridade entre eles

Inerentemente um
problema no definido
claramente

Como agrupar os animais


seguintes?


Com bico

Sem bico

Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

Dado um conjunto de
objetos, colocar os objetos em
grupos baseados na
similaridade entre eles

Como agrupar os animais


seguintes?


Inerentemente um
problema no definido
claramente

gua

Terra

Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

Dado um conjunto de
objetos, colocar os objetos em
grupos baseados na
similaridade entre eles

Como agrupar os animais


seguintes?


Inerentemente um
problema no definido
claramente

Ave

Mamfero

Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

Dado um conjunto de objetos, colocar os objetos


em grupos baseados na similaridade entre eles

Distncias intracluster so
minimizadas

Distncias entre
cluster so
maximizadas

Reconhecimento de padres:
 Anlise de dados espaciais:


 Criao de mapas temticos em GIS por agrupamento de


espaos de caractersticas;
 Deteco de clusters espaciais e sua explanao em data
mining;




Processamento de imagens;
Pesquisa de mercado;
WWW:
 classificao de documentos;
 Agrupamento de dados de weblogs, redes sociais para
descobrir padres similares de informaes;

Sumarizao
Reduzir o tamanho de grandes conjuntos de dados

Quantos clusters?

Seis Clusters

Dois Clusters

Quatro Clusters

Clusterizao
dificuldades
Encontrar o melhor agrupamento para um
conjunto de objetos no uma tarefa simples, a
no ser que n (nmero de objetos) e k (nmero
de clusters) sejam extremamente pequenos,
visto que o nmero de parties distintas em
que podemos dividir n objetos em k clusters
aproximadamente

kn/k!
Ex. k=2 e n=5 ento so 16 formas de dividir 5
elementos em 2 grupos.
73

Clusterizao
dificuldades
Porque

efetividade

dos

algoritmos

de

Clustering um problema:
1. Quase todos os algoritmos de Clustering
requerem valores para os parmetros de
entrada que so difceis de determinar,
especialmente para conjuntos de dados do
mundo real contendo objetos com muitos
atributos.
74

Clusterizao
dificuldades
2. Os algoritmos so muito sensveis a estes
valores

de

parmetros,

freqentemente

produzindo parties muito diferentes do


conjunto de dados mesmo para ajustes de
parmetros

significativamente

pouco

diferentes.
3. Conjuntos de dados reais de alta dimenso
(muitos atributos) tm uma distribuio
muito ampla o que dificulta a anlise.
75

Clusterizao
representaes de dados
A entrada para um algoritmo de clusterizao
normalmente um vetor (tuple ou record).
Os tipos de dados podem ser: numrico, de
categoria ou boleano
Numa clnica mdica, por exemplo pode-se
encontrar

dados

como:

Idade

(numrico),

Peso (numrico), Sexo (categoria), Doente (boleano)


Deve incluir um mtodo para computar a similaridade
de vetores ou a distncia entre vetores.

76

Clusterizao
medidas de similaridade
As medidas de similaridade fornecem
valores
numricos que expressam a
distncia entre dois objetos.
Quanto menor o valor desta distncia, mais
semelhantes sero os objetos, e tendero a
ficar no mesmo cluster.
Quanto maior a distncia, menos similares
sero os objetos e, em conseqncia, eles
devero estar em grupos distintos.
77

Clusterizao
medidas de similaridade
Uma funo de distncia deve ser tal que:
 no assuma valores negativos (o menor valor 0);
 ser simtrica (a distncia do objeto i ao j tem que ser
igual distncia do objeto j ao i);
 fornea o valor 0 quando calculada a distncia do
objeto a si mesmo ou quando dois objetos so
idnticos;
 respeite a desigualdade triangular, (dados 3 objetos, a
distncia entre dois deles tem que ser menor ou igual
a soma das distncias entre esses dois objetos e o
terceiro).

Clusterizao
medidas de similaridade
 Distncia

Euclidiana

d ( x, y ) = ( x1 y1 ) + ( x2 y2 ) + ... + ( x p y p )
2

City block (Manhattan)

d ( x, y ) = x1 y1 + x2 y2 + ... + x p y p


Realizando uma analogia entre a diferena entre essas duas distncias, vamos imaginar
uma a rota de GPS para dois veculos, uma para um carro e outra para um helicptero. A
Distncia Euclidiana seria o segmento de uma reta na qual indicaria uma possvel rota
de helicptero (na qual no haveria preocupao com as ruas j que um veculo areo,
e geometricamente seria a hipotenusa de um tringulo) e a Distncia Manhattan seria
um segmento de retas na vertical quanto na horizontal semelhante a uma rota de carro
(j que esse obedece o sentido das ruas, e devido esse comportamento essa medida
de distncia tambm conhecida como City Block, e geometricamente seriam a soma
dos catetos).

Clusterizao
medidas de similaridade
No h uma medida de similaridade que sirva
para todos os tipos de variveis que podem
existir numa base de dados.
Variveis numricas:
A medida que normalmente usada para
computar as dissimilaridades de objetos
descritos por variveis numricas a
Distancia Euclidiana
A normalizao faz com que todas as variveis tenham um peso igual. A
normalizao deve ser efetuada para todos os atributos.
80

 Particionamento (K-mdias e variantes)


Divide os pontos (dados) em conjuntos disjuntos (clusters) tal que
cada ponto pertence a um nico cluster
 Hierrquica (Hierarchical clustering)
Um conjunto de clusters aninhados organizados como uma rvore
 Baseadas em densidade (DBSCAN)
Encontra clusters baseado na densidade de regies

Abordagem por particionamento


Cada cluster est associado a um centride (ponto
central)
Cada ponto associado ao cluster cujo centride est
mais prximo
Nmero de clusters, K, precisa ser especificado
O algoritmo bsico bem simples e ir gerar K
clusters:







o
o
o
o
o
o
o

1 Coloque K centroides aleatoriamente


2 Atribua cada item a um centride mais prximo.
3 Calcule a mdia entre os pontos internos de
cada ponto atribuido a um centroide.
4 A posio mdia atribuida ao centride (que
muda de posio)
5 O clculo deve ser refeito a partir do n 2 at que se estabilize

Diagrama de Voronoi poliedros convexos em torno dos centrides

Usar k=2 (parmetro informado pelo usurio)

Dataset a ser clusterizado

Item
A
B
C
D

Variveis
x1
5
-1
1
-3

x2
3
1
-2
-2

Passo 1
Determina-se os centrides iniciais (normalmente
pega-se ao acaso k pontos (registros): por exemplo os
registros A e B),
Variveis
isto :
C1(1) = (5,3)
C2(1) = (-1,1)

Item
A
B
C
D

x1
5
-1
1
-3

x2
3
1
-2
-2

Passo 2:
Calcula-se as distncias de cada ponto
centrides, para definir os cluster iniciais.

Os clusters so:
C1 = {A}
C2 = {B,C,D}
Pois C e D esto mais
perto de B do que de A

aos

Passo 3: clculo dos novos centrides

C1(2)= (5,3)
C2(2)=

Item
A
B
C
D

Variveis
x1
5
-1
1
-3

x2
3
1
-2
-2

2.5

Pontos originais

1.5

0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

2.5

2.5

1.5

1.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

1.5

Particionamento timo

-2

-1.5

-1

-0.5

0.5

1.5

Particionamento sub-timo

Iteration 6
1
2
3
4
5
3

2.5

1.5

0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

Iteration 1

Iteration 2

Iteration 3

2.5

2.5

2.5

1.5

1.5

1.5

0.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

Iteration 4

Iteration 5
2.5

1.5

1.5

1.5

0.5

0.5

0.5

-0.5

0.5

1.5

0.5

1.5

1.5

2.5

2.5

-1

-0.5

Iteration 6

-1.5

-1

-2

-1.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

A medida mais comum a soma dos erros quadrados


(Sum of Squared Error - SSE)
Para cada ponto, o erro a distncia ao centride mais
prximo
K

SSE = dist 2 ( mi , x )
i =1 xCi

x um ponto de dados no cluster Ci e mi o ponto


representativo (centride) do cluster Ci
Uma maneira fcil de reduzir o SSE aumentar K, o nmero
de clusters
 Um bom particionamento com um K pequeno pode ter um SSE
menor do que um mau particionamento com um K maior

Iteration 5
1
2
3
4
3

2.5

1.5

0.5
0

-2

-1.5

-1

-0.5

0.5

1.5

Importncia da escolha dos centrides iniciais


Iteration 1

Iteration 2

2.5

2.5

1.5

1.5

0.5

0.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

Iteration 3

2.5

1.5

1.5

1.5

2.5

2.5

0.5

0.5

0.5

-1

-0.5

0.5

Iteration 5

-1.5

1.5

Iteration 4

-2

1.5

-2

-1.5

-1

-0.5

0.5

1.5

-2

-1.5

-1

-0.5

0.5

1.5

Iteration 4
1
2
3
8
6
4

2
0
-2
-4
-6
0

10

15

20

x
Iniciando com dois centrides em um cluster para cada par de clusters

Iteration 2
8

Iteration 1
8

-2

-2

-4

-4

-6

-6
0

10

15

20

-2

-4

-4

-6

-6

15

20

-2

10

20

Iteration 4
8

Iteration 3

15

10

15

20

10

Iniciando com dois centrides em um cluster para cada par de clusters

Iteration 4
1
2
3
8
6
4

2
0
-2
-4
-6
0

10

15

20

x
Iniciando com um par de clusters tendo 3 centrides iniciais e outro par com somente um.

Iteration 2
8

Iteration 1
8

-2

-2

-4

-4

-6

-6
0

10

15

20

-2

-4

-4

-6

-6
5

10

15

20

15

20

-2

10

x
Iteration
4

x
Iteration
3

15

20

10

Iniciando com um par de clusters tendo 3 centrides iniciais e outro par com somente um.

 Pr-processamento

Normalize os dados
Elimine excees (outliers)
 Ps-processamento

Elimine clusters pequenos que podem representar

outliers
Divida clusters fracos i.e., clusters com SSE
relativamente alto
Junte clusters que esto perto e que tenham SSE
relativamente baixo

 K-mdias

tem problemas quando os clusters

tm
Tamanhos diferentes
Densidades diferentes
Formato no esfrico
 K-mdias

tem problemas quando os dados


contm outliers.

Pontos originais

K-mdias (3 Clusters)

pontos originais

K-mdias (3 Clusters)

Pontos originais

K-mdias (2 Clusters)

Pontos originais

Clusters do K-mdias

Uma soluo usar muitos clusters.


Encontra partes de clusters, mas que precisam ser unidos.

Pontos originais

clusters do K-mdias

Pontos originais

clusters do K-mdias

Mtodos de KK-medoids (K(K-medianas)


O algoritmo K-mdias sensvel a rudos visto
que um objeto com um valor extremamente
grande pode, distorcer a distribuio de dados.
Para
diminuir
essa
sensibilidade,
no
algoritmo K- medoids,
medoids ao invs de utilizar o
valor mdio dos objetos em um cluster como
um ponto referncia, a mediana utilizada,
que o objeto mais centralmente localizado
em um cluster.

Em vez de mdias (centrides), usa objetos


representativos chamados medoids


PAM (Partitioning Around Medoids, 1987) inicia com

um conjunto de medoids e iterativamente substitui


um dos medoids por um dos pontos no-medoids se
ele melhora a distncia total do particionamento
resultante.
 CLARA (Clustering Large Applications, 1990) Faz
vrias amostras do conjunto de dados, aplica-se PAM
em cada amostra, e d o melhor de agrupamento
como a sada
 CLARANS
(Randomized CLARA, 1994) mais
eficiente e escalvel que CLARA e PAM