Você está na página 1de 68

|  


 

  


 

 

   


= 

=  

 
= !"#$%  
$%

=   
 | &# '
=  

=  
# 
  

(
  

(
 |%


)
 *+,

 $
# | 
= % #   

Motivação

= Problema da explosão de dados


Processo de tomada de decisão exige análise de grandes massas de
dados

= Solução: Data warehousing e data mining


Data warehousing: Visão multidimensional dos dados para
processamento OLAP

Data mining: Extração de conhecimento interessante (regras, padrões,


restrições) dos dados em grandes bases de dados
O que é Data Mining ?

= Mineração de dados (descoberta de conhecimento em


bases de dados):
Extração de informação interessante (não-trivial, implícita,
previamente desconhecida e potencialmente útil) dos dados
armazenados em grandes massas de dados
= Nomes alternativos:
Descoberta (mineração) de conhecimento em banco de dados
(KDD), extração de conhecimento, análise de dados/padrões,
r  , etc.
= O que não é data mining?
Processamento de consultas dedutivo.
Sistemas especialistas ou pequenos programas estatísticos ou de
aprendizado de máquina
Aplicações em Potencial

= Análise de dados e suporte a decisões


Análise de mercado
= Marketing sob demanda, relação entre clientes, análise e segmentação de
mercado, análise cruzada de dados, etc.
Análise de risco
= Previsão, controle de qualidade, análise competitiva, análise de seguros
Detecção de fraude
= Outras Aplicações
Mineração de texto (news group, email, documentos XML e HTML)
= Web mining
Análise de Mercado (1)
= Quais são as fontes de dados para análise ?
Transações de cartões de crédito, cartões de fidelidade, cupons de
desconto, serviços de televendas, estudos de comportamento
(questionários públicos, web, etc.)
= Marketing sob demanda
Descobrir grupos de ³modelos´ de clientes que compartilham as
mesmas características: interesses, hábitos de compras, etc.
= Determinar padrões de compras no tempo
= Análise cruzada de dados
Associações/co-relações entre vendas de produtos
Previsão baseada nas associações determinadas
Análise de Mercado (2)
= | 
 

Data mining pode mostrar que tipos de clientes compram
que tipos de produtos (clustering ou classificação)

= Identificação das necessidades dos clientes


Melhores produtos para diferentes clientes
Modelos de predição para descobrir que fatores vão atrair
novos clientes

= Informações sumárias
Relatórios multidimensionais e estatísticos
Análise de risco
= Planejamento de finanças e orçamento
Análise e predição de fluxo de caixa
Análise de contingência para provisão de bens
Análise de séries temporais
= Planejamento de recursos:
Resume e compara os recursos e os gastos
= Competição:
Monitorar concorrentes e direções de mercado
Agrupar clientes em classes e elaborar métodos para
ajustar preços competitivos com os concorrentes do
mercado
Detecção de Fraude (1)
= Aplicações
Largamente usada em serviços de saúde, cartões de créditos,
telecomunicações (fraude de ligações telefônicas), etc.
= Técnicas
Dados históricos para construir modelos de comportamento
fraudulentos e usar mineração de dados para identificar instâncias
similares
= Exemplos
Seguro de automóveis: detecta um grupo de pessoas que são potenciais
coletores de sinistros
Lavagem de dinheiro: detecta transações suspeitas de dinheiro
Seguro de saúde: detecta pacientes ³profissionais´ e grupo de outores
usados para receber seguro destes pacientes
Detecção de Fraude (2)
= Detecção inapropriada de tratamento médico
Comissão de Seguro de Saúde da Austrália identificou que
em muitos casos os tratamentos não eram necessários
(economia de $1milhão/ano).
= Detecção de fraudes telefônicas
Modelo de ligações telefônicas: destino da ligação,
duração, hora do dia, dia da semana. Análise de padrões
que desviam do padrão esperado.
Outras Aplicações

= Esportes
IBM Advanced Scout analisou estatísticas de jogos da NBA (³tocos´,
assistências, falats, etc.) para melhorar índices de equipe do New
York Knicks and Miami Heat
= Bioinformática
Predição de organismos e proteínas baseado em sequência de DNA
= Internet Web Surf-Aid
IBM Surf-Aid usa algoritmos de data mining para extrair
conhecimento de logs de acesso à paginas de comércio eletrônico. Isto
permite a customizar os produtos a serem acessados pelo cliente, tipo
de publicidade exibida, melhorando a organização do site, etc.
Data Mining: Uma Etapa do Processo KDD

1 - SELEÇÃO
2 - PRÉ-PROCESSAMENTO
(Limpeza + Enriquecimento)
3 - TRANSFORMAÇÃO Conhecimento
5
4 - MINERAÇÃO
5 - INTERPRETAÇÃO 4
3
Regras e
Padrões
2
Dados
Dados Transformados
1 Pré-processados

Dados
Selecionados
Dados
Etapas do Processo KDD

= Conhecer o domínio da aplicação:


Conhecimento relevante e metas da aplicação
= Criar a base de dados alvo: seleção de dados
= Limpeza dos dados e pré-processamento: (até 60% do esforço!)
= Transformação dos dados:
Contemplar propriedades importantes e dimensões.
= Escolha das funções do data mining
sumarização, classificação, associação,   .
= Escolha dos algortimos de mineração
= Data mining: busca dos padrões de interesse
= Avaliação dos padrões descobertos e apresentação do conhecimento
visualização, transformação, remoção de padrões redundantes, etc.
= Uso do conhecimento descoberto


 -
.%%
â  
 


  
  

 



   
  
  
Visualization Techniques
     
Information Discovery   

 
 

Statistical Analysis, Querying and Reporting


 
  
OLAP, MDA 
 

Paper, Files, Information Providers, Database Systems, OLTP
Arquitetura de um Típico Sistema de
Data Mining
 
   

   

`   
  
`     
   

  
   
  

 
  

Mineração sob que tipos de dado ?
= BDs relacionais (transacionais)
= Data warehouses
= BDs avançados e repositórios de informação
BDs OO e OR
BDs espaciais
BDs temporais
BDs texto e multimídias
BDs heterogêneos e legados
WWW
Funcionalidades de um Data
Mining (1)
= Descrição conceitual: Caracterização e discriminação
Generalizar, resumir, e confrontar características dos dados,
p.ex., seco x úmido, alto x baixo
= Associação (correlação)
Ex.: uma grande loja, através da análise de suas transações
de compras, descobriu que parte significativa das compras
de homens, às sextas-feiras à noite, que incluía fraldas,
incluía também cerveja
compra(X, ³fralda´) h compra (X, ³cerveja´)
= ;support = 2%, confidence = 60%]
Funcionalidades de um Data
Mining (2)
= Classificação e Predição
Buscar modelos (funções) que descrevem e distinguem classes ou
conceitos para futuras predições
Ex: classificar países baseados no clima, ou classificar carros baseados
no consumo de combustível
Apresentação: árvores de decisão, regras de classificação, rede neural
Predição: prevê algum conhecimento não conhecido ou valor numérico
ausente
= Análise de cluster
Clustering baseado no princípio: maximizar a similaridade intra-classe
e minimizar a similaridade entre-classes
Todos os padrões descobertos são
interessantes ?
= Um sistema de mineração de dados pode gerar milhares de padrões, mas
nem todos são interessantes
Técnica sugerida: focada na percepção humana
=  â ! "    #: Um padrão é interessante se é
facilmente compreendido por humanos, válidos quando testados com
algum grau de certeza, potencialmente útil, valida algumas hipóteses que
um usuário busca confirmar
= $% &&' % &
Objetiva: baseada em estatísticas e estruturas de padrões (grau de
suporte e confiança)
Subjetiva: baseada na experiência do usuário, e.g., grau de novidade
do resultado, coerência, etc.
Data Mining: Integração de
Múltiplas Disciplinas
`   
 



 

`    ! 
 

  

 `
OLAP Mining: Integração de Data
Mining e Data Warehousing
= Acoplamento de sistemas Data mining, SGBDs e
Data warehouse
Nenhum acoplamento, fracamente acoplado, regular
acoplamento, altamente acoplado
= Mineração de dados OLAP
= Mineração de múltiplos níveis de conhecimento
interativamente
= Integração de múltiplas funções de mineração
An OLAM Architecture
  1     (/
â 0
)ââ
(+
$( $(
      $($(

 * â

(,


  

  â  


 â   
(-
      
   
   



.


Principais Técnicas em Mineração de Dados
(tipos de informações mineradas)

‡ Regras de Associação
‡ Regras de Classificação
‡ Padrões de Seqüências
‡ Agrupamento (|  )
‡ Padrões em Séries Temporais
Regras de Associação
(  r
)
Uma regra de associação representa um padrão de relacionamento
entre itens de dados do domínio da aplicação que ocorre com uma
determinada freqüência na base de dados.
‡ parte significativa das compras de homens, às sextas-feiras
à noite, que inclui fraldas, inclui também cerveja.
{fralda} $ {cerveja}
‡ o cliente que compra pão e manteiga,
80% das vezes compra leite.
{pão, manteiga} $ {leite}
‡ muitos pacientes aidético que contraem a doença
candidíase também têm pneumonia.
{candidíase} $ {pneumonia}
Regras de Associação
(  r
)
Regras de associação são extraídas a partir de bases de dados que
contêm transações - formadas por conjuntos de itens do domínio
da aplicação.
Id-Transação (TID) Itens Comprados
1 leite, pão, refrigerante
2 cerveja, carne
3 cerveja, fralda, leite, refrigerante
4 cerveja, fralda, leite, pão
5 fralda, leite, refrigerante
{fralda} $ {cerveja} confiança de 66% (suporte médio)
{fralda} $ {leite} confiança de 100% (suporte alto)
{leite} $ {fralda} confiança de 75% (suporte alto)
{carne} $ {cerveja} confiança de 100% (suporte baixo)
Regras de Classificação

Regras de classificação identificam, entre um conjunto


pré-definido de classes, aquela a qual pertence um elemento,
a partir de seus atributos.
h Minerar regras de classificação significa descobrir a
função que realiza tal mapeamento.
h Regras de classificação são extraídas a partir de uma base de
treinamento.
ID Salário Idade Tipo Emprego Classe
1 3.000 30 Autônomo B
2 4.000 35 Indústria B
3 7.000 50 Pesquisa C
4 6.000 45 Autônomo C
5 7.000 30 Pesquisa B
6 6.000 35 Indústria B
7 6.000 35 Autônomo A
8 7.000 30 Autônomo A
9 4.000 45 Indústria B
Regras de Classificação
Árvore de Decisão ou
Árvore de Classificação
ID Salário Idade Tipo Emprego Classe
1 3.000 30 Autônomo B Salário
2 4.000 35 Indústria B
3 7.000 50 Pesquisa C V 5.000 5.000
4 6.000 45 Autônomo C
5 7.000 30 Pesquisa B B Idade
6 6.000 35 Indústria B
7 6.000 35 Autônomo A V 40 40
8 7.000 30 Autônomo A
9 4.000 45 Indústria B T.Empr. C
Ind.,Pesq. Autônomo
Regras de Classificação
(Sal V 5.000) $ Classe = B B A
(Sal 50k)  (Idade 40) $ Classe = C
(Sal 50k)  (Idade V 40)  (TEmpr = Autônomo) $ Classe = A
(Sal 50k)  (Idade V 40)  ((TEmpr = Indústria)  (TEmpr = Pesquisa)) $ Classe = B
Padrões de Seqüências

Padrões de seqüências representam seqüências de conjuntos de itens


que ocorrem nas transações de diferentes consumidores, com
determinada freqüência (na ordem especificada).

Consumidor Data/Hora Produtos


João 01.08.2001/17:01 leite, pão
João 03.08.2001/14:25 carne, cerveja
João 10.08.2001/21:15 queijo, manteiga, sal
Marcos 05.08.2001/10:16 leite, ovos
Marcos 08.08.2001/18:30 queijo, manteiga

Padrão de seqüência: {(leite) (queijo, manteiga)}


h Cada transação deve ser definida por um consumidor, pelo instante
(tempo) em que ocorreu e por um conjunto de itens.
Agrupamento (|  )

Agrupamento é o resultado da identificação de um conjunto finito de


categorias (ou grupos -   ) que contêm objetos similares.
h Grupos não são previamente definidos.

Exemplo: Deseja-se separar os clientes em grupos de forma que aqueles que


apresentam o mesmo comportamento de consumo fiquem no mesmo grupo.

Consumidor Qtd.Méd.Tot.Prods. Preç.Méd.Prods.


1 2 1.700
Cada tupla deste exemplo 2 10 1.800
indica a quantidade total de 3 2 100
produtos consumidos e o 4 3 2.000
preço médio destes produtos 5 12 2.100
6 3 200
relativos a cada consumidor.
7 4 2.300
8 11 2.040
9 3 150
Agrupamento (|  )

Consumidor Qtd.Méd. Preç.Méd. Grupo Consumidor Qtd.Méd. Preç.Méd.


1 2 1.700 1 2 1.700
2 10 1.800 1 4 3 2.000
3 2 100 7 4 2.300
4 3 2.000 2 10 1.800
5 12 2.100 2 5 12 2.100
6 3 200 8 11 2.040
7 4 2.300 3 2 100
8 11 2.040 3 6 3 200
9 3 150 9 3 150

Cada grupo identificado é caracterizado por


consumidores semelhantes em relação à
quantidade média total e ao preço médio dos
produtos consumidos.
Padrões em Séries Temporais (÷  )

Séries temporais representam seqüências de valores ou de eventos


de um mesmo tipo que ocorrem ao longo de um período.

tempo
Exemplo:
O valor diário das ações de uma empresa ao longo de um
período pode caracterizar uma série temporal. A identificação de
determinados padrões no comportamento destes valores pode ser valiosa.
Regras de Associação
(suas diferentes formas)

‡ Regras de Associação Convencionais


‡ Regras de Associação em Taxonomias
‡ Regras de Associação Negativas
‡ Regras de Associação Quantitativas
Regras de Associação (Convencionais)
Uma regra de associação representa um padrão de relacionamento
entre itens de dados do domínio da aplicação que ocorre com uma
determinada freqüência na base de dados.

Seja I = {i1, i2, ..., in} o conjunto de itens do domínio da aplicação.


Uma regra de associação R definida sobre I é uma implicação da forma

*$ ƒ
onde X 8 I, Y 8 I, X , Y  e X  Y  .
X é o antecedente da regra e Y é o conseqüente.
{candidíase} $ {pneumonia}
{café, leite} $ {pão, manteiga, queijo}
A primeira regra indica, com um determinado grau de certeza, que se o
paciente contraiu candidíase, então também teve pneumonia.
Regras de Associação

Regras de associação possuem índices que indicam sua relevância e a validade.


O fator de suporte de uma regra X $ Y é definido pela porcentagem de
transações que incluem todos os itens do conjunto X ± Y.
h Representa a fração das transações que satisfazem tanto o antecedente
quanto o conseqüente da regra. O suporte de uma regra indica sua relevância.
Seja R a regra X $ Y.
Seja T o número de transações consideradas.
Seja T*± o número de transações que incluem os elementos de X ± Y.


 ".#23*  3
TID Itens Comprados Suporte({leite} $ {suco}) = 2 / 4 = 50%
101 leite, pão, suco Suporte({suco} $ {leite}) = 50%
792 leite, suco Suporte({pão} $ {suco}) = ___
1130 leite, ovos Suporte({pão} $ {ovos}) = ___
1735 pão, biscoito, café Suporte({pão,café} $ {biscoito}) = ___
Regras de Associação

O fator de confiança de uma regra X $ Y é definido pela porcentagem de


transações que incluem os itens X e Y em relação a todas que incluem os
itens de X.
h Representa o grau de satisfatibilidade do conseqüente, em relação às
transações que incluem o antecedente. A confiança indica a validade da regra.
Seja R a regra X $ Y.
Seja T* o número de transações que incluem os elementos de X.
Seja T*± o número de transações que incluem os elementos de X ± Y.

*
0 4".#23*  3*
Id-T. Itens Comprados Confiança({leite} $ {suco}) = 2 / 3 = 67%
101 leite, pão, suco Confiança({suco} $ {leite}) = 2 / 2 = 100%
792 leite, suco Confiança({pão} $ {suco}) = ___
1130 leite, ovos Confiança({pão} $ {ovos}) = ___
1735 pão, biscoito, café Confiança({pão,café} $ {biscoito}) = ___
Mineração de Regras de Associação

h Entrada:
· Base de dados de transações;
· Suporte mínimo;
· Confiança mínima.

h Saída:
· Todas as regras de associação que possuem
suporte e confiança maiores ou iguais ao
suporte e à confiança mínimos.
Regras de Associação em Taxonomias
Suponha que os itens de dados do domínio da aplicação estejam
organizados em taxonomias que os classificam.
oenças portunistas

acterianas iróticas ível 1

Tipo1 Tipo2 Tipo3 ível 2

( icobacteriose (Salmonelose) ( eningite ( stomatite ( erpes (Sarcoma ível 3


isseminada) acteriana) erpética) Zoster) de aposi)

Taxonomia: grafo direcionado acíclico.


Uma aresta (x,y) indica que y é um elemento do tipo x (ou da classe x).
Um caminho entre x e z indica, por transitividade, que z é do tipo x.
Regras de Associação em Taxonomias
roupa calçado

camisa calça calçado-social tênis

jeans calça-social sandália sapato

É possível que as duas regras a seguir não tenham o suporte desejado.


{calça-social} $ {sandália}
{calça-social} $ {sapato}
Porém, a regra envolvendo a generalização calçado-social pode ser relevante.
{calça-social} $ {calçado-social}
h Uma regra entre taxonomias pode relacionar itens de diferentes níveis.
h Em muitas aplicações que envolvem taxonomias, as folhas são os
produtos com suas marcas.
Regras de Associação em Taxonomias

Seja I = {i1, i2, ..., in} o conjunto de itens do domínio da aplicação.


Seja G um grafo direcionado acíclico sobre I, representando um conjunto
de taxonomias.
Uma regra de associação em taxonomias R definida sobre I e G é uma
implicação da forma
*$ ƒ
onde X 8 I, Y 8 I, X , Y , X  Y   e nenhum item
em Y é ancestral de algum item em X.
Esta última restrição evita regras do tipo {calça-social} $ {calça}.

h Os conceitos de suporte e confiança se aplicam como nas


regras convencionais.
Mineração de Regras em Taxonomias
h Entrada:
· Base de dados de transações;
· Um conjunto de taxonomias;
· Suporte mínimo;
· Confiança mínima.

h Saída:
· Todas as regras de associação em taxonomias
que possuem suporte e confiança maiores
ou iguais ao suporte e à confiança mínimos.
Regras de Associação Negativas

Uma regra de associação negativa indica, com certo grau de certeza,


que determinados itens não ocorrem quando outros específicos estão
presentes nas transações.

Seja I = {i1, i2, ..., in} o conjunto de itens do domínio da aplicação.


Uma regra de associação negativa R definida sobre I é uma
implicação da forma
*$ ðƒ

onde X 8 I, Y 8 I, X , Y  e X  Y  .

{Meningite} $ ¬{Sarcoma}

Esta regra indica, com um determinado grau de certeza, que pacientes que
adquiriram meningite bacteriana não contraíram sarcoma de Kaposi.
Regras de Associação Negativas
h Simplesmente estender as transações, representando a ausência de um
item pela sua forma negativa, pode não ser uma boa abordagem.
h Um número muito grande de regras negativas com pouca importância
poderia ser gerado.
TID Itens
1 A, B, E ¬C, ¬D, ¬F, ¬G, ¬H
2 A, B, C, D ¬E, ¬F, ¬G, ¬H
3 B, E ¬A, ¬C, ¬D, ¬F, ¬G, ¬H
4 A, B, G ¬C, ¬D, ¬E, ¬F, ¬H
5 B, H ¬A, ¬C, ¬D, ¬E, ¬F, ¬G
suporte mínimo: 40 % confiança mínima: 70 %
{A} $ {B} e {E} $ {B}
Outras regras: Ñ5$ ðÑ5 {B} $ ð{C} {E} $ ð{C}
{A} $ ð{H} {B} $ ð{D} {E} $ ð{D}
Ñ5$ ðÑ5 Ñ5$ ðÑ5
Ñ5$ ðÑ5 {E} $ ð{G}
{B} $ ð{G} {E} $ ð{H}
{B} $ ð{H}
Regras de Associação Negativas
h Foi proposto então que a regra X $Y deve ser extraída de uma base de
dados de transações se a presença do itens de Y nas transações, em relação
aos itens de X, estiver bem abaixo de uma determinada expectativa.
batata-frita refrigerante

BF Ruffles Coca Pepsi

h A partir de uma base de dados de transações, foi extraída


a regra {Ruffles} $ {Coca}.
h Dado que Coca e Pepsi são da mesma classe, há uma expectativa que
estes produtos tenham relacionamentos semelhantes com os demais.
h A regra negativa {Ruffles} $ ¬{Pepsi} será inferida se a regra
{Ruffles} $ {Pepsi} possuir suporte (relativamente) inferior ao da
regra {Ruffles} $ {Coca}.
Regras de Associação Negativas

h A medida de interesse (MI) de uma regra negativa R = X $Y é


definida por:
MI(R) = ( SupEsp(XY) - Sup(XY) ) / Sup(X)
SupEsp(A) representa o suporte esperado do conjunto A.

h O suporte esperado é definido a partir de taxonomias. Um exemplo:

batata-frita refrigerante

BF Ruffles Coca Pepsi

SupEsp(Ruffles,Pepsi) = Sup(Ruffles,Coca) * ( Sup(Pepsi) / Sup(Coca) )


Mineração de Regras Negativas
h Entrada:
· Base de dados de transações;
· Um conjunto de taxonomias;
· Suporte mínimo;
· Medida mínima de interesse.

h Saída:
· Todas as regras de associação negativas
que possuem suporte e interesse maiores
ou iguais ao suporte e ao interesse mínimos.
Regras de Associação Quantitativas

Regras de associação quantitativas são utilizadas quando se deseja minerar


padrões em bases de dados relacionais (formadas por atributos quantitativos
e atributos categóricos).
Atributos Categóricos Atributos Quantitativos

Id Sexo Profissão Salário Idade ...

Exemplo (base de dados sobre a AIDS):


(sexo=³M´)  (20VidadeV30)  (opção-sex=³heterossex´) $ (usuário-drogas=³S´)

h Esta regra hipotética indica, com certo grau de certeza, que pacientes aidéticos
heterossexuais, entre 20 e 30 anos, do sexo masculino são usuários de drogas.
Regras de Associação Quantitativas

Seja D uma base de dados relacional.


Uma regra de associação quantitativa R definida sobre D é uma
implicação da forma
*-  *,  '''  * $ ƒ-  ƒ,  ''' ƒ
onde n˜1, m˜1, Xi (1V i V n) e Yj (1V j V m) são condições definidas sobre
atributos distintos de D.
(sexo=³M´)  (20VidadeV30)  (opção-sex=³heterossex´) $ (usuário-drogas=³S´)

h Os conceitos de suporte e confiança se aplicam como nas


regras convencionais.
‡ O fator de suporte representa a porcentagem de registros de D que satisfazem
todas as condições Xi (1ViVn) e Yj (1VjVm).
‡ O fator de confiança representa, dentre os registros de D que satisfazem
as condições Xi (1ViVn), a porcentagem dos registros que satisfazem Yj (1VjVm).
Mineração de Regras Quantitativas

h Entrada:
· Base de dados relacional;
· Suporte mínimo;
· Confiança mínima.

h Saída:
· Todas as regras quantitativas que possuem
suporte e confiança maiores ou iguais ao
suporte e à confiança mínimos.
Algoritmos de Mineração
(de Regras de Associação)

‡ i 

‡  

Mineração de Regras de Associação
(convencionais)
h Entrada:
· Base de dados de transações;
· Suporte mínimo (SupMin);
· Confiança mínima (ConfMin).

h Saída:
· Todas as regras de associação que possuem
suporte e confiança maiores ou iguais a
SupMin e ConfMin, respectivamente.
Mineração de Regras de Associação
h Recorde que:
Se Sup(X$Y) ˜ SupMin então os itens de XY aparecem com
freqüência desejada nas transações da base de dados.

h Dizemos então que:


O conjunto de itens = XY possui suporte mínimo e é chamado
um conjunto freqüente.

h Desta forma, podemos dividir o problema de minerar regras de


associação em duas fases.

Fase 1: Encontrar cada conjunto freqüente (Sup( ) ˜ SupMin);


Fase 2: Para cada conjunto freqüente , identificar seus possíveis
subconjuntos X e Y, de tal forma que:
= XY e Conf(X$Y) ˜ ConfMin
(neste caso, X$Y será uma regra de interesse).
Mineração de Regras de Associação

Fase 1: Encontrar cada conjunto freqüente (Sup( ) ˜ SupMin);


Fase 2: Para cada conjunto freqüente (de tamanho maior ou igual a 2),
identificar seus possíveis subconjuntos X e Y, de tal forma que:
= XY e Conf(X$Y) ˜ ConfMin.

Fase 1: Identificação dos conjuntos freqüentes.


h É a fase computacionalmente cara.
h Para um conjunto de itens de tamanho n, existem
2n possíveis subconjuntos freqüentes.
h Algoritmos propostos para esta fase:
- i 

-  

Fase 2: Identificação das regras a partir dos conjuntos freqüentes.
Estratégia i 


O algoritmo i 
 considera as seguintes propriedades com o
objetivo de diminuir o espaço de busca, ou seja, evitar que todos os
2n subconjuntos sejam avaliados.

h Todo subconjunto de um conjunto freqüente é freqüente.


(Se {A,B,C} é freqüente, então {A,B} é freqüente.)

h Pela contra-positiva: Todo conjunto que contém um


subconjunto não freqüente também não é freqüente.
(Se {A,B} não é freqüente, então {A,B,C} não é freqüente.)
Estratégia i 


‡ Calcular o suporte de todos os conjuntos de tamanho 1 e, em seguida,


eliminar aqueles que não possuem o suporte mínimo.

‡ Formar todos os possíveis conjuntos de tamanho 2 a partir daqueles


de tamanho 1 resultantes do passo anterior. Em seguida, eliminar os novos
conjuntos que não possuem o suporte mínimo.

‡ Repetir o procedimento anterior até que, no k-ésimo passo, nenhum


novo conjunto de tamanho k, obtido a partir dos conjuntos de tamanho k-1,
tenha o valor de suporte mínimo.
Estratégia i 

TID Itens Comprados Considerar SupMin = 50% (2 tuplas)
101 leite, pão, suco
792 leite, suco
1130 leite, pão, ovos
1735 pão, biscoito, café

Sup({leite}) = 3 Sup({leite, pão}) = 2 Sup({leite, pão, suco}) = 1


Sup({pão}) = 3 Sup({leite, suco}) = 2
Sup({suco}) = 2 Sup({pão, suco}) = 1
Sup({ovos}) = 1
Sup({biscoito}) = 1
Sup({café}) = 1
Freqüentes: Freqüentes: Freqüentes:
{leite} {leite, pão} -----
{pão} {leite, suco}
{suco}
Estratégia i 


1.  = conjuntos freqüentes de tamanho 1;


2. = 1/
3.  1 
(  0 ) 04
4. = + 1;
5. Gerar | (todos os candidatos de tamanho ) a partir de  ;
6.  transação  pertencente a base de dados 04
7.  candidato em | 04
8.  todos os itens do candidato pertencem a   6

9. Incrementar o contador associado ao candidato;


10.  = todos os candidatos pertencentes a | com
suporte mínimo maior ou igual a *$ ;
11. 0  1 
;
12. Resposta = união de todos os conjuntos ;
Observe que, em cada uma das  iterações, o algoritmo i 
 percorre toda a base de dados.
Gerar Ck (todos os candidatos de tamanho k) a partir de Fk-1;

A estratégia de geração de Ck a partir de Fk-1 também considera a propriedade


de que todo subconjunto de um conjunto freqüente é freqüente. Desta forma,
diminui a quantidade de candidatos gerados, eliminando alguns que são
garantidamente não freqüentes.

h Considere que, dentro de cada conjunto, os itens estejam ordenados.


Então, o conjunto {a1, a2, ..., ak-2, ak-1, ak} só será gerado em Ck se os
subconjuntos {a1, a2, ..., ak-2, ak-1} e {a1, a2, ..., ak-2, ak} pertencerem a Fk-1.
(O conjunto {1,2,3,4} só poderá ser gerado se {1,2,3} e {1,2,4}
forem freqüentes.)

h Se {a1, a2, ..., ak-2, a k-1, ak} for gerado em Ck, será podado se possuir
algum subconjunto que não seja freqüente.
(O conjunto candidato {1,2,3,4} será eliminado de C4 se, por exemplo,
{2,3,4} não for um conjunto freqüente.)
Gerar Ck (todos os candidatos de tamanho k) a partir de Fk-1;

A estratégia de geração de Ck a partir de Fk-1 divide-se então em duas fases:


junção e poda.

Junção: Para cada dois conjuntos {a1, a2, ..., ak-1} e {b1, b2, ..., bk-1} de Fk-1:
Se (a1= b1)  (a2= b2)  ...  (ak-2= bk-2)  (ak-1 bk-1) então
gere o candidato {a1, a2, ..., ak-1, bk-1} em Ck.

( Se {1,2,3} e {1,2,4} são conjuntos de F3, então gerar {1,2,3,4} em C4.)

Poda: Para cada conjunto de Ck, eliminar aqueles que possuem um


subconjunto não freqüente.
(O conjunto candidato {1,2,3,4} será eliminado de C4 se, por exemplo,
{2,3,4} não for um conjunto freqüente.)
Gerar Ck (todos os candidatos de tamanho ) a partir de Fk-1;

F3 Junção C4 Poda C4 (podado)


{A,B,C} $ {A,B,C,D} $ {A,B,C,D}
{A,B,D} {B,C,D,E}
{A,C,D}
{B,C,D}
{B,C,E}
Exemplo
Database D  
   
÷  |  
  
   
   Scan D    
    
   

   
| m   | m 
 m     Scan D 
       
   
  

    



 

 
 
 
   

| m  Scan D  m  

  
Estratégia  


O algoritmo  
 considera a seguinte propriedade com o objetivo
de diminuir o número de leituras a toda a base de dados.

h Considere a base de dados de transações dividida em n partições.


Se um conjunto F é freqüente em relação a toda a base de dados
(freqüência global), então F é freqüente em relação a pelo menos
uma partição (freqüência local), ou seja, possui suporte maior
ou igual ao mínimo dentro desta partição.

50%
Estratégia  


A estratégia  
 é dividida em duas fases: na primeira, são gerados os
conjuntos candidatos e, na segunda, dentre estes são identificados os freqüentes.
Em cada fase é realizada (apenas) uma leitura em toda a base de dados.

Fase I:
h A base de dados é dividida em partições que caibam na memória
principal. Para cada partição, são gerados os conjuntos freqüentes locais,
utilizando-se as idéias da estratégia i 
.
h Desta forma, em um único acesso a toda a base de dados, os conjuntos
freqüentes locais de cada partição são gerados. Estes conjuntos são
os candidatos a freqüentes globais.
Fase II:
h Todas as transações da base de dados são percorridas para verificar
quais freqüentes locais (candidatos globais) são freqüentes globais.
Estratégias i 
 e  


h Na estratégia  
, a base de dados é lida apenas duas vezes.
Na estratégia i 
, a base de dados é lida em cada uma das k iterações.

h Se, por um lado, a estratégia i 


 realiza um número maior de
leituras à base de dados, estas várias leituras permitem que, dentre os
conjuntos candidatos, apenas os freqüentes passem à iteração seguinte.

h Na estratégia  
, passam para a última fase e devem ser
processados todos os freqüentes locais (candidatos globais), identificados
em cada partição. Este fato, dependendo do número de candidatos gerados
que não são de fato freqüentes, pode comprometer o desempenho
deste algoritmo.
Ferramentas de Mineração de Dados
(com Regras de Associação)

h Intelligent Miner (IBM)


http://www.software.ibm.com/data/intelli-mine
h Clementine (Integral Solutions Ltd.)
http://www.isl.co.uk/clem.html
h DBMiner (SFU)
http://db.cs.sfu.ca/dbminer
h Enterprise Miner (SAS)
http://www.sas.com
h MineSet (Silicon Graphics)
http://www.sgi.com
h Management Discovery Tool - MDT (NCR)
h WizRule (WizSoft)
Aspectos de pesquisa em Data
Mining (1)
= Metodologia de mineração e interação com o usuário
Mineração de diferentes tipos de conhecimento em BDs
Incorporação do conhecimento do usuário
Linguagens de consulta para mineração de dados
Visualização dos resultados de mineração
Tratando ruídos e dados incompletos
Avaliação de padrões: o problema da interessância
= Desempenho e escalabilidade
Eficiência e escalabilidade de algoritmos de mineração
Métodos de mineração paralelos e distribuídos
Aspectos de pesquisa em Data
Mining (2)
= Diversidade de tipos de dados
Tipos de dados relacionais e outros mais complexos
Minerando informações de sistemas heterogêneos e da Web
= Aplicações e impactos sociais
Aplicar o conhecimento descoberto
= Ferramentas de domínio específico
= Processamento inteligente de consultas
= Ferramentas de suporte à decisão
Integração do conhecimento descoberto com o conhecimento existente: o
problema da fusão do conhecimento
Valor agregado da informação descoberta
= Segurança, privacidade
Alguns Livros da Área

Enfoque Acadêmico:

ö Advances in Knowledge Discovery and Data Mining


U.M.Fayyad, G.P-Shapiro, P.Smyth, and R.Uthurusamy
AAAI Press / The MIT Press, 1996

ö Data Mining
Nelson F. F. Ebecken - WIT Press, 1998

ö Advances in Distributed and Parallel Knowledge Discovery


Hillol Kargupta, Philip Chan - AAAI Press / The MIT Press, 2000

ö Large-Scale Parallel Data Mining


M.J. aki - IBM Research Center, USA, 2000
Alguns Livros da Área
Enfoque Prático/Comercial:

ö Data Mining Techniques ± For Marketing, Sales, and Customer Support


Michael J.A. Berry, Gordon Linoff - Wiley Computer Publishing, 1997

ö Discovering Data Mining: From Concepts to Implementation


Peter Cabena, Pablo Hadjinian, Rolf Stadler, Jaap Verhees,
Alessandro anasi, Prentice Hall, 1998

ö Data Mining: Concepts and Techniques


Jiawei Han, Micheline Kamber - Morgan Kaufmann Publishers, 2000

ö Data Mining: Practical Machine Learning Tools and Techniques


with Java Impelemnetations
Ian H. Witten, Eibe Frank - Morgan Kaufmann Publishers, 2000