A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor"— Transcrição da apresentação:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

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

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

12 Data Mining: Uma Etapa do Processo KDD Dados Conhecimento Dados Pré-processados Dados Transformados Regras e Padrões Dados Selecionados 1 1 - SELEÇÃO 2 - PRÉ-PROCESSAMENTO (Limpeza + Enriquecimento) 3 - TRANSFORMAÇÃO 4 - MINERAÇÃO 5 - INTERPRETAÇÃO 2 3 4 5

13 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

14 Data Mining e Business Intelligence Increasing potential to support business decisions End User Business Analyst Data Analyst DBA Making Decisions Data Presentation Visualization Techniques Data Mining Information Discovery Data Exploration OLAP, MDA Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts Data Sources Paper, Files, Information Providers, Database Systems, OLTP

15 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

16 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

17 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%]

18 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

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

20 Data Mining: Integração de Múltiplas Disciplinas Data Mining Database Technology Statistics Other Disciplines Information Science Machine Learning Visualization

21 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

22 An OLAM Architecture Data Warehouse Meta Data MDDB OLAM Engine OLAP Engine User GUI API Data Cube API Database API Data cleaning Data integration Layer3 OLAP/OLAM Layer2 MDDB Layer1 Data Repository Layer4 User Interface Filtering&IntegrationFiltering Databases Mining queryMining result

23 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

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

25 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 1leite, pão, refrigerante 2cerveja, carne 3cerveja, fralda, leite, refrigerante 4cerveja, fralda, leite, pão 5fralda, 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)

26 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 a função que realiza tal mapeamento.  Regras de classificação são extraídas a partir de uma base de treinamento. IDSalárioIdadeTipo EmpregoClasse 13.00030Autônomo B 24.00035Indústria B 37.00050Pesquisa C 46.00045Autônomo C 57.00030Pesquisa B 66.00035Indústria B 76.00035Autônomo A 87.00030Autônomo A 94.00045Indústria B

27 Regras de Classificação ID Salário Idade Tipo Emprego Classe 1 3.000 30 AutônomoB 2 4.000 35 IndústriaB 3 7.000 50 PesquisaC 4 6.000 45 AutônomoC 5 7.000 30 PesquisaB 6 6.000 35 IndústriaB 7 6.000 35 AutônomoA 8 7.000 30 AutônomoA 9 4.000 45 IndústriaB 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

28 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). ConsumidorData/HoraProdutos João01.08.2001/17:01leite, pão João03.08.2001/14:25carne, cerveja João10.08.2001/21:15queijo, manteiga, sal Marcos05.08.2001/10:16leite, ovos Marcos08.08.2001/18:30queijo, 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.

29 Agrupamento (Clustering) Agrupamento é o resultado da identificação de um conjunto finito de categorias (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 210 1.800 3 2 100 4 3 2.000 512 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.

30 Agrupamento (Clustering) GrupoConsumidor 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.

31 Padrões em Séries Temporais (Time Series) Séries temporais representam seqüências de valores ou de eventos de 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

32 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

33 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 = {i 1, i 2,..., i n } 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.

34 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 T XUY o número de transações que incluem os elementos de X U Y. Suporte(R) = T XUY / T TIDItens CompradosSuporte({leite}  {suco}) = 2 / 4 = 50% 101leite, pão, sucoSuporte({suco}  {leite}) = 50% 792leite, sucoSuporte({pão}  {suco}) = ___ 1130leite, ovosSuporte({pão}  {ovos}) = ___ 1735pão, biscoito, caféSuporte({pão,café}  {biscoito}) = ___

35 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 T X o número de transações que incluem os elementos de X. Seja T XUY o número de transações que incluem os elementos de X U Y. Confiança(R) = T XUY / T X Id-T.Itens CompradosConfiança({leite}  {suco}) = 2 / 3 = 67% 101leite, pão, sucoConfiança({suco}  {leite}) = 2 / 2 = 100% 792leite, sucoConfiança({pão}  {suco}) = ___ 1130leite, ovosConfiança({pão}  {ovos}) = ___ 1735pão, biscoito, caféConfiança({pão,café}  {biscoito}) = ___

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

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

38 Regras de Associação em Taxonomias camisa calça calçado-social tênis jeans sapato sandália roupacalç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.

39 Regras de Associação em Taxonomias Seja I = {i 1, i 2,..., i n } 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.

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

41 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 = {i 1, i 2,..., i n } 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 que adquiriram meningite bacteriana não contraíram sarcoma de Kaposi.

42 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ância poderia ser gerado. TIDItens 1A, B, E ¬C, ¬D, ¬F, ¬G, ¬H 2A, B, C, D ¬E, ¬F, ¬G, ¬H 3B, E ¬A, ¬C, ¬D, ¬F, ¬G, ¬H 4A, B, G ¬C, ¬D, ¬E, ¬F, ¬H 5B, 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}

43 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-fritarefrigerante Pepsi Coca Ruffles BF  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}.

44 Regras de Associação Negativas  A medida de interesse (MI) de uma regra negativa R = X  Y é definida por: MI(R) = ( SupEsp(X  Y) - Sup(X  Y) ) / 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 Ruffles BF SupEsp(Ruffles,Pepsi) = Sup(Ruffles,Coca) * ( Sup(Pepsi) / Sup(Coca) )

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

46 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). Id Sexo Profissão Salário Idade... Atributos Quantitativos Atributos Categóricos Exemplo (base de dados sobre a AIDS): (sexo=“M”)  (20  idade  30)  (opção-sex=“heterossex”)  (usuário-drogas=“S”)  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.

47 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 X 1  X 2 ...  X n  Y 1  Y 2 ...  Y m onde n  1, m  1, X i (1  i  n) e Y j (1  j  m) são condições definidas sobre atributos distintos de D. (sexo=“M”)  (20  idade  30)  (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 satisfazem todas as condições X i (1  i  n) e Y j (1  j  m). O fator de confiança representa, dentre os registros de D que satisfazem as condições X i (1  i  n), a porcentagem dos registros que satisfazem Y j (1  j  m).

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

49 Algoritmos de Mineração ( de Regras de Associação ) Apriori Partition

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

51 Mineração de Regras de Associação  Recorde que: Se Sup(X  Y)  SupMin então os itens de X  Y aparecem com freqüência desejada nas transações da base de dados.  Dizemos então que: O conjunto de itens Z = X  Y 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 = X  Y e Conf(X  Y)  ConfMin (neste caso, X  Y será uma regra de interesse).

52 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 = X  Y e Conf(X  Y)  ConfMin. Fase 1: Identificação dos conjuntos freqüentes.  É a fase computacionalmente cara.  Para um conjunto de itens de tamanho n, existem 2 n possíveis subconjuntos freqüentes.  Algoritmos propostos para esta fase: - Apriori - Partition Fase 2: Identificação das regras a partir dos conjuntos freqüentes.

53 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 2 n 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.)

54 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 Apriori

55 TIDItens CompradosConsiderar SupMin = 50% (2 tuplas) 101leite, pão, suco 792leite, suco 1130leite, pão, ovos 1735pão, biscoito, café Sup({leite}) = 3Sup({leite, pão}) = 2 Sup({leite, pão, suco}) = 1 Sup({pão}) = 3Sup({leite, suco}) = 2 Sup({suco}) = 2Sup({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

56 1. F 1 = conjuntos freqüentes de tamanho 1; 2. k = 1 ; 3. enquanto ( F k  0 ) faça 4. k = k + 1; 5. Gerar C k (todos os candidatos de tamanho k ) a partir de F k-1 ; 6. para cada transação t pertencente a base de dados faça 7. para cada candidato em C k faça 8. se todos os itens do candidato pertencem a t então 9. Incrementar o contador associado ao candidato; 10. F k = todos os candidatos pertencentes a C k com suporte mínimo maior ou igual a SupMin ; 11. fim-enquanto; 12. Resposta = união de todos os conjuntos F k ; Observe que, em cada uma das k iterações, o algoritmo Apriori percorre toda a base de dados.

57 Gerar C k (todos os candidatos de tamanho k) a partir de F k-1 ; A estratégia de geração de C k a partir de F k-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.  Considere que, dentro de cada conjunto, os itens estejam ordenados. Então, o conjunto {a 1, a 2,..., a k-2, a k-1, a k } só será gerado em C k se os subconjuntos {a 1, a 2,..., a k-2, a k-1 } e {a 1, a 2,..., a k-2, a k } pertencerem a F k-1. (O conjunto {1,2,3,4} só poderá ser gerado se {1,2,3} e {1,2,4} forem freqüentes.)  Se {a 1, a 2,..., a k-2, a k-1, a k } for gerado em C k, será podado se possuir algum subconjunto que não seja freqüente. (O conjunto candidato {1,2,3,4} será eliminado de C 4 se, por exemplo, {2,3,4} não for um conjunto freqüente.)

58 Gerar C k (todos os candidatos de tamanho k) a partir de F k-1 ; A estratégia de geração de C k a partir de F k-1 divide-se então em duas fases: junção e poda. Junção: Para cada dois conjuntos {a 1, a 2,..., a k-1 } e {b 1, b 2,..., b k-1 } de F k-1 : Se (a 1 = b 1 )  (a 2 = b 2 ) ...  (a k-2 = b k-2 )  (a k-1  b k-1 ) então gere o candidato {a 1, a 2,..., a k-1, b k-1 } em C k. ( Se {1,2,3} e {1,2,4} são conjuntos de F 3, então gerar {1,2,3,4} em C 4.) Poda: Para cada conjunto de C k, eliminar aqueles que possuem um subconjunto não freqüente. (O conjunto candidato {1,2,3,4} será eliminado de C 4 se, por exemplo, {2,3,4} não for um conjunto freqüente.)

59 F 3 Junção C 4 Poda C 4 (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 C k (todos os candidatos de tamanho k ) a partir de F k-1 ;

60 Exemplo Database D Scan D C1C1 L1L1 L2L2 C2C2 C2C2 C3C3 L3L3

61 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%

62 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ão os candidatos a freqüentes globais. Fase II:  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égia Partition

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

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

65 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

66 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

67 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

68 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


Carregar ppt "Conceitos e Técnicas de Mineração de Dados (Data Mining) André O. Victor"

Apresentações semelhantes


Anúncios Google