analise inteligente dados i

Upload: eben-alberto

Post on 03-Mar-2016

220 views

Category:

Documents


0 download

DESCRIPTION

Inteligente

TRANSCRIPT

  • 1Introduo a Sistemas Inteligentes

    Noes de Preparao de Dados e Minerao de Regras de Associao

    Prof. Ricardo J. G. B. Campello

    ICMC / USP

    Crditos

    Parte deste material consiste de adaptaese extenses dos originais:

    gentilmente cedidos pelos professores EduardoR. Hruschka (baseados no curso de Gregory Piatetsky-Shapiro, disponvel no stio http://www.kdnuggets.com) eAndr C. P. L. F. de Carvalho

    do livro de (Tan et al., 2006)

  • 23

    Aula de Hoje

    Noes de pr-processamento de dados

    Introduo minerao de regras de associao Medidas de suporte e confiana

    Princpio Apriori

    Regras de associao

    4

    Relembrando KDD...

    Dadosoriginais

    Dadosalvo

    DadosPr-processados

    Dadostransformados

    Padres

    Conhecimento

    Seleo

    Pr-processamentoe Limpeza

    Transformao

    Minerao de Dados

    Avaliao

    Fayyad et al 1997

  • 35

    Preparao de Dados

    Tornar os dados adequados para utilizao na etapa de minerao

    Envolve basicamente as etapas de: Seleo

    Limpeza e Pr-Processamento

    Transformao

    6

    Seleo

    Toma-se um subconjunto de interesse dentre os dados disponveis Subconjunto de registros

    exemplos, instncias ou objetos

    Subconjunto de atributos

    campos, variveis ou caractersticas

    considerados relevantes para o problema

    os demais so claramente irrelevantes e descartados manualmente

  • 47

    cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...

    cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...

    Exemplo

    cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...

    986

    117

    Conjunto com dados clnicos

    dos pacientescdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...

    cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...

    cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...

    1.000.000

    12

    8

    Pr-Processamento e Limpeza

    Melhorar a qualidade dos dados e facilitar sua posterior utilizao

    As principais operaes so Eliminar dados duplicados

    Agregar dados

    Lidar com valores ausentes

    Lidar com rudo

  • 59

    Transformaes

    Inclui diversas operaes, tais como: Seleo automtica de atributos

    p/ eliminar atributos irrelevantes e/ou redundantes

    Extrao de caractersticas

    p/ obter um menor no. de atributos mais relevantes a partir dos dados brutos

    Discretizaes e converses

    entre atributos de diferentes naturezas

    Normalizaes

    para que os atributos ou mesmo os objetos apresentem determinadas propriedades (usualmente estatsticas) de interesse

    Exemplo

    Normalizaes: Re-escalonamento

    Converter todos os valores de um atributo para [0, 1] ou [-1,+1]

    Padronizao

    Fazer com que cada atributo possua mdia nula e varincia 1

    Podem ser fundamentais em algoritmos que veremos p. ex. KNN

    )min(max)min(

    xx

    xxx

    =

    x

    xxx

    =

    10

  • 61111

    Anlise de Associao

    Descoberta e interpretao de padresde inter-relacionamento interessantesque podem estar escondidos em grandesbases de dados de transaes

    1212

    Exemplos de Transaes:

    ID Produto 1 leite, po, ovos 2 po, acar 3 po, cereal 4 leite, po, acar 5 leite, cereal 6 po, cereal 7 leite, cereal 8 leite, po, cereal, ovos 9 leite, po, cereal

  • 71313

    Anlise de Associao

    Variados Campos de Aplicao

    Por exemplo:

    Mercados: relaes entre produtos, perfis deconsumo, etc.

    Meteorologia: relaes entre fenmenosatmosfricos, terrestres, martimos, etc.

    Medicina: relaes entre exames, sintomas,doenas, etc.

    Bioinformtica...

    1414

    Exemplo de Base de Dados de Transaes:

    T Produtos 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

    Itens:

    A = leiteB= poC= cerealD= acarE= ovos

    Exemplos = Transaes

  • 81515

    Exemplo de Base de Dados de Transaes:

    T A B C D E 1 1 1 0 0 1 2 0 1 0 1 0 3 0 1 1 0 0 4 1 1 0 1 0 5 1 0 1 0 0 6 0 1 1 0 0 7 1 0 1 0 0 8 1 1 1 0 1 9 1 1 1 0 0

    T Produtos 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

    Produtos convertidos em atributos binrios

    assimtricos:

    1616

    NOTA

    Todas as discusses a seguir presumem que asbases de dados de transaes em questo sobinrias assimtricas

    Mtodos para anlise de associao sobrebases no binrias, tais como, por exemplo,aquelas contendo transaes de consumo coma quantidade e/ou preo dos itensenvolvidos, esto alm do escopo deste curso.

  • 91717

    Definies:

    Conjunto de Itens (itemset) I: um subconjunto de itens possveis

    Exemplo: I = {A, B, E} (ordem no importante)

    Pode ser parte de (ou toda) uma transao (t)

    Suporte(I) = no de transaes t que contm I

    Na base de dados anterior temos que: sup({A, B, E}) = 2, sup({B, C}) = 4

    Conjunto de Itens Freqentes: sup(I) sup_mn, onde sup_mn o suporte mnimo, definido pelo usurio

    1818

    Propriedade do Subconjunto:

    Todo subconjunto de um conjunto Todo subconjunto de um conjunto freqente tambm freqentefreqente tambm freqente

    Por qu?Por qu?

    Exemplo: suponhamos que {A,B} seja freqente. Exemplo: suponhamos que {A,B} seja freqente. Dado que cada ocorrncia de {A,B} inclui A e B, Dado que cada ocorrncia de {A,B} inclui A e B, ento A e B tem de ser eles prprios freqentesento A e B tem de ser eles prprios freqentes

    Quase todos os algoritmos para extrair regras de Quase todos os algoritmos para extrair regras de associao so baseados nesta propriedadeassociao so baseados nesta propriedade

  • 10

    1919

    Regras de Associao:

    Regra de Associao R :

    Conjunto de itens 1 Conjunto de itens 2

    Conjuntos de itens 1 e 2 disjuntos

    Interpretao: se determinada transao inclui o conjunto de itens 1, ento esta tambm inclui (ou provavelmente inclui) o conjunto de itens 2

    Cuidado! No deve ser interpretada como causa efeito!

    Exemplos:

    A,B E,C

    A B,C

    Como Obter Regras de Associao?

    Dado um conjunto de itens freqentes {A, B, E}, quais so as possveis regras de associao? A {B, E}

    {A, B} E

    {A, E} B

    B {A, E}

    {B, E} A

    E {A, B}

  • 11

    2121

    Suporte e Confiana:

    Seja R: I J uma regra de associao

    sup(R) = sup(I J) / N

    N = No de transaes (fixo)

    Logo, a unio dos conjuntos I J define o suporte

    conf(R) = sup(I J) / sup(I) a confiana de R

    Nmero de transaes que possuem I e J dividido pelo nmero de transaes que possuem I

    Regras de associao com mnimo suporte so s vezes chamadas de regras fortes

    2222

    Exemplo de Regras de Associao Formadas por 3 Itens:

    Dado um conjunto de itens {A,B,E} com suporte = 2, quais regras de associao possuem conf_mn = 50% ?

    A, B E : conf=2/4 = 50%

    A, E B : conf=2/2 = 100%

    B, E A : conf=2/2 = 100%

    E A, B : conf=2/2 = 100%

    Confiana menor do que a mnima requerida:

    A B, E : conf=2/6=33% < 50%

    B A, E : conf=2/7=28% < 50%

    T Lista de itens 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

  • 12

    2323

    Exemplo (Freitas & Lavington):Se caf ento po; Suporte=0,3 / Confiana=1

    Se caf ento manteiga; Suporte=0,3 / Confiana=1

    Se po ento manteiga; Suporte=0,4 / Confiana=0,8

    Se caf E po ento manteiga; Suporte=0,3 / Confiana=1

    R Leite Caf Cerveja Po Manteiga Arroz Feijo

    1 N S N S S N N

    2 S N S S S N N

    3 N S N S S N N

    4 S S N S S N N

    5 N N S N N N N

    6 N N N N S N N

    7 N N N S N N N

    8 N N N N N N S

    9 N N N N N S S

    10 N N N N N S N

    2424

    Encontrando Regras de Associao:

    Uma regra possui dois parmetros: sup_mn e conf_mn;

    sup(R) sup_mn & conf(R) conf_mn

    Problema:

    Encontrar todas as regras que forneam sup_mn e conf_mn pr-estabelecidos

    Inicialmente, encontrar todos os conjuntos de itens freqentes

    Em seguida, extrair regras com elevada confiana a partir desses conjuntos

  • 13

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 25

    Gerao de Itens Frequentes

    null

    AB AC AD AE BC BD BE CD CE DE

    A B C D E

    ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

    ABCD ABCE ABDE ACDE BCDE

    ABCDE

    d itens 2dpossveis candidatos ...

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 26

    Principal Forma de Reduzir o No. de Candidatos

    Princpio Apriori:

    Se um conjunto de itens frequente, ento todos os seus subconjuntos tambm devem ser

    Vlido devido seguinte propriedade do suporte:

    Propriedade anti-monotnica

    suporte de um conjunto de itens nunca excede os suportes dos seus subconjuntos !

    )sup()sup()(:, YXYXYX

  • 14

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 27

    descoberto ser infrequente ...

    Ilustrando o Princpio

    candidatos podados !

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 28

    Item Suporte Bread 4 Coke 2 Milk 4 Beer 3 Diaper 4 Eggs 1

    Conj. de Itens Suporte {Bread,Milk} 3 {Bread,Beer} 2 {Bread,Diaper} 3 {Milk,Beer} 2 {Milk,Diaper} 3 {Beer,Diaper} 3

    Conjuntos de Tamanho 1

    Conjuntos de Tamanho 2

    (no necessrio gerar candidatos envolvendo Coke ou Eggs!)

    Conj. de Tamanho 3

    sup_mn = 3

    Ilustrando o Princpio

  • 15

    29

    Gerao de Candidatos

    Mtodo Fk-1 x F1 :

    Gera conjuntos de itens de tamanho k unindo conjuntos deitens frequentes de tamanho k 1 e de tamanho 1

    Nota: no o mtodo mais eficiente de gerao de candidatos,mas simples e basta para as necessidades do nosso curso !

    Exemplo (k = 3):

    {Bread, Diapers} {Milk} {Bread, Diapers, Milk}

    Mas como evitar redundncias...?

    Ex.: {Milk, Diapers} {Bread} {Milk, Diapers, Bread}

    Gerao de Candidatos

    Mtodo Fk-1 x F1 :

    Para evitar redundncias, basta manter os itens ordenadosinternamente a cada conjunto e gerar os candidatos de formaorganizada, unindo cada conj. frequente de tamanho (k 1)apenas com os itens freq. de ordem superior na lista ordenada

    Exemplo:

    Itens Frequentes

    Beer

    Bread

    Cola

    Diapers

    Candidatos de Tamanho 2

    {Beer, Bread}

    {Beer, Cola}

    {Beer, Diapers}

    {Bread, Cola}

    {Bread, Diapers}

    {Cola, Diapers}

    Candidatos de Tamanho 3

    {Beer, Bread, Cola}

    {Beer, Bread, Diapers}

    {Beer, Cola, Diapers}

    {Bread, Cola, Diapers}

  • 16

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 31

    Item Suporte Bread 4 Coke 2 Milk 4 Beer 3 Diaper 4 Eggs 1

    Conj. de Itens Suporte {Bread,Milk} 3 {Bread,Beer} 2 {Bread,Diaper} 3 {Milk,Beer} 2 {Milk,Diaper} 3 {Beer,Diaper} 3

    Conjuntos de Tamanho 1

    Conjuntos de Tamanho 2

    Conj. de Tamanho k

    sup_mn = 3

    Gerao de Candidatos

    Gerao de candidatos deve seguirat que, para algum k, no hajaconjuntos frequentes de k itens

    32

    Poda de Candidatos

    Note que todo o procedimento demanda computar osuporte de cada conjunto candidato gerado...

    Varrer a BD e tentar casar cada candidato com cada transao...

    Pode ser bem mais eficiente:

    mantendo ordenadas as transaes e os candidatos

    utilizando estruturas de dados apropriadas

    Mesmo assim computacionalmente caro !

    Custo computacional pode ser amenizado se for possvel eliminaralguns candidatos sem computar diretamente seu suporte

  • 17

    3333

    Poda de Candidatos (Exemplo) Dados 5 conjuntos freqentes de 3 itens:

    {A B C}, {A B D}, {A C D}, {A C E}, {B C D}

    Conjunto candidato formado por 4 itens:

    {A B C D}

    Pode ser freqente, pois todos os seus subconjuntos de 3 itens o so

    E o que dizer sobre o conjunto {A C D E} ?

    Como {C D E} no freqente, o conjunto {A C D E} tambm no !

    Pode ser descartado

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 34

    Rotina Bsica

    Algoritmo: Seja k=1 Gere conjuntos de itens frequentes de tamanho 1 Repita at que no haja mais conjuntos frequentes

    Gere conjuntos candidatos de tamanho (k+1) Pode os candidatos que possuem subconjuntos de

    tamanho k que no so frequentes

    Conte o suporte dos candidatos remanescentes varrendo a base de dados e elimine os candidatos infrequentes , ou seja, aqueles com contagem menor que sup_mn

  • 18

    Gere os conjuntos de itens frequentes com sup_mn = 5 na BD abaixo:

    Nota: cada par atributo = valor um item !

    Exerccio:

    Outlook Temp Humidity Windy Play

    Sunny Hot High False No

    Sunny Hot High True No

    Overcast Hot High False Yes

    Rainy Mild High False Yes

    Rainy Cool Normal False Yes

    Rainy Cool Normal True No

    Overcast Cool Normal True Yes

    Sunny Mild High False No

    Sunny Cool Normal False Yes

    Rainy Mild Normal False Yes

    Sunny Mild Normal True Yes

    Overcast Mild High True Yes

    Overcast Hot Normal False Yes

    Rainy Mild High True No

    (Witten and Frank, 2005)

    3636

    Voltando ao Exemplo Anterior (Freitas & Lavington)...

    R Leite Caf Cerveja Po Manteiga Arroz Feijo

    1 N S N S S N N

    2 S N S S S N N

    3 N S N S S N N

    4 S S N S S N N

    5 N N S N N N N

    6 N N N N S N N

    7 N N N S N N N

    8 N N N N N N S

    9 N N N N N S S

    10 N N N N N S N

  • 19

    3737

    Passo 1 Suporte p/ Conjuntos com 1 Item:

    Arroz: 2; Caf: 3; Cerveja: 2; Feijo: 2; Leite: 2; Manteiga: 5; Po: 5.

    Considerando sup_mn = 3:

    Caf, Manteiga e Po seriam os itens freqentes!

    Passo 2 Suporte p/ Conjuntos com 2 Itens:

    Procurar considerando somente os itens freqentes

    Caf, Manteiga, Po

    3838

    Passo 2 ...

    {Caf, Manteiga}: Suporte = 3;

    {Caf, Po}: Suporte = 3;

    {Manteiga, Po}: Suporte = 4;

    Conjuntos de itens freqentes para sup_mn = 3:

    {Caf, Manteiga}, {Caf, Po}, {Manteiga, Po}

  • 20

    3939

    Passo 3 Suporte p/ Conjuntos com 3 Itens:

    A partir dos conjuntos anteriores obtm-se:

    {Caf, Manteiga, Po}: Suporte = 3;

    Nota:

    Antes de calcular o suporte deste conjunto, ele foi submetido (e sobreviveu) ao procedimento de poda que verificou que todos os seus subconjuntos de tamanho 2 so freqentes:

    {Manteiga, Po}, {Caf, Po}, {Caf, Manteiga}

    Em Resumo: Sup({Caf}) = 3 e Sup({Manteiga}) = Sup({Po}) = 5

    Sup({Caf, Manteiga}) = 3

    Sup({Caf, Po}) = 3

    Sup({Manteiga, Po}) = 4

    Sup({Caf, Manteiga, Po}) = 3

    R Leite Caf Cerveja Po Manteiga Arroz Feijo

    1 N S N S S N N

    2 S N S S S N N

    3 N S N S S N N

    4 S S N S S N N

    5 N N S N N N N

    6 N N N N S N N

    7 N N N S N N N

    8 N N N N N N S

    9 N N N N N S S

    10 N N N N N S N

    (Freitas & Lavington)

  • 21

    4141

    Gerando Regras de Associao:

    Dados os conjuntos de itens freqentes:

    Para cada conjunto I :

    Para cada subconjunto J de I :

    Determinar todas as regras de associao da forma:

    (I J) J

    Eliminar aquelas com medida de confiana menor que o limiar mnimo pr-estabelecido (conf_mn)

    Voltando ao Exemplo Anterior (Freitas & Lavington)...

    Sup({Caf) = 3; Sup({Manteiga}) = Sup({Po}) = 5

    Sup({Caf, Manteiga}) = 3; Sup({Caf, Po}) = 3; Sup({Manteiga, Po}) = 4

    Sup({Caf, Manteiga, Po}) = 3

    Calcula-se, ento, a Confiana das regras candidatas:

    a) {Caf, Manteiga} : Se caf ento manteiga conf.=1,0

    Se manteiga ento caf conf.=0,6

    b) {Caf, Po} : Se caf ento po conf.=1,0

    Se po ento caf conf.=0,6

    c) {Manteiga, Po} : Se manteiga ento po conf.=0,8

    Se po ento manteiga conf.=0,8

    d) {Caf, Manteiga, Po} : Se caf, po ento manteiga conf.=1,0

    Se caf, manteiga ento po conf.=1,0

    Se manteiga, po ento caf conf.=0,75

    Se caf ento po,manteiga conf.=1,0

    e assim por diante, escolhendo-se depois as regras que respeitam conf_mn.

  • 22

    Exerccios Complete o exemplo anterior selecionando

    todas as regras de associao que se pode extrair da BD que tenham conf_mn = 0.8

    Explique porque no preciso calcular o suporte das regras candidatas (apenas a confiana) para saber que essas regras necessariamente possuem suporte maior ou igual ao mnimo (0,3 neste exemplo)

    4343

    4444

    Nota Sobre a Gerao de Regras

    A gerao do conjunto de regras tambm pode se beneficiar do princpio apriori

    simples observar que o princpio implica a seguinte propriedade da confiana:

    Confiana de regra de um dado conj. de itens no cresce se passamos itens da esquerda para a direita da regra

    Por exemplo, dado um conj. de itens {A B C D}:

    conf(ABC D) c(AB CD) c(A BCD)

  • 23

    Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 45

    Gerao de Regras no Algoritmo Apriori

    Regra de Baixa Confiana

    Filtrando Regras de Associao:

    Problema: grandes BDs (e.g. supermercados) podem produzir um nmero elevado de regras de associao, mesmo com valores razoveis para suporte e confiana...

    Esse problema ainda mais crtico em BDs com distribuies de suporte desbalanceadas...

    Possveis solues:

    Pr-processar a base e/ou filtrar regras...

    Medidas de interesse (objetivas e subjetivas) para filtragem:

    Tpico fundamental em anlise de associao, mas est alm do escopo deste curso...

    4646

  • 24

    Filtrando Regras de Associao:

    Medidas de Interesse Subjetivas:

    Geralmente so dependentes do problema

    Tipicamente so especificadas por um especialista de domnio e utilizadas para filtrar regras que no satisfazem as especificaes

    podem ser formalizadas em termos lgicos ou matemticos e inseridas no processo automtico de filtragem; ou

    podem ser aplicadas de forma iterativa pelo prprio especialista em um ambiente iterativo amigvel (visual data mining)

    Medidas de Interesse Objetivas:

    Alternativas a Suporte - Confiana

    4747

    48

    Exerccios Adicionais

    Tome alguns conjuntos de itens de diferentestamanhos que voc gerou no exerccioenvolvendo a base de (Witten & Frank, 2005),gere regras de associao a partir dessesconjuntos e calcule a confiana de cada umadessas regras.

  • 25

    49

    Exerccios Adicionais

    A propriedade que a confiana de uma regrade um dado conj. de itens no cresce sepassamos itens da esquerda para a direita daregra denominada anti-monotnica. Combase na definio da medida de confiana,explique porque essa propriedade vlida.

    50

    Referncias

    P.-N. Tan, Steinbach, M., and Kumar, V., Introduction to Data Mining, Addison-Wesley, 2006

    I. H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques, 2nd Edition, Morgan Kaufmann, 2005