68
Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor [email protected]

Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor [email protected]

Embed Size (px)

Citation preview

Page 1: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Conceitos e Técnicas de Mineração de Dados (Data Mining)

André O. [email protected]

Page 2: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Agenda Motivações O que é Data Mining ? Exemplo de aplicações Descoberta de Conhecimento (KDD) Arquitetura Técnicas em Mineração de Dados

Regras de Associação Regras de Classificação Padrões de Seqüências Agrupamento (Clustering)

Algoritmos de Mineração

Page 3: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 4: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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, business intelligence, etc.

O que não é data mining? Processamento de consultas dedutivo. Sistemas especialistas ou pequenos programas estatísticos ou de

aprendizado de máquina

Page 5: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 6: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 7: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Análise de Mercado (2) Customer profiling

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

Page 8: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 9: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 10: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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.

Page 11: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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.

Page 12: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Data Mining: Uma Etapa do Processo KDD

Dados

Conhecimento

DadosPré-processados

DadosTransformados

Regras ePadrões

DadosSelecionados

1

1 - SELEÇÃO

2 - PRÉ-PROCESSAMENTO(Limpeza + Enriquecimento)

3 - TRANSFORMAÇÃO

4 - MINERAÇÃO

5 - INTERPRETAÇÃO

2

3

4

5

Page 13: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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, clustering. 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

Page 14: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Data Mining e Business Intelligence

Increasing potentialto supportbusiness decisions

End User

Business Analyst

DataAnalyst

DBA

MakingDecisions

Data PresentationVisualization Techniques

Data MiningInformation Discovery

Data Exploration

OLAP, MDA

Statistical Analysis, Querying and Reporting

Data Warehouses / Data Marts

Data SourcesPaper, Files, Information Providers, Database Systems, OLTP

Page 15: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Arquitetura de um Típico Sistema de Data Mining

Data Warehouse

Data cleaning & data integration Filtering

Databases

Database or data warehouse server

Data mining engine

Pattern evaluation

Graphical user interface

Knowledge-base

Page 16: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 17: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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”) compra (X, “cerveja”) [support = 2%, confidence = 60%]

Page 18: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 19: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Medida: Interessância (interestingness): 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

Medidas Objetiva vs. subjetiva: 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.

Page 20: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Data Mining: Integração de Múltiplas Disciplinas

Data Mining

Database Technology Statistics

OtherDisciplines

InformationScience

MachineLearning Visualization

Page 21: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 22: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

An OLAM Architecture

Data Warehouse

Meta Data

MDDB

OLAMEngine

OLAPEngine

User GUI API

Data Cube API

Database API

Data cleaning

Data integration

Layer3

OLAP/OLAM

Layer2

MDDB

Layer1

Data Repository

Layer4

User Interface

Filtering&Integration Filtering

Databases

Mining query Mining result

Page 23: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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 (Clustering)

• Padrões em Séries Temporais

Page 24: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação (market basket analysis)

Uma regra de associação representa um padrão de relacionamentoentre itens de dados do domínio da aplicação que ocorre com umadeterminada 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}

Page 25: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação (market basket analysis)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)

Page 26: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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.

Minerar regras de classificação significa descobrir afunção que realiza tal mapeamento.

Regras de classificação são extraídas a partir de uma base de treinamento.

ID Salário Idade Tipo Emprego Classe1 3.000 30 Autônomo B2 4.000 35 Indústria B3 7.000 50 Pesquisa C4 6.000 45 Autônomo C5 7.000 30 Pesquisa B6 6.000 35 Indústria B7 6.000 35 Autônomo A8 7.000 30 Autônomo A9 4.000 45 Indústria B

Page 27: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Classificação

ID Salário Idade Tipo Emprego Classe1 3.000 30 Autônomo B2 4.000 35 Indústria B3 7.000 50 Pesquisa C4 6.000 45 Autônomo C5 7.000 30 Pesquisa B6 6.000 35 Indústria B7 6.000 35 Autônomo A8 7.000 30 Autônomo A9 4.000 45 Indústria B

Salário

Idade

T.Empr.

B

A

C

B

5.000 5.000

40 40

Ind.,Pesq. Autônomo

Árvore de Decisão ouÁrvore de Classificação

(Sal 5.000) Classe = B(Sal 50k) (Idade 40) Classe = C(Sal 50k) (Idade 40) (TEmpr = Autônomo) Classe = A(Sal 50k) (Idade 40) ((TEmpr = Indústria) (TEmpr = Pesquisa)) Classe = B

Regras de Classificação

Page 28: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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 ProdutosJoão 01.08.2001/17:01 leite, pãoJoão 03.08.2001/14:25 carne, cervejaJoão 10.08.2001/21:15 queijo, manteiga, sal Marcos 05.08.2001/10:16 leite, ovosMarcos 08.08.2001/18:30 queijo, manteiga

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

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

Page 29: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Agrupamento (Clustering)

Agrupamento é o resultado da identificação de um conjunto finito decategorias (ou grupos - clusters) que contêm objetos similares. Grupos não são previamente definidos.

Consumidor Qtd.Méd.Tot.Prods. Preç.Méd.Prods. 1 2 1.700 2 10 1.800 3 2 100 4 3 2.000 5 12 2.100 6 3 200 7 4 2.300 8 11 2.040 9 3 150

Exemplo: Deseja-se separar os clientes em grupos de forma que aqueles que apresentam o mesmo comportamento de consumo fiquem no mesmo grupo.

Cada tupla deste exemplo indica a quantidade total de produtos consumidos e o preço médio destes produtos relativos a cada consumidor.

Page 30: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Agrupamento (Clustering)

Grupo Consumidor Qtd.Méd. Preç.Méd. 1 2 1.700 1 4 3 2.000 7 4 2.300 2 10 1.800 2 5 12 2.100 8 11 2.040 3 2 100 3 6 3 200 9 3 150

Consumidor Qtd.Méd. Preç.Méd. 1 2 1.700 2 10 1.800 3 2 100 4 3 2.000 5 12 2.100 6 3 200 7 4 2.300 8 11 2.040 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.

Page 31: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Padrões em Séries Temporais (Time Series)

Séries temporais representam seqüências de valores ou de eventosde um mesmo tipo que ocorrem ao longo de um período.

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.

tempo

Page 32: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 33: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação (Convencionais)

Uma regra de associação representa um padrão de relacionamentoentre 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

X Y

onde X I, Y 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.

Page 34: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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 U Y. 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 TXUY o número de transações que incluem os elementos de X U Y.

Suporte(R) = TXUY / T

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}) = ___

Page 35: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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. 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 TX o número de transações que incluem os elementos de X. Seja TXUY o número de transações que incluem os elementos de X U Y.

Confiança(R) = TXUY / TX

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}) = ___

Page 36: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras de Associação

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

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

Page 37: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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.

Doenças Oportunistas

Bacterianas Viróticas Nível 1

Tipo1 Tipo2 Tipo3 Nível 2

(Micobacteriose (Salmonelose) (Meningite (Estomatite (Herpes (Sarcoma Nível 3 Disseminada) Bacteriana) Herpética) Zoster) de Kaposi)

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.

Page 38: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação em Taxonomias

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

jeans sapato sandália

roupa calçado

calça-social

É 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}

Uma regra entre taxonomias pode relacionar itens de diferentes níveis. Em muitas aplicações que envolvem taxonomias, as folhas são os produtos com suas marcas.

Page 39: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

X Y

onde X I, Y 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}.

Os conceitos de suporte e confiança se aplicam como nas regras convencionais.

Page 40: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras em Taxonomias

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

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.

Page 41: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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ãopresentes 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

X ¬Y

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

{Meningite} ¬{Sarcoma}

Esta regra indica, com um determinado grau de certeza, que pacientes queadquiriram meningite bacteriana não contraíram sarcoma de Kaposi.

Page 42: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação Negativas

Simplesmente estender as transações, representando a ausência de um item pela sua forma negativa, pode não ser uma boa abordagem. Um número muito grande de regras negativas com pouca importânciapoderia ser gerado.

TID Itens 1 A, B, E ¬C, ¬D, ¬F, ¬G, ¬H2 A, B, C, D ¬E, ¬F, ¬G, ¬H3 B, E ¬A, ¬C, ¬D, ¬F, ¬G, ¬H4 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: {A} ¬{F} {B} ¬{C} {E} ¬{C} {A} ¬{H} {B} ¬{D} {E} ¬{D}

{B} ¬{E} {E} ¬{F} {B} ¬{F} {E} ¬{G} {B} ¬{G} {E} ¬{H} {B} ¬{H}

Page 43: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação Negativas 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

Pepsi Coca RufflesBF

A partir de uma base de dados de transações, foi extraída a regra {Ruffles} {Coca}. Dado que Coca e Pepsi são da mesma classe, há uma expectativa que estes produtos tenham relacionamentos semelhantes com os demais. A regra negativa {Ruffles} ¬{Pepsi} será inferida se a regra {Ruffles} {Pepsi} possuir suporte (relativamente) inferior ao da regra {Ruffles} {Coca}.

Page 44: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação Negativas

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.

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

batata-frita refrigerante

Pepsi Coca RufflesBF

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

Page 45: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras Negativas

Entrada:· Base de dados de transações;· Um conjunto de taxonomias;· Suporte mínimo;· Medida mínima de interesse.

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

Page 46: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Regras de Associação Quantitativas

Regras de associação quantitativas são utilizadas quando se deseja minerarpadrões em bases de dados relacionais (formadas por atributos quantitativose atributos categóricos).

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

Atributos QuantitativosAtributos Categóricos

Exemplo (base de dados sobre a AIDS):(sexo=“M”) (20idade30) (opção-sex=“heterossex”) (usuário-drogas=“S”)

Esta regra hipotética indica, com certo grau de certeza, que pacientes aidéticosheterossexuais, entre 20 e 30 anos, do sexo masculino são usuários de drogas.

Page 47: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

X1 X2 ... Xn Y1 Y2 ... Ym

onde n1, m1, Xi (1 i n) e Yj (1 j m) são condições definidas sobreatributos distintos de D.

(sexo=“M”) (20idade30) (opção-sex=“heterossex”) (usuário-drogas=“S”)

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 satisfazemtodas as condições Xi (1in) e Yj (1jm).

• O fator de confiança representa, dentre os registros de D que satisfazemas condições Xi (1in), a porcentagem dos registros que satisfazem Yj (1jm).

Page 48: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras Quantitativas

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

Saída:· Todas as regras quantitativas que possuem suporte e confiança maiores ou iguais ao suporte e à confiança mínimos.

Page 49: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Algoritmos de Mineração (de Regras de Associação)

• Apriori

• Partition

Page 50: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras de Associação (convencionais)

Entrada:· Base de dados de transações;· Suporte mínimo (SupMin);· Confiança mínima (ConfMin).

Saída:· Todas as regras de associação que possuem suporte e confiança maiores ou iguais a SupMin e ConfMin, respectivamente.

Page 51: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras de Associação

Recorde que:Se Sup(XY) SupMin então os itens de XY aparecem com

freqüência desejada nas transações da base de dados.

Dizemos então que:O conjunto de itens Z = XY possui suporte mínimo e é chamado

um conjunto freqüente.

Desta forma, podemos dividir o problema de minerar regras de associação em duas fases.

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

Fase 2: Para cada conjunto freqüente Z, identificar seus possíveis subconjuntos X e Y, de tal forma que:

Z = XY e Conf(XY) ConfMin (neste caso, XY será uma regra de interesse).

Page 52: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Mineração de Regras de Associação

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

Fase 2: Para cada conjunto freqüente Z (de tamanho maior ou igual a 2), identificar seus possíveis subconjuntos X e Y, de tal forma que:

Z = XY e Conf(XY) ConfMin.

Fase 1: Identificação dos conjuntos freqüentes. É a fase computacionalmente cara. Para um conjunto de itens de tamanho n, existem 2n possíveis subconjuntos freqüentes. Algoritmos propostos para esta fase:

- Apriori- Partition

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

Page 53: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Estratégia Apriori

O algoritmo Apriori considera as seguintes propriedades com o objetivo de diminuir o espaço de busca, ou seja, evitar que todos os

2n subconjuntos sejam avaliados.

Todo subconjunto de um conjunto freqüente é freqüente.(Se {A,B,C} é freqüente, então {A,B} é freqüente.)

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.)

Page 54: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

• 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, nenhumnovo conjunto de tamanho k, obtido a partir dos conjuntos de tamanho k-1, tenha o valor de suporte mínimo.

Estratégia Apriori

Page 55: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

TID Itens Comprados Considerar SupMin = 50% (2 tuplas) 101 leite, pão, suco 792 leite, suco

1130 leite, pão, ovos1735 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 Apriori

Page 56: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Estratégia Apriori

1. F1 = conjuntos freqüentes de tamanho 1;2. k = 1;3. enquanto ( Fk 0 ) faça4. k = k + 1;5. Gerar Ck (todos os candidatos de tamanho k) a partir de Fk-1;6. para cada transação t pertencente a base de dados faça7. para cada candidato em Ck faça8. se todos os itens do candidato pertencem a t então9. Incrementar o contador associado ao candidato;10. Fk = todos os candidatos pertencentes a Ck com

suporte mínimo maior ou igual a SupMin;11. fim-enquanto;12. Resposta = união de todos os conjuntos Fk;

Observe que, em cada uma das k iterações, o algoritmo Apriori percorre toda a base de dados.

Page 57: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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 propriedadede que todo subconjunto de um conjunto freqüente é freqüente. Desta forma,diminui a quantidade de candidatos gerados, eliminando alguns que sãogarantidamente não freqüentes.

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.)

Se {a1, a2, ..., ak-2, a k-1, ak} for gerado em Ck, será podado se possuiralgum 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.)

Page 58: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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 umsubconjunto 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.)

Page 59: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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}

Gerar Ck (todos os candidatos de tamanho k) a partir de Fk-1;

Page 60: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Exemplo

TID Items100 1 3 4200 2 3 5300 1 2 3 5400 2 5

Database D itemset sup.{1} 2{2} 3{3} 3{4} 1{5} 3

itemset sup.{1} 2{2} 3{3} 3{5} 3

Scan D

C1L1

itemset{1 2}{1 3}{1 5}{2 3}{2 5}{3 5}

itemset sup{1 2} 1{1 3} 2{1 5} 1{2 3} 2{2 5} 3{3 5} 2

itemset sup{1 3} 2{2 3} 2{2 5} 3{3 5} 2

L2

C2 C2

Scan D

C3 L3itemset{2 3 5}

Scan D itemset sup{2 3 5} 2

Page 61: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Estratégia Partition

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

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%

Page 62: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

A estratégia Partition é 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: 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 Apriori. 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ãoos candidatos a freqüentes globais.

Fase II: Todas as transações da base de dados são percorridas para verificarquais freqüentes locais (candidatos globais) são freqüentes globais.

Estratégia Partition

Page 63: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Estratégias Apriori e Partition

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

Se, por um lado, a estratégia Apriori 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.

Na estratégia Partition, 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.

Page 64: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

Ferramentas de Mineração de Dados (com Regras de Associação)

Intelligent Miner (IBM)http://www.software.ibm.com/data/intelli-mine

Clementine (Integral Solutions Ltd.)http://www.isl.co.uk/clem.html

DBMiner (SFU) http://db.cs.sfu.ca/dbminer

Enterprise Miner (SAS) http://www.sas.com

MineSet (Silicon Graphics) http://www.sgi.com

Management Discovery Tool - MDT (NCR) WizRule (WizSoft)

Page 65: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 66: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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

Page 67: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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.Zaki - IBM Research Center, USA, 2000

Page 68: Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor aovictor@cos.ufrj.br

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 Zanasi, 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

Alguns Livros da Área