Title: Data Mining: Conceitos e Tйcnicas
1Data Mining Conceitos e Técnicas
2Algumas técnicas para Data Mining
- Geração de regras de associação
- Classificação e predição
- Agrupamento (clustering).
3Data Mining Regras de Associação
4Regras de associação
- Mineração de associações ou de regras de
associação - 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 de informações. - Aplicações
- Análise de cestas de dados (basket data),
marketing cruzado, projeto de catálogos,
agrupamento, etc.
5Regras de associação
- Exemplo
- Formato da regra
- corpo gt cabeça suporte, confiança
- compra(X, fraldas) gt compra (X, cerveja)
0.5, 60
6Regras de associação
- Dados
- Uma DB da transações
- Cada transação constituída de uma lista de itens
(compras de um cliente) - Encontrar
- Todas as regras que correlacionam a presença de
um conjunto de itens com outro conjunto de itens. - Exemplo 98 das pessoas que compram pneus e
assessórios também compram sua instalação.
7Regras de associação
- Aplicações
- gt contratos de manutenção (o que fazer para
aumentar as vendas de contratos de manutenção) - Eletrônicos gt (que outros produtos devem ser
estocados) - Indicativos em marketing direto
- Detecção de ping-pong de pacientes, colisões...
8Regras de associação
Customer buys both
- Encontrar regras X Y ? Z com suporte e
confiança mínimos - Suporte, s, é a probabilidade de 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 diaper
Customer buys beer
- Para um suporte mínimo de 50, e confiança mínima
de 50, tem-se - A ? C (50, 66.6)
- C ? A (50, 100)
9Regras de associação
- Associações booleanas x quantitativas conforme
os valores manuseados - compra(X, SQLServer) compra(X, DMBook) gt
compra(X, DBMiner) 0.2, 60 - idade(Y, 30..39) renda(Y, 42..48K) gt
compra(Y, PC) 1, 75 - Associações uni e multi dimensionais
- Análises uni e multi-níveis
- Que marcas de cervejas estão associadas a marcas
de fraldas ?
10Regras de associação
- Varias extensões
- Correlação, análise causal
- Associação não necessariamente implica em
correlação ou causalidade - Padrões maximais e conjuntos fechados de itens
- Restrições forçadas
- E.g., pequenas vendas (valor lt 100) disparam
grandes vendas (valor gt 1000)?
11Regras de associação
- Algoritmo utilizado
- APRIORI
- Princípio todo subconjunto de um conjunto
freqüente de itens deve ser freqüente - Várias otimizações para melhoria da performance
computacional.
12Regras de associação - exemplo
Database D
L1
C1
Scan D
C2
C2
L2
Scan D
L3
C3
Scan D
13Regras de associação
- Regras de associação multi-níveis
- Pressupõe uma hierarquia
- Abordagem top-down progressiva
- Inicialmente encontrar as regras fortes de
alto nível - Leite gt pão 20, 60
- Em seguida, regras fracas de mais baixo nível
- 2 leite gt pão branco 6, 50
14Sumário
- Mineração de regras de associação
- Provavelmente a contribuição mais significativa
da 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.
15Aprendizagem supervisionada e não supervisionada
- Aprendizagem supervisionada (classificação)
- Supervisão O conjunto de treinamento
(observações, medições, etc.) é acompanhado dos
rótulos indicativos das classes das observações - Novos dados são classificados com base na
estrutura gerada a partir do conjunto de
treinamento
16Aprendizagem supervisionada e não supervisionada
- Aprendizagem não supervisionada (agrupamento
clustering) - Os rótulos das classes no conjunto de treinamento
são desconhecidos - Dado um conjunto de medidas, observações, etc. o
objetivo é estabelecer a existência de classes ou
grupos nos dados.
17Data Mining Classificação e Predição
18Classificação e Prediçã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
(rótulos) do atributo classificador, de forma a
determinar a classe dos novos dados - Predição
- Modela funções sobre valores contínuos, i.e.,
prediz valores desconhecidos ou perdidos - Aplicações típicas
- Aprovação de crédito, marketing dirigido,
diagnóstico médico ...
19Classificação um processo de dois passos
- Construção do modelo
- Descrição de um conjunto de um conjunto de
classes pré-determinadas - 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
modelo é o conjunto de treinamento - O modelo pode ser representado por regras de
classificação, árvores de decisão ou fórmulas
matemáticas
20Classificação um processo de dois passos
- Uso do modelo
- Para a classificação futura ou de elementos
desconhecidos - Correção estimada do modelo
- Uso de conjunto de teste
- O rótulo conhecido é comparado ao rótulo
fornecido pelo modelo - O conjunto de teste deve ser diferente do
conjunto de treinamento, de forma a evitar
overfitting.
21Classificação passo 1
Classification Algorithms
IF rank professor OR years gt 6 THEN tenured
yes
22Classificação passo 2
(Jeff, Professor, 4)
Tenured?
23Preparação do dados
- Limpeza dos dados
- Pré-processamento dos dados para reduzir o ruído
e tratar valores desconhecidos - Análise de relevância (seleção de
características) - Remoção de atributos irrelevantes ou redundantes
- Transformação de dados
- Generalização e normalização dos dados.
24Avaliação da classificação
- Correção preditiva
- Performance e escalabilidade
- Construção do modelo e seu uso
- Robustez
- Manuseio de dados ruidosos e incompletos
- Interpretabilidade
- Compreensão oferecida pelo modelo
- Utilidade das regras
- Tamanho, facilidade de leitura, etc.
25Árvores de decisão
26Classificação por árvore de decisão
- Árvores de decisão
- Estrutura do tipo fluxograma
- Nós internos denotam testes em atributos
- Ramos representam saídas dos testes
- Nós folha representam rótulos de classe.
27Classificação por árvore de decisão
- Construção da árvore
- No início, todos os exemplos de treinamento são
associados à raiz - Os exemplos são particionados com base nos
atributos selecionados - Poda da árvore ramos que refletem desvios e/ou
ruído são eliminados - Uso da árvore de decisão
- Os valores dos atributos do novo exemplo são
testados diretamente na árvore atingindo o nó
folha da classe correspondente.
28Exemplo árvore de decisão
ExemploID3 de Quinlan
29Exemplo árvore de decisão
age?
lt30
overcast
gt40
30..40
student?
credit rating?
yes
no
yes
fair
excellent
no
no
yes
yes
Buys computer ?
30Exemplo árvore de decisão
- Ordem dos atributos ganho de informação (página
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
usuários - IF age lt30 AND student no
- THEN buys_computer no
- IF age gt40 AND credit_rating excellent
- THEN buys_computer yes
31Classificador Bayesiano
32Classificador bayesiano
- Aprendizagem probabilista cálculo da
probabilidade explícita da hipótese, de ampla
aplicação em vários domínios - Incremental
- cada exemplo de treinamento pode aumentar /
diminuir a probabilidade da hipótese - Conhecimento a priori pode ser combinado com os
dados observados - 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.
33Classificador bayesiano
- Fundamento Teorema de Bayes
- Dado um conjunto de treinamento D, a
probabilidade a posteriori de uma hipótese h,
P(hD) é dada por - A probabilidade máxima a posteriori MAP é
- Dificuldade prática requer conhecimento inicial
de muitas probabilidades, custo computacional
elevado - Simplificação independência dos atributos.
34Exemplo jogar ou não tênis ?
35Exemplo jogar ou não tênis ?
- Um novo exemplo X ltrain, hot, high, falsegt
- P(Xp)P(p) P(rainp)P(hotp)P(highp)P(fals
ep)P(p) 3/92/93/96/99/14 0.010582 - P(Xn)P(n) P(rainn)P(hotn)P(highn)P(fals
en)P(n) 2/52/54/52/55/14 0.018286 - O exemplo X é classificado como da classe n (não
jogar).
36 37Redes Neurais
- Vantagens
- Correção de predição em geral elevada
- Robustez, bom funcionamento na presença de
ruídos - Saídas discretas, reais, ou mistas
- 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.
38Um neurônio
- Um vetor n-dimensional x de entrada é mapeado em
uma variável y por meio de um produto escalar e
de um mapeamento não-linear.
39Rede perceptron multi-camadas
Output vector
Output nodes
Hidden nodes
wij
Input nodes
Input vector xi
40Rede perceptron multi-camadas
- Treinamento
- 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
- Para cada unidade
- Computar a entrada da rede à unidade como
combinação linear das entradas da unidade - Computar a saída em função dos pesos e da função
de ativação - Calcular o erro
- Modificar os pesos e recomputar.
41Aprendizagem baseada em instânciasK-vizinhos
mais próximos
42K-vizinhos mais próximos
- Aprendizagem baseada em instâncias (IBL)
- Armazenamento dos exemplos de treinamento
(avaliação preguiçosa lazy evaluation) até
que a nova instância deva ser classificada - K-vizinhos mais próximos
- Algoritmo mais utilizado em IBL
- As instâncias são associadas a pontos no espaço
euclidiano - Métrica de distância para selecionar os vizinhos.
43K-vizinhos mais próximos (k-NN)
- Todas as instâncias correspondem a pontos no
espaço n- dimensional - Os vizinhos mais próximos são usualmente
definidos em função da distância euclidiana - A função objetivo (classe) pode ser discreta ou
real - Para os casos discretos o k-NN retorna a classe
mais comum entre as classes dos k vizinhos mais
próximos à nova instância
44K-vizinhos mais próximos (k-NN)
- Diagrama de Voronoi descreve a superfície de
decisão induzida - No exemplo a seguir, um caso típico para 1-NN
.
_
_
_
.
_
.
.
.
_
xq
.
_
45Predição
- Similar à classificação no caso em que o atributo
classe é contínuo - Etapas
- Construção do modelo
- Uso do modelo para predizer um valor
desconhecido - O método mais utilizado é a regressão
- Regressão linear e múltipla
- Regressão não-linear.
46Sumário
- Classificação é provavelmente uma das técnicas
mais utilizadas de data mining, com muitas
possibilidades de aplicação - É 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 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.
47Data Mining Agrupamento (clustering)
48Agrupamento (clustering)
- Cluster uma coleção de objetos de dados
- Similares entre si no mesmo cluster
- Não similares aos objetos fora do respectivo
cluster - Análise de clusters
- Agrupamento de dados em clusters
- Agrupamento (clustering) é uma classificação
não-supervisionada não há classes pré-definidas. - Aplicações típicas
- Como ferramenta para análise da distribuição dos
dados - Como pré-processamento para outros métodos.
49Aplicações gerais do agrupamento
- Reconhecimento de padrões
- Análise de dados espaciais
- Criação de mapas temáticos em GIS por agrupamento
de espaços de características - Detecção de clusters espaciais e sua explanação
em data mining - Processamento de imagens
- Pesquisas de mercado
- WWW
- Classificação de documentos
- Agrupamento de dados de weblogs para descobrir
padrões similares de acesso
50Exemplos de aplicações
- Marketing ajuda na descoberta de grupos
distintos 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 - Seguros identificação de grupos de assegurados
com alto custo de sinistro - Planejamento urbano identificação de grupos de
casa de acordo com seu tipo, valor e localização
geográfica - Estudos sobre terremotos identificação de
epicentros e seu agrupamento ao longo de falhas
geológicas.
51O que é um bom clustering ?
- Um bom método de agrupamento (clustering) deve
produzir clusters de qualidade com - Alta similaridade intra-classe
- 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 - A qualidade um um processo de clustering também
deve ser avaliada pela sua habilidade de
descobrir alguns ou todos os padrões escondidos
(hidden patterns).
52Requisitos do clustering
- Escalabilidade
- Habilidade de tratar diferentes tipos de
atributos - Descoberta de clusters de formas arbitrárias
- 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
- Alta dimensionalidade
- Incorporação de restrições específicas dos
usuários - Interpretabilidade e utilidade.
53Estruturas de dados
- Matriz de dados
- (dois modos)
- Matriz de
- dissimilaridade
- (um modo)
54Medida da qualidade do cluster
- Métrica de similaridade / dissimilaridade
expressa em termos de função de distância d(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 - Pesos devem ser associados às variáveis baseados
na aplicação e na semântica dos dados - É difícil definir suficientemente similar, pois
tipicamente esta avaliação é subjetiva.
55Tipos de dados em clustering
- Variáveis intervalares
- Variáveis binárias
- Variáveis nominais, ordinais, e proporções
- Variáveis de tipo misto.
56Similaridade entre objetos distâncias
- Distância típica de Minkowski
- Onde i (xi1, xi2, , xip) e j (xj1, xj2, ,
xjp) são vetores p-dimensionais e q é um inteiro
positivo.
57Similaridade entre objetos distâncias
- q 1 distância de Manhattan
- q 2 distância euclidiana
58Principais abordagens para o agrupamento
- Algoritmos de partição construção de diversas
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 - Algoritmos fundamentados em densidade 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
modelo subjacente à cada cluster e a idéia é a de
se encontrar a melhor assinalação dos objetos aos
modelos.
59O método k-means (k-médias)
- Dado k, o algoritmo k-means é implementado em
quatro passos - Partição dos objetos em k conjuntos não vazios
- Cálculo de pontos semente como os centróides
(médias) dos clusters das partições correntes - Assinalação de cada objeto ao cluster (centróide)
mais próximo de acordo com a função de distância - Retorno ao passo 2 até que não haja mais
alterações de assinalação.
60O método k-means
61O método k-means (k-médias)
- Vantagens
- 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 - Deficiências
- Como utilizar em dados categóricos
- 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.
62O clustering hierárquico
- Usa a matriz de distância como critério de
agrupamento não pré-determina o número de
clusters, mas necessita critério de parada.
63O clustering hierárquico bottom-up
- AGNES (Agglomerative Nesting), Kaufmann and
Rousseeuw (1990) - Agrupa (merge) nós de menor dissimilaridade, de
maneira bottom-up.
64O clustering hierárquico top-down
- DIANA (Divisive Analysis), Kaufmann and Rousseeuw
(1990) - Divide os nós de maior dissimilaridade, de
maneira top-down. - Ordem inversa do AGNES.
65O clustering hierárquico
- Maior desvantagem dos métodos de clustering
aglomerativo - Pouca escalabilidade complexidade O(n2), onde n
é o número de objetos - Não refaz o que foi feito previamente (no nível
anterior).
66Detecção de desvios (outliers)
- O que são desvios ?
- Um conjunto de objetos muito diferente
(dissimilar) ao restante dos dados - Problema
- Determinar os n maiores desvios
- Aplicações
- Detecção de fraudes em cartões de crédito
- Detecção de fraudes telefônicas
- Segmentação de clientes
- Análise médica.
67Método estatístico para a detecção de desvios
- 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 parâmetros (média, variância...)
- Número esperado de desvios
- Problemas
- A maior parte dos testes é para um só atributo
- Em muitos casos a distribuição é desconhecida.
68Método para a detecção de desvios baseado em
distâncias
- Introduzidos para sobrepujar as limitações dos
métodos estatísticos - Necessidade de análise multi-dimensional sem
conhecer a distribuição dos dados. - Detecção de desvios baseada em distâncias 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 distância maior que D de
O. - Vários algoritmos disponíveis.
69Sumário
- Análise de agrupamento (clustering) gera grupos
de objetos com base em sua similaridade e tem
inúmeras aplicações - A medida de similaridade pode ser calculada sobre
diferentes tipos de dados - Há vários tipos de algoritmos de clustering
particionamento, hierárquicos, etc. - Exemplos k-means, clustering hierárquico
- 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.
70Avaliação
- Estudo de caso (equipes até 5)
- Relatório escrito de procedimento de data-mining
- Descrição do problema alvo
- Objetivos da tarefa, caracterização
- Indicativos do pré-processamento
71Avaliação
- Criação de base de teste
- Aplicação do algoritmo selecionado na base
- Avaliação dos resultados
- Conclusões sobre o trabalho.