Data Mining:
Data Mining:
Algumas técnicas para Data Mining
Algumas técnicas para Data Mining
• Geração de regras de associação;
• Geração de regras de associação;
• Classificação e predição;
• Classificação e predição;
• Agrupamento (clustering).
• Agrupamento (clustering).
Data Mining:
Data Mining:
Regras de associação
Regras de associação
•
Mineração de associações ou de regras de
•Mineração de associações ou de regras de
associação:
– Encontrara padrões freqüentes, associações, – Encontrara padrões freqüentes, associações,
correlações, ou estruturas causais a partir de conjuntos de itens ou objetos em DB de
transações, relacionais, ou em outros repositórios transações, relacionais, ou em outros repositórios de informações.
•
Aplicações:
•Aplicações:
– Análise de cestas de dados (basket data),
marketing cruzado, projeto de catálogos, agrupamento, etc.
Regras de associação
Regras de associação
•
Exemplo:
•Exemplo:
– Formato da regra:
“corpo => cabeça [suporte, confiança]”; “corpo => cabeça [suporte, confiança]”;
– compra(X, “fraldas”) => compra (X, “cerveja”)
Regras de associação
Regras de associação
•
Dados:
•Dados:
1. Uma DB da transações;
2. Cada transação constituída de uma lista de itens 2. Cada transação constituída de uma lista de itens
(compras de um cliente);
•
Encontrar:
1. Todas as regras que correlacionam a presença
de um conjunto de itens com outro conjunto de itens.
itens.
2. Exemplo: 98 % das pessoas que compram
pneus e assessórios também compram sua instalação.
Regras de associação
Regras de associação
•
Aplicações:
•Aplicações:
1. * => contratos de manutenção (o que fazer para
aumentar as vendas de contratos de aumentar as vendas de contratos de manutenção)
2. Eletrônicos => * (que outros produtos devem ser
estocados) estocados)
3. Indicativos em marketing direto;
4. Detecção de “ping-pong” de pacientes, 4. Detecção de “ping-pong” de pacientes,
Regras de associação
Regras de associação
Encontrar regras X & Y
⇒
Z comsuporte e confiança mínimos Customer
buys diaper
Customer buys both
suporte e confiança mínimos
– Suporte, s, é a probabilidade de
uma transação conter {X ∩ Y ∩ Z}
buys diaper
uma transação conter {X ∩ Y ∩ Z}
– Confiança, c, é a probabilidade
condicional da transação tendo {X ∩ Y} também conter Z
Customer
buys beer ∩ Y} também conter Z
Transação Itens
2000 A,B,C
Para um suporte mínimo de 50%, e confiança mínima de buys beer 2000 A,B,C 1000 A,C 4000 A,D 50%, e confiança mínima de 50%, tem-se: – A ⇒ C (50%, 66.6%) – C ⇒ A (50%, 100%) 5000 B,E,F – C ⇒ A (50%, 100%)
Regras de associação
Regras de associação
• Associações booleanas x quantitativas: conforme • Associações booleanas x quantitativas: conforme
os valores manuseados:
– compra(X, “SQLServer”) ^ compra(X, “DMBook”)
=> compra(X, “DBMiner”) [0.2%, 60%] => compra(X, “DBMiner”) [0.2%, 60%]
– idade(Y, “30..39”) ^ renda(Y, “42..48K”) =>
compra(Y, “PC”) [1%, 75%] compra(Y, “PC”) [1%, 75%]
• Associações uni e multi dimensionais; • Análises uni e multi-níveis:
• Análises uni e multi-níveis:
– Que marcas de cervejas estão associadas a
Regras de associação
Regras de associação
• Varias extensões: • Varias extensões:
– Correlação, análise causal:
• Associação não necessariamente implica em • Associação não necessariamente implica em
correlação ou causalidade;
– Padrões maximais e conjuntos fechados de itens;
Restrições forçadas:
– Restrições forçadas:
• E.g., pequenas vendas (valor < 100) disparam
grandes vendas (valor > 1000)? grandes vendas (valor > 1000)?
Regras de associação
Regras de associação
•
Algoritmo utilizado:
•Algoritmo utilizado:
– APRIORI;
– Princípio: todo subconjunto de um conjunto – Princípio: todo subconjunto de um conjunto
freqüente de itens deve ser freqüente;
– Várias otimizações para melhoria da performance
computacional. computacional.
Regras de associação
-exemplo
exemplo
TID Items
Database D itemset sup.
{1} 2 itemset sup.{1} 2 C1 L1 TID Items 100 1 3 4 200 2 3 5 300 1 2 3 5 {1} 2 {2} 3 {3} 3 {4} 1 {1} 2 {2} 3 {3} 3 {5} 3 Scan D C1 300 1 2 3 5 400 2 5 {4} 1 {5} 3 {5} 3 itemset {1 2} itemset sup {1 2} 1 itemset sup L C2 C 2 Scan D {1 2} {1 3} {1 5} {2 3} {1 2} 1 {1 3} 2 {1 5} 1 {2 3} 2 itemset sup {1 3} 2 {2 3} 2 {2 5} 3 L2 Scan D {2 3} {2 5} {3 5} {2 3} 2 {2 5} 3 {3 5} 2 {2 5} 3 {3 5} 2
C itemset L itemset sup
C3 itemset L3
{2 3 5}
Scan D itemset sup {2 3 5} 2
Regras de associação
Regras de associação
•
Regras de associação multi-níveis:
•Regras de associação multi-níveis:
– Pressupõe uma hierarquia;
– Abordagem top-down progressiva; – Abordagem top-down progressiva;
– Inicialmente: encontrar as regras “fortes” de alto
nível:
Leite => pão [20%, 60%]
• Leite => pão [20%, 60%]
– Em seguida, regras “fracas” de mais baixo nível:
• 2% leite => pão branco [6%, 50%] • 2% leite => pão branco [6%, 50%]
Sumário
Sumário
•
Mineração de regras de associação:
•Mineração de regras de associação:
– Provavelmente a contribuição mais significativa da
comunidade de DB à KDD; comunidade de DB à KDD;
– Inúmeros trabalhos publicados;
•
Muitos pontos importantes explorados;
•Direções de pesquisa:
– Análise de associações em outros tipos de dados:
espaciais, multimídia, temporais, etc. espaciais, multimídia, temporais, etc.
Aprendizagem supervisionada e
não supervisionada
não supervisionada
• Aprendizagem supervisionada (classificação) • Aprendizagem supervisionada (classificação)
– Supervisão: O conjunto de treinamento
(observações, medições, etc.) é acompanhado dos (observações, medições, etc.) é acompanhado dos rótulos indicativos das classes das observações; – Novos dados são classificados com base na
– Novos dados são classificados com base na estrutura gerada a partir do conjunto de
Aprendizagem supervisionada e
não supervisionada
não supervisionada
• Aprendizagem não supervisionada (agrupamento =
• Aprendizagem não supervisionada (agrupamento =
clustering)
– Os rótulos das classes no conjunto de treinamento – Os rótulos das classes no conjunto de treinamento
são desconhecidos;
– Dado um conjunto de medidas, observações, etc. o – Dado um conjunto de medidas, observações, etc. o
objetivo é estabelecer a existência de classes ou grupos nos dados.
Data Mining:
Data Mining:
Classificação e Predição
Classificação e Predição
• Classificação: • Classificação:
– Predição dos nomes (rótulos) das classes;
– Classifica os dados (constrói um modelo) com base no conjunto de treinamento e nos valores base no conjunto de treinamento e nos valores (rótulos) do atributo classificador, de forma a determinar a classe dos novos dados;
• Predição: • Predição:
– Modela funções sobre valores contínuos, i.e., prediz valores desconhecidos ou perdidos;
prediz valores desconhecidos ou perdidos;
• Aplicações típicas:
– Aprovação de crédito, marketing dirigido, diagnóstico médico ...
Classificação: um processo de
dois passos
dois passos
1. Construção do modelo: 1. Construção do modelo:
Descrição de um conjunto de um conjunto de classes pré-determinadas:
– Cada tupla (exemplo) é considerada como – Cada tupla (exemplo) é considerada como
pertencente a uma classe pré-definida,
determinada pelo rótulo de seu atributo-classe; – O conjunto de tuplas usado na construção do – O conjunto de tuplas usado na construção do
modelo é o conjunto de treinamento;
– O modelo pode ser representado por regras de classificação, árvores de decisão ou fórmulas – O modelo pode ser representado por regras de
classificação, árvores de decisão ou fórmulas matemáticas;
Classificação: um processo de
dois passos
dois passos
2. Uso do modelo: 2. Uso do modelo:
– Para a classificação futura ou de elementos desconhecidos;
– Correção estimada do modelo: – Correção estimada do modelo:
– Uso de conjunto de teste;
– O rótulo conhecido é comparado ao rótulo fornecido pelo modelo;
fornecido pelo modelo;
– O conjunto de teste deve ser diferente do conjunto de treinamento, de forma a evitar conjunto de treinamento, de forma a evitar
Classificação: passo 1
Classificação: passo 1
Classification Training Data Classification Algorithms DataNA M E RAN K YEA RS TEN URED Classifier NA M E RAN K YEA RS TEN URED
M ike Assistant Prof 3 no M ary Assistant Prof 7 yes
Classifier (Model)
Bill Professor 2 yes Jim Associate Prof 7 yes
Dave Assistant Prof 6 no IF rank = ‘professor’
OR years > 6
Dave Assistant Prof 6 no
Anne Associate Prof 3 no OR years > 6
Classificação: passo 2
Classificação: passo 2
Classifier
Testing
Data Unseen Data
Data
NAM E RANK YEARS TENURED
(Jeff, Professor, 4)
NAM E RANK YEARS TENURED Tom Assistant Prof 2 no
M erlisa Associate Prof 7 no
Tenured?
G eorge Professor 5 yes Joseph Assistant Prof 7 yes
Preparação do dados
Preparação do dados
• Limpeza dos dados: • Limpeza dos dados:
– Pré-processamento dos dados para reduzir o ruído e tratar valores desconhecidos;
e tratar valores desconhecidos;
• Análise de relevância (seleção de características):
– Remoção de atributos irrelevantes ou redundantes; – Remoção de atributos irrelevantes ou redundantes;
• Transformação de dados:
– Generalização e normalização dos dados. – Generalização e normalização dos dados.
Avaliação da classificação
Avaliação da classificação
• Correção preditiva; • Correção preditiva;
• Performance e escalabilidade;
– Construção do modelo e seu uso; – Construção do modelo e seu uso;
• Robustez:
– Manuseio de dados ruidosos e incompletos; – Manuseio de dados ruidosos e incompletos;
• Interpretabilidade:
– Compreensão oferecida pelo modelo; – Compreensão oferecida pelo modelo;
• Utilidade das regras:
– Tamanho, facilidade de leitura, etc. – Tamanho, facilidade de leitura, etc.
Árvores de decisão
Árvores de decisão
Classificação por árvore de
decisão
decisão
• Árvores de decisão:
• Árvores de decisão:
– Estrutura do tipo “fluxograma”;
– Nós internos denotam testes em atributos;
– Nós internos denotam testes em atributos;
– Ramos representam saídas dos testes;
Classificação por árvore de
decisão
decisão
• Construção da árvore:
1. No início, todos os exemplos de treinamento são associados à raiz;
2. Os exemplos são particionados com base nos 2. Os exemplos são particionados com base nos
atributos selecionados;
3. Poda da árvore: ramos que refletem desvios e/ou 3. Poda da árvore: ramos que refletem desvios e/ou
ruído são eliminados;
• Uso da árvore de decisão:
• Uso da árvore de decisão:
– Os valores dos atributos do novo exemplo são testados diretamente na árvore atingindo o nó testados diretamente na árvore atingindo o nó folha da classe correspondente.
Exemplo: árvore de decisão
Exemplo: árvore de decisão
age income student credit_rating buys_computer
Exemplo:
<=30age highincome studentno faircredit_rating buys_computerno<=30 high no excellent no
31…40 high no fair yes
Exemplo:
ID3 de
Quinlan
31…40 high>40 medium nono fairfair yesyes>40 low yes fair yes
>40 low yes excellent no
Quinlan
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes
31…40 high yes fair yes
Exemplo: árvore de decisão
Exemplo: árvore de decisão
age? age?
overcast
<=30 overcast30..40 >40
student? credit rating?
<=30 >40
yes
30..40
student? credit rating?
no yes excellent fair
yes
no yes excellent fair
no yes no yes
Exemplo: árvore de decisão
Exemplo: árvore de decisão
• Ordem dos atributos: ganho de informação (página 70/421 do Mitchell)...
70/421 do Mitchell)...
• Representação por regras IF-THEN:
– Uma regra para cada caminho da raiz à folha; – Cada par (atributo, valor) forma uma conjunção; – Cada folha determina a classe prevista;
• Regras são de mais fácil compreensão aos
• Regras são de mais fácil compreensão aos usuários:
IF age = “<=30” AND student = “no” IF age = “<=30” AND student = “no”
THEN buys_computer = “no”
IF age = “>40” AND credit_rating = “excellent” THEN buys_computer = “yes”
Classificador bayesiano
Classificador bayesiano
• Aprendizagem probabilista: cálculo da
probabilidade explícita da hipótese, de ampla probabilidade explícita da hipótese, de ampla aplicação em vários domínios;
• Incremental:
• Incremental:
– cada exemplo de treinamento pode aumentar / diminuir a probabilidade da hipótese;
– Conhecimento a priori pode ser combinado com os – Conhecimento a priori pode ser combinado com os
dados observados;
• Previsão probabilista:
• Previsão probabilista:
– Várias hipótese podem ser previstas, ponderadas por suas probabilidades;
– Fornece uma referência a ser comparada a outros métodos.
Classificador bayesiano
Classificador bayesiano
Fundamento: Teorema de Bayes;
• Dado um conjunto de treinamento D, a probabilidade • Dado um conjunto de treinamento D, a probabilidade
a posteriori de uma hipótese h, P(h|D) é dada por:
)
(
)
|
(
D
h
P
h
P
)
(
)
(
)
|
(
)
|
(
D
P
h
P
h
D
P
D
h
P
=
• A probabilidade máxima a posteriori MAP é:
.
)
(
)
|
(
max
arg
)
|
(
max
arg
P
D
h
P
h
H
h
D
h
P
H
h
MAP
h
∈
=
∈
≡
• Dificuldade prática: requer conhecimento inicial de muitas probabilidades, custo computacional elevado;
H
h
H
h
MAP
∈
∈
muitas probabilidades, custo computacional elevado; • Simplificação: independência dos atributos.
Exemplo: jogar ou não tênis ?
Exemplo: jogar ou não tênis ?
Outlook Temperature Humidity W indy Class sunny hot high false N
sunny hot high true N
outlook
P(sunny|p) = 2/9 P(sunny|n) = 3/5
sunny hot high true N
overcast hot high false P rain mild high false P rain cool normal false P rain cool normal true N overcast cool normal true P
P(sunny|p) = 2/9 P(sunny|n) = 3/5 P(overcast|p) = 4/9 P(overcast|n) = 0 P(rain|p) = 3/9 P(rain|n) = 2/5 temperature
overcast cool normal true P sunny mild high false N sunny cool normal false P rain mild normal false P sunny mild normal true P overcast mild high true P
temperature
P(hot|p) = 2/9 P(hot|n) = 2/5 P(mild|p) = 4/9 P(mild|n) = 2/5
overcast mild high true P overcast hot normal false P
rain mild high true N
P(mild|p) = 4/9 P(mild|n) = 2/5 P(cool|p) = 3/9 P(cool|n) = 1/5 humidity P(high|p) = 3/9 P(high|n) = 4/5 P(normal|p) = 6/9 P(normal|n) = 2/5 windy P(p) = 9/14 P(n) = 5/14 windy P(true|p) = 3/9 P(true|n) = 3/5 P(false|p) = 6/9 P(false|n) = 2/5 P(n) = 5/14
Exemplo: jogar ou não tênis ?
Exemplo: jogar ou não tênis ?
• Um novo exemplo: X = <rain, hot, high, false> • P(X|p)·P(p) = P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) = P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) = 3/9·2/9·3/9·6/9·9/14 = 0.010582 • P(X|n)·P(n) = P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) = 2/5·2/5·4/5·2/5·5/14 = 0.018286
• O exemplo X é classificado como da classe n (não jogar).
Redes Neurais
Redes Neurais
Redes Neurais
Redes Neurais
Vantagens:
• Correção de predição em geral elevada; • Correção de predição em geral elevada;
• Robustez, bom funcionamento na presença de ruídos;
ruídos;
• Saídas discretas, reais, ou mistas;
• Avaliação rápida da função de aprendizagem. • Avaliação rápida da função de aprendizagem.
Desvantagens / crítica:
• Tempo de treinamento lento;
• Dificuldade no entendimento da função de aprendizagem (pesos);
• Difícil incorporação de conhecimento de domínio. • Difícil incorporação de conhecimento de domínio.
Um neurônio
Um neurônio
µ
k-
µ
k-f
∑
w0 w1 x0 x1f
output y∑
w1 wn x1 xn weighted sum Input vector x Activation function weight vector w sumvector x vector w function
• Um vetor n-dimensional x de entrada é mapeado em uma variável y por meio de um produto escalar e de um uma variável y por meio de um produto escalar e de um mapeamento não-linear.
Rede perceptron multi-camadas
Rede perceptron multi-camadas
Output vector Output nodes Output vector jk k k j j j O O Err w Err = (1− )
∑
Err l) ( + =θ
θ
i j ij ij w l Err O w = +( ) j j j =θ
+ (l)Errθ
Hidden nodes wij O = 1 ) )( 1 ( j j j j j O O T O Err = − − Input nodes wij∑
+ = i j i ij j w O Iθ
j I j e O − + = 1 Input vector: xi iRede perceptron multi-camadas
Rede perceptron multi-camadas
Treinamento:
• Obtenção dos pesos que tornam a maior parte das • Obtenção dos pesos que tornam a maior parte das
tuplas no conjunto de treinamento corretamente classificadas;
Passos:
• Inicialização randômica dos pesos;
• Alimentação da rede pelas tuplas, uma a uma; • Alimentação da rede pelas tuplas, uma a uma; • Para cada unidade:
– Computar a entrada da rede à unidade como combinação linear das entradas da unidade;
linear das entradas da unidade;
– Computar a saída em função dos pesos e da função de ativação;
– Calcular o erro; – Calcular o erro;
Aprendizagem baseada em
Aprendizagem baseada em
instâncias:
K-vizinhos mais próximos
K-vizinhos mais próximos
K-vizinhos mais próximos
K-vizinhos mais próximos
Aprendizagem baseada em instâncias (IBL):
• Armazenamento dos exemplos de
• Armazenamento dos exemplos de
treinamento (avaliação preguiçosa = “lazy
evaluation”) até que a nova instância deva
evaluation”) até que a nova instância deva
ser classificada;
K-vizinhos mais próximos:
K-vizinhos mais próximos:
• Algoritmo mais utilizado em IBL;
• As instâncias são associadas a pontos no
• As instâncias são associadas a pontos no
espaço euclidiano;
• Métrica de distância para selecionar os
vizinhos.
K-vizinhos mais próximos (k-NN)
K-vizinhos mais próximos (k-NN)
• Todas as instâncias correspondem a pontos
no espaço n- dimensional;
no espaço n- dimensional;
• Os vizinhos mais próximos são usualmente
definidos em função da distância euclidiana;
definidos em função da distância euclidiana;
• A função objetivo (classe) pode ser discreta
ou real;
ou real;
• Para os casos discretos o k-NN retorna a
classe mais comum entre as classes dos k
classe mais comum entre as classes dos k
vizinhos mais próximos à nova instância;
K-vizinhos mais próximos (k-NN)
K-vizinhos mais próximos (k-NN)
• Diagrama de Voronoi: descreve a superfície
de decisão induzida;
de decisão induzida;
• No exemplo a seguir, um caso típico para
1-NN
NN
_ _ _.
. _ + _ xq _ _ + +.
.
.
.
.
+ _.
Predição
Predição
Similar à classificação no caso em que o
atributo “classe” é contínuo;
atributo “classe” é contínuo;
Etapas:
• Construção do modelo;
• Construção do modelo;
• Uso do modelo para predizer um valor
desconhecido:
desconhecido:
– O método mais utilizado é a regressão: • Regressão linear e múltipla;
Sumário
Sumário
• Classificação é provavelmente uma das técnicas mais utilizadas de data mining, com muitas possibilidades de utilizadas de data mining, com muitas possibilidades de aplicação;
• É uma problema extensivamente estudado, • É uma problema extensivamente estudado,
especialmente com o uso de análise estatística, aprendizagem de máquina e redes neurais;
• A escalabilidade é muito importante em aplicações de • A escalabilidade é muito importante em aplicações de
DB: o uso conjunto de de classificação e técnicas de DB é uma área promissora de estudos;
• Muitas novas áreas podem ser vislubradas:
classificação de dados não-relacionais, e.g. textuais, espaciais, multimídia, etc.
Data Mining:
Data Mining:
Agrupamento (clustering)
Agrupamento (clustering)
Cluster: uma coleção de objetos de dados;
• Similares entre si no mesmo cluster; • Similares entre si no mesmo cluster;
• Não similares aos objetos fora do respectivo cluster;
Análise de clusters: Análise de clusters:
• Agrupamento de dados em clusters;
Agrupamento (clustering) é uma classificação
não-supervisionada: não há classes pré-definidas. supervisionada: não há classes pré-definidas.
Aplicações típicas:
• Como ferramenta para análise da distribuição dos • Como ferramenta para análise da distribuição dos
dados;
Aplicações gerais do agrupamento
Aplicações gerais do agrupamento
• Reconhecimento de padrões;
• Análise de dados espaciais:
• Análise de dados espaciais:
– Criação de mapas temáticos em GIS por agrupamento de espaços de características; agrupamento de espaços de características;
– Detecção de clusters espaciais e sua explanação em data mining;
• Processamento de imagens;
• Processamento de imagens;
• Pesquisas de mercado;
• WWW:
• WWW:
– Classificação de documentos;– Agrupamento de dados de weblogs para descobrir – Agrupamento de dados de weblogs para descobrir
Exemplos de aplicações
Exemplos de aplicações
• Marketing: ajuda na descoberta de grupos distintos de clientes, e uso deste conhecimento para criar
de clientes, e uso deste conhecimento para criar campanhas dirigidas;
• Uso de terras: identificação de áreas de uso similar a partir de uma base de observação via satélite;
a partir de uma base de observação via satélite; • Seguros: identificação de grupos de assegurados
com alto custo de sinistro; com alto custo de sinistro;
• Planejamento urbano: identificação de grupos de casa de acordo com seu tipo, valor e localização geográfica;
geográfica;
• Estudos sobre terremotos: identificação de
epicentros e seu agrupamento ao longo de falhas geológicas.
O que é um bom clustering ?
O que é um bom clustering ?
• Um bom método de agrupamento (clustering)
deve produzir clusters de qualidade com: deve produzir clusters de qualidade com:
– Alta similaridade intra-classe; – Baixa similaridade inter-classes. – Baixa similaridade inter-classes.
• A qualidade do resultado de um processo de
clustering depende da medida de similaridade,
do método utilizado e de sua implementação; do método utilizado e de sua implementação;
• A qualidade um um processo de clustering
também deve ser avaliada pela sua habilidade de também deve ser avaliada pela sua habilidade de descobrir alguns ou todos os padrões
Requisitos do clustering
Requisitos do clustering
• Escalabilidade;
• Habilidade de tratar diferentes tipos de atributos; • Habilidade de tratar diferentes tipos de atributos; • Descoberta de clusters de formas arbitrárias;
• Requisitos mínimos de conhecimento de domínio • Requisitos mínimos de conhecimento de domínio
para determinar parâmetros de entrada;
• Habilidade para tratar ruído e desvios;
• Insensibilidade à ordem de entrada dos registros; • Insensibilidade à ordem de entrada dos registros; • Alta dimensionalidade;
• Incorporação de restrições específicas dos • Incorporação de restrições específicas dos
usuários;
Estruturas de dados
Estruturas de dados
1p x ... 1f x ... 11 x• Matriz de dados
– (dois modos) ip x ... if x ... i1 x ... ... ... ... ... 1p x ... 1f x ... 11 x xn1 ... xnf ... xnp ... ... ... ... ... ip if i1• Matriz de
0 d(2,1) 0• Matriz de
• dissimilaridade
– (um modo) ( ,1) ( ,2) ... 0 : : : ) 2 , 3 ( ) ... n d n d 0 d d(3,1 0 d(2,1) – (um modo) d(n,1) d(n,2) ... ... 0Medida da qualidade do cluster
Medida da qualidade do cluster
• Métrica de similaridade / dissimilaridade:
expressa em termos de função de distância
d(i, j)
expressa em termos de função de distânciad(i, j)
• Existe uma função de “qualidade” que é uma
medida da “adequação” de um cluster;
• Existem definições de funções de distância que
são diferentes para variáveis intervalares, booleanas, categóricas e proporções;
booleanas, categóricas e proporções;
• Pesos devem ser associados às variáveis
baseados na aplicação e na semântica dos dados;
dados;
• É difícil definir “suficientemente similar”, pois
Tipos de dados em clustering
Tipos de dados em clustering
• Variáveis intervalares;
• Variáveis binárias;
• Variáveis binárias;
• Variáveis nominais, ordinais, e
• Variáveis nominais, ordinais, e
proporções;
Similaridade entre objetos: distâncias
Similaridade entre objetos: distâncias
• Distância típica: de Minkowski;
q q q q j x i x j x i x j x i x j i d( , )= (| − | +| − | +...+| − | ) – Onde
i = (x
i1, x
i2, …, x
ip)
ej = (x
j1, x
j2, …, x
jp)
p p x j i x j x i x j x i x j i d( , ) (| | | | ... | | ) 2 2 1 1− + − + + − = – Ondei = (x
i1, x
i2, …, x
ip)
ej = (x
j1, x
j2, …, x
jp)
são vetores p-dimensionais e q é um inteiro positivo.Similaridade entre objetos: distâncias
Similaridade entre objetos: distâncias
• q =1: distância de Manhattan: | | ... | | | | ) , ( 2 2 1 1 xj xi xj xip xjp i x j i d = − + − + + − • q =2: distância euclidiana: ) | | ... | | | (| ) , ( 2 2 2 2 2 1 1 x j xi x j xip x jp i x j i d = − + − + + −
Principais abordagens para o
agrupamento
agrupamento
• Algoritmos de partição: construção de diversas partições e sua avaliação por algum critério;
partições e sua avaliação por algum critério; • Algoritmos hierárquicos: criação de uma
decomposição hierárquica do conjunto de dados usando algum critério;
usando algum critério;
• Algoritmos fundamentados em densidade:
utilização funções de densidade e de conectividade; utilização funções de densidade e de conectividade; • Algoritmos baseados em grades (grids): utilizam
uma estrutura de múltiplos níveis;
• Algoritmos baseados em modelos: utilizam um • Algoritmos baseados em modelos: utilizam um
modelo subjacente à cada cluster e a idéia é a de se encontrar a melhor assinalação dos objetos aos
modelos. modelos.
O método k-means (k-médias)
O método k-means (k-médias)
•
Dado k, o algoritmo k-means é
implementado em quatro passos:
implementado em quatro passos:
1. Partição dos objetos em k conjuntos não vazios; 2. Cálculo de pontos “semente” como os centróides 2. Cálculo de pontos “semente” como os centróides
(médias) dos clusters das partições correntes; 3. Assinalação de cada objeto ao cluster
3. Assinalação de cada objeto ao cluster
(centróide) mais próximo de acordo com a função de distância;
4. Retorno ao passo 2 até que não haja mais 4. Retorno ao passo 2 até que não haja mais
O método k-means
O método k-means
• Exemplo 6 7 8 9 10 6 7 8 9 10 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 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 9 10 9 10 2 3 4 5 6 7 8 2 3 4 5 6 7 8 0 1 2 0 1 2 3 4 5 6 7 8 9 10 0 1 2 0 1 2 3 4 5 6 7 8 9 10O método k-means (k-médias)
O método k-means (k-médias)
Vantagens:
• Relativamente eficiente O ( t k n) onde n é o • Relativamente eficiente O ( t k n) onde n é o
número de objetos, t é o número de iterações e k de clusters;
• Em geral determina o ótimo local: para obtenção do ótimo global usam-se outros métodos de busca,
como têmpera simulada ou algoritmos genéticos; como têmpera simulada ou algoritmos genéticos;
Deficiências:
• Como utilizar em dados categóricos;
• Necessita que se especifique o número de clusters; • Necessita que se especifique o número de clusters; • Não trata ruídos e desvios;
• Não descobre clusters de forma não-convexa. • Não descobre clusters de forma não-convexa.
O clustering hierárquico
O clustering hierárquico
• Usa a matriz de distância como critério de
agrupamento; não pré-determina o número de agrupamento; não pré-determina o número de
clusters, mas necessita critério de parada. Step 0 Step 1 Step 2 Step 3 Step 4
a a b aglomerativo b c a a b c d e a b c d e d c e d e c d e divisivo e
Step 4 Step 3 Step 2 Step 1 Step 0
O clustering hierárquico bottom-up
O clustering hierárquico bottom-up
• AGNES (Agglomerative Nesting), Kaufmann and Rousseeuw (1990);
Rousseeuw (1990);
• Agrupa (merge) nós de menor dissimilaridade, de maneira bottom-up. maneira bottom-up. 9 10 9 10 9 10 3 4 5 6 7 8 9 3 4 5 6 7 8 9 3 4 5 6 7 8 9 0 1 2 0 1 2 3 4 5 6 7 8 9 10 0 1 2 0 1 2 3 4 5 6 7 8 9 10 0 1 2 0 1 2 3 4 5 6 7 8 9 10
O clustering hierárquico top-down
O clustering hierárquico top-down
• DIANA (Divisive Analysis), Kaufmann and Rousseeuw (1990);
Rousseeuw (1990);
• Divide os nós de maior dissimilaridade, de maneira
top-down. top-down.
• Ordem inversa do AGNES.
8 9 10 9 10 8 9 10 2 3 4 5 6 7 8 2 3 4 5 6 7 8 2 3 4 5 6 7 8 0 1 0 1 2 3 4 5 6 7 8 9 10 0 1 2 0 1 2 3 4 5 6 7 8 9 10 0 1 0 1 2 3 4 5 6 7 8 9 10
O clustering hierárquico
O clustering hierárquico
Maior desvantagem dos métodos de clustering
aglomerativo:
aglomerativo:
•
Pouca escalabilidade: complexidade O(n
2),
onde n é o número de objetos;
onde n é o número de objetos;
•
Não refaz o que foi feito previamente (no
nível anterior).
Detecção de desvios (outliers)
Detecção de desvios (outliers)
•
O que são desvios ?
– Um conjunto de objetos muito diferente (dissimilar) ao restante dos dados;
•
Problema:
•
Problema:
– Determinar os n maiores desvios;
•
Aplicações:
•
Aplicações:
– Detecção de fraudes em cartões de crédito; – Detecção de fraudes telefônicas;
– Detecção de fraudes telefônicas; – Segmentação de clientes;
– Análise médica. – Análise médica.
Método estatístico
para a detecção
para a detecção
de desvios
• Assume a existência de uma distribuição para a • Assume a existência de uma distribuição para a
geração dos dados (e.g. distribuição normal); • Uso de testes de discordância dependendo da:
– Distribuição de dados; – Distribuição de dados;
– Distribuição de parâmetros (média, variância...); – Número esperado de desvios;
• Problemas: • Problemas:
– A maior parte dos testes é para um só atributo; – Em muitos casos a distribuição é desconhecida. – Em muitos casos a distribuição é desconhecida.
Método para a detecção de desvios
baseado em distâncias
baseado em distâncias
•
Introduzidos para sobrepujar as limitações
dos métodos estatísticos:
dos métodos estatísticos:
– Necessidade de análise multi-dimensional sem conhecer a distribuição dos dados.
conhecer a distribuição dos dados.
•
Detecção de desvios baseada em distâncias:
um DB(p,D)-desvio é um objeto O em um
um DB(p,D)-desvio é um objeto O em um
conjunto de dados T tal que pelo menos
uma fração p dos objetos em T está a uma
uma fração p dos objetos em T está a uma
distância maior que D de O.
•
Vários algoritmos disponíveis.
•
Vários algoritmos disponíveis.
Sumário
Sumário
• Análise de agrupamento (clustering) gera grupos de objetos com base em sua similaridade e tem
objetos com base em sua similaridade e tem inúmeras aplicações;
• A medida de similaridade pode ser calculada sobre • A medida de similaridade pode ser calculada sobre
diferentes tipos de dados;
• Há vários tipos de algoritmos de clustering: particionamento, hierárquicos, etc.
particionamento, hierárquicos, etc.
• Exemplos: k-means, clustering hierárquico;
• Detecção de desvios: é muito útil para a detecção • Detecção de desvios: é muito útil para a detecção
de fraudes e pode ser realizada por métodos estatísticos e baseados em distâncias.