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

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

ALGORITMOS para Descoberta de Conhecimento em Bases de Dados prof. Luis Otavio Alvares II/UFRGS.

Apresentações semelhantes


Apresentação em tema: "ALGORITMOS para Descoberta de Conhecimento em Bases de Dados prof. Luis Otavio Alvares II/UFRGS."— Transcrição da apresentação:

1 ALGORITMOS para Descoberta de Conhecimento em Bases de Dados prof. Luis Otavio Alvares II/UFRGS

2 Sumário p Regras de associação: Apriori p Classificação: ID3, C4.5 p Formação de agrupamentos: k-médias p Detecção de desvios

3 p Regras de Associação

4 Regras de associação Regras de associação ou regras associativas têm a forma {X 1, X 2,..., X n } Y significando que se encontrarmos todos os itens X 1, X 2,..., X n numa transação, então temos uma boa chance de encontrar também Y.

5 dada a regra de associação X Y X implica Y se X então Y se compra X então compra Y define-se suporte = Número de registros com X e Y Número total de registros confiança = Número de registros com X e Y Número de registros com X

6 AISSETM AprioriApriori -TID Apriori-HybridDense – Miner MiRABIT Algoritmos de Regras de Associação

7 (1) Dado um limiar de suporte minsup, no primeiro passo encontre os itens que aparecem ao menos numa fração das transações igual a minsup. Este conjunto é chamado L 1, dos itens freqüentes. (2)Os pares dos itens em L 1 se tornam pares candidatos C 2 para o segundo passo. Os pares em C 2 cuja contagem alcançar minsup são os pares freqüentes L 2. (3) As trincas candidatas C 3 são aqueles conjuntos {A, B, C} tais que todos os {A, B}, {A, C} e {B, C} estão em L 2. No terceiro passo, conte a ocorrência das trincas em C 3 ; aquelas cuja contagem alcançar minsup são as trincas freqüentes, L 3. (4) Proceda da mesma forma para tuplas de ordem mais elevada, até os conjuntos se tornarem vazios. L i são os conjuntos freqüentes de tamanho i; C i+1 é o conjunto de tamanho i+1 tal que cada subconjunto de tamanho i está em L i. Algoritmo Apriori

8 p Dada a tabela abaixo onde cada registro corresponde a uma transação de um cliente, com itens assumindo valores binários (sim/não), indicando se o cliente comprou ou não o respectivo item, descobrir todas as regras associativas, determinando o seu suporte (sup) e grau de certeza (conf). Exemplo de descoberta de regras associativas

9 (1)Calcular o suporte de conjuntos com um item. Determinar os itens freqüentes com sup 0,3. (2)Calcular o suporte de conjuntos com dois itens. Determinar conjuntos de itens freqüentes com sup 0,3. Obs: se um item não é freqüente em (1), pode ser ignorado aqui. Descobrir as regras com alto fator de certeza. (3)Calcular o suporte de conjuntos com três itens. Determinar conjuntos de itens freqüentes com sup 0,3. Obs: pelo mesmo motivo anterior, só é necessário se considerar conjuntos de itens que são freqüentes pelo passo anterior. Descobrir regras com alto fator de certeza. p Dada uma regra de associação Se compra X então compra Y, os fatores sup e conf são: sup = Número de registros com X e Y Número total de registros conf = Número de registros com X e Y Número de registros com X

10 C1C1 L1L1

11 C 2, L 2 C 3, L 3

12 p Regras candidatas com dois itens com o seu valor de certeza: Conjunto de itens: {café, pão} Se café Então pãoconf = 1,0 Se pão Então caféconf = 0,6 Conjunto de itens: {café, manteiga} Se café Então manteigaconf = 1,0 Se manteiga Então caféconf = 0,6 Conjunto de itens: {pão, manteiga} Se pão Então manteigaconf = 0,8 Se manteiga Então pãoconf = 0,8

13 p Regras candidatas com três itens com o seu valor de certeza: Conjunto de itens: {café, manteiga, pão} Se café, manteiga Então pãoconf = 1,0 Se café, pão Então manteigaconf = 1,0 Se manteiga, pão Então caféconf = 0,75 Se café Então manteiga, pãoconf = 1,0 Se manteiga Então café, pãoconf = 0,6 Se pão Então café, manteigaconf = 0,6 p Padrões descobertos, minsup = 0,3 e minconf = 0,8: Se café Então pãoconf = 1,0 Se café Então manteigaconf = 1,0 Se pão Então manteigaconf = 0,8 Se manteiga Então pãoconf = 0,8 Se café, manteiga Então pãoconf = 1,0 Se café, pão Então manteigaconf = 1,0 Se café Então manteiga, pãoconf = 1,0

14 portanto, suporte e confiança são usados como filtros, para diminuir o número de regras geradas mas, se considerarmos a regra Se A então B com confiança de 90% podemos garantir que seja uma regra interessante?

15 LIFT a regra (1) Se A então B com confiança de 90% NÃO é interessante se B aparece em cerca de 90% das transações, pois a regra não acrescentou nada em termos de conhecimento. já a regra (2): Se C então D com confiança de 70% e´ muito mais importante se D aparece, digamos, em 10% das transações. lift = confiança da regra / suporte do conseqüente lift da regra (1) = 0,9 / 0,9 = 1 lift da regra (2) = 0,7 / 0,1 = 7

16 Improvement r Foi proposto para diminuir o número de regras geradas, utilizando o princípio de que uma regra mais simples é uma regra melhor, desde que a regra mais complexa ou mais longa tenha confiança menor ou igual do que a regra mais simples ou menor.

17 Exemplos p 78,78% das cirurgias múltiplas são realizadas em pessoas do sexo masculino. Esta regra se mostra interessante, pois a concentração para o sexo masculino não condiz com a realidade da base de dados que na sua maioria é do sexo feminino. Ao se estudar esta regra foi encontrada além da relação do procedimento com o sexo masculino também com a faixa etária de 0 a 9 anos. Não foram encontradas razões, dentro dos atributos da base de dados, que justificassem a concentração deste procedimento neste sexo e faixa etária. Esta situação foi encaminhada para o setor de avaliação e controle para um melhor estudo.

18 r 80,45% das herniorrafias inguinais (unilateral) múltiplas são realizadas em pessoas do sexo masculino. Estudando mais profundamente foi verificado que este procedimento estava concentrado em crianças de 0 a 4 anos, caracterizando um erro de nomenclatura nos procedimentos, pois nesta idade um procedimento de urologia muito comum é o tratamento da hidrocele comunicante muito parecido com a herniorrafia inguinal. Foram tomadas medidas para que tal procedimento fosse registrado de forma correta pelos hospitais, pois a herniorrafia inguinal pode levar a uma internação de urgência ou emergência, aumentado seu custo, já o tratamento da hidrocele comunicante é um procedimento eletivo.

19 Exemplo: Conhecer o perfil do cliente associado com as compras que o mesmo faz na loja Regras geradas: 6.CASAAPTO=CASA SEXO=F 1036 ==> RESIDPROPALUG=PROPRIA 1033 conf:(1) 22.ESTADOCIVIL=CASADO 2330 ==> RESIDPROPALUG=PROPRIA 2243 conf:(0.96) 39.NODEFILHOS= ==> CASAAPTO=CASA 1017 conf:(0.96) 98.ESTADOCIVIL=CASADO SEXO=M 1390 ==> CASAAPTO=CASA 1279 conf:(0.92) 176.SEXO=F 1369 ==> RESIDPROPALUG=PROPRIA 1164 conf:(0.85) 5.ESTADOCIVIL=SOLTEIRO BAIRRO=BELA_VISTA RESIDPROPALUG=ALUGADA 282 ==> MORAQTTEMPO=1 282 conf:(1) 11.ESTADOCIVIL=VIUVO OBJCOMPRA=CONSTR_PREDIO/APTO/CASA_PROPRIA 200 ==> CASAAPTO=APTO 200 conf:(1) 13.ESTADOCIVIL=VIUVO RESIDPROPALUG=ALUGADA 192 ==> CASAAPTO=APTO 192 conf:(1) 37.PRIMEIRAVEZ=NAO FAIXETFILHO=SEM_FILHOS SEXO=M 700 ==> CASAAPTO=CASA 697 conf:(1) 67.BAIRRO=CENTRO SEXO=F 811 ==> PRIMEIRAVEZ=NAO 798 conf:(0.98) 69.ESTADOCIVIL=CASADO OBJCOMPRA=REFORMA_EM_CASA 840 ==> RESIDPROPALUG=PROPRIA 819 conf:(0.98) 13.ESTADOCIVIL=CASADO FAIXETFILHO=ADULTO 819 ==> RESIDPROPALUG=PROPRIA 819 conf:(1) 16.FAIXETFILHO=SEM_FILHOS BAIRRO=BELA_VISTA MORAQTTEMPO=1 282 ==> ESTADOCIVIL=SOLTEIRO 282 conf:(1) 384.ESTADOCIVIL=SOLTEIRO BAIRRO=BELA_VISTA 331 ==> FAIXETFILHO=SEM_FILHOS 327 conf:(0.99) 79.FAIXETFILHO=ADULTO RESIDPROPALUG=ALUGADA SEXO=F 192 ==> CASAAPTO=APTO 192 conf:(1) 379.OBJCOMPRA=REFORMA_EM_CASA 993 ==> RESIDPROPALUG=PROPRIA 957 conf:(0.96) 17.SUBCATEGPRODUTO=ROLO_PARA_PINTURA 41 ==> OBJCOMPRA=REFORMA_EM_CASA 22 conf:(0.54) 9.PRIMEIRAVEZ=SIM SEXO=F 84 ==> FAIXETFILHO=SEM_FILHOS 71 conf:(0.85) 34.PRIMEIRAVEZ=SIM 343 ==> SEXO=M 259 conf:(0.76) 35.SUBCATEGPRODUTO=LUVA 96 ==> SEXO=M 72 conf:(0.75) 41.SUBCATEGPRODUTO=ADAPTADOR 30 ==> SEXO=M 22 conf:(0.73) 44.FAIXETFILHO=ADULTO SUBCATEGPRODUTO=REJUNTE 28 ==> SEXO=F 20 conf:(0.71) 46.SUBCATEGPRODUTO=CHUVEIRO 38 ==> SEXO=M 27 conf:(0.71) 47.SUBCATEGPRODUTO=REDUCAO 27 ==> SEXO=M 19 conf:(0.7) 52.SEXO=F SUBCATEGPRODUTO=PISO 31 ==> FAIXETFILHO=ADULTO SUBCATEGPRODUTO=TOMADA 70 ==> SEXO=M 47 conf:(0.67) 56.SUBCATEGPRODUTO=FITA_VEDA_ROSCA 30 ==> SEXO=M 20 conf:(0.67) 72.FAIXETFILHO=ADULTO 1136 ==> SEXO=F 705 conf:(0.62) 269.SUBCATEGPRODUTO=LUVA 96 ==> SEXO=M 72 conf:(0.75) 344.FAIXETFILHO=CRIANCA 765 ==> SEXO=M 487 conf:(0.64) 386.SUBCATEGPRODUTO=PISO 74 ==> SEXO=M 43 conf:(0.58) 88.PRIMEIRAVEZ=NAO 3065 ==> SEXO=F 1285 conf:(0.42) 226.SUBCATEGPRODUTO=PISO 74 ==> RESIDPROPALUG=PROPRIA 60 conf:(0.81)

20 Classificação: árvores de decisão

21 Árvore de decisão montante médiobaixoalto contasalário baixoaltonãosim E=sim E=não E=sim

22 Árvores de Decisão As árvores de decisão são representações gráficas que consistem: de nodos que representam os atributos; de arcos que correspondem ao valor de um atributo; de nodos folha que designam uma classificação.

23 Árvores de decisão As árvores de decisão: particionam recursivamente um conjunto de dados, até que cada subconjunto obtido deste particionamento contenha casos de uma única classe; organizam dados de maneira compacta; classificam novos casos.

24 Exemplo:

25 Algoritmo ID3 [Quinlan 86] Passos para construção de uma árvore de decisão: 1. Seleciona um atributo como sendo o nodo raiz ; 2. Arcos são criados para todos os diferentes valores do atributo selecionado no passo 1; 3. Se todos os exemplos de treinamento sobre uma folha pertencerem a uma mesma classe, esta folha recebe o nome da classe. Se todas as folhas possuem uma classe, o algoritmo termina; 4. Senão, o nodo é determinado com um atributo que não ocorra no trajeto da raiz, e arcos são criados para todos os valores. O algoritmo retorna ao passo 3.

26 Algoritmo ID3 Entropia Quantidade necessária de informação para identificar a classe de um caso Entropia(S) = -(p 1 l og 2 p 1 + p 2 log 2 p p n log 2 p n ) sendo n o número de valores possíveis da classe Ganho de informação Redução esperada da entropia Ganho (S, A) = Entropia(S) - ((|Sv| / |S|)*Entropia(Sv)) onde Sv é um subconjunto de S correspondente a um valor do atributo A

27 Entropia e Ganho de Informação Considerando apenas 2 valores possíveis, a entropia é dada pela fórmula: Entropia (S) = - (p + log 2 p + + p - log 2 p - ) Onde: S é a totalidade de amostras do conjunto p + é a proporção de amostras positivas p - é a proporção de amostras negativas Exemplo: Se S é uma coleção de 14 exemplos com 9 instâncias positivas e 5 negativas, então: Entropia (S) = - (9/14) Log 2 (9/14) – (5/14) Log 2 (5/14) = 0.940

28 Ganho de Informação O ganho de informação é dado por: Gain (S, A) = Entropia (S) - ((|Sv| / |S|) * Entropia (Sv)) Onde: Gain (S, A) é o ganho do atributo A sobre o conjunto S Sv = subconjunto de S para um valor do atributo A |Sv| = número de elementos de Sv |S| = número de elementos de S

29 Nodo raiz Selecionando o melhor atributo: Entropia(S) = - 9/14 log 2 (9/14) - 5/14 log 2 (5/14) = 0,940 Entropia(montante=médio) = - 2/5 log 2 (2/5) - 3/5 log 2 (3/5) = 0,971 Entropia(montante=baixo) = - 4/4 log 2 (4/4) - 0/4 log 2 (0/4) = 0 Entropia(montante=alto) = - 3/5 log 2 (3/5) - 2/5 log 2 (2/5) = 0,971 Gain (S,montante) = 0,940 - (5/14) 0,971 - (4/14) 0 - (5/14) 0,971 = 0,246 Gain (S,idade) = 0,940 - (4/14) 1 - (5/14) 0,971 - (5/14) 0,722 = 0,049 Gain (S,salário) = 0,940 - (7/14) 0,592 - (7/14) 0,985 = 0,151 Gain (S,conta) = 0,940 - (8/14) 0,811 - (6/14) 1 = 0,047

30 Escolha do próximo atributo Qual atributo pode ser testado aqui? montante médiobaixoalto ?? sim {C1,C2,...C14} [9+, 5-] {C1,C2,C8,C9,C11} [2+, 3-] {C3,C7,C12,C13} [4+, 0-] {C4,C5,C6,C10,C14} [3+, 2-]

31 Escolha o próximo atributo Qual é o melhor atributo? S médio = { C1,C2,C8,C9,C11 } Gain ( S médio, idade) = 0,971 - (2/5)0 - (2/5)1 - (1/5)0 = 0,571 Gain ( S médio, salário) = 0,971 - (3/5)0 - (2/5)0 = 0,971 Gain ( S médio, conta) = 0,971 - (3/5)0,918 - (2/5)1= 0,020

32 montante médiobaixoalto ?salário sim {C1,C2,...C14} [9+, 5-] {C1,C2,C8,C9,C11} [2+, 3-] {C3,C7,C12,C13} [4+, 0-] {C4,C5,C6,C10,C14} [3+, 2-] baixoalto {C1,C2,C8} [0+, 3-] {C9,C11} [2+, 0-]

33 Resultado montante médiobaixoalto contasalário baixoaltonãosim E=sim E=não E=sim

34 Avaliação da árvore de decisão Avaliação através da taxa de acertos/erros: taxa_de_acertos = N acertos / N total taxa_de_erros = N erros / N total Utilizando o conjunto de treinamento: proporção_de_acertos = 14 / 14 = 100% proporção_de_erros = 0 / 14 = 0%

35 Conjunto de teste

36 Proporção de acertos/erros Utilizando o conjunto de teste: proporção_de_acertos = N acertos / N total proporção_de_acertos = 5 / 7 = 71,4% proporção_de_erros = N erros / N total proporção_de_erros = 2 / 7 = 28,6%

37 Algoritmo C4.5 [Quinlan 93] O algoritmo C4.5 possibilita: trabalhar com valores contínuos trabalhar com valores indisponíveis podar árvores de decisão derivar regras

38 Atributos com valores contínuos

39 Envolve o seguinte teste: atributo valor e os seguintes passos: ordenar os valores de forma crescente (670, 760, ) selecionar o valor que favorecerá na redução da informação necessária (990)

40 Atributos com valores contínuos Considerando o teste: salário 990 obtemos a árvore: montante médiobaixoalto contasalário nãosimnãosim < = 990 > 990nãosim

41 Poda de árvores de decisão A poda de uma árvore de decisão é realizada: considerando a taxa de erros substituindo uma subárvore por um nodo folha

42 Derivação de regras se (montante = médio) e (salário = baixo) então empréstimo = não se (montante = médio) e (salário = alto) então empréstimo = sim se (montante = baixo) então empréstimo = sim... montante médiobaixoalto contasalário nãosimnãosim baixo altonãosim

43 Detecção de desvios

44 Desvios: árvores de decisão dados que não se enquadram no modelo pré-definido

45 Desvios: formação de agrupamentos p agrupamentos com um número pequeno de casos

46 Desvios: regras de associação p se tenho uma regra do tipo X Y p com grau de confiança de 98%, podemos considerar os 2% restantes como desvio

47 Desvios: estatística análise univariada: usada para atributos isolados se o atributo for numérico, pode-se utilizar o desvio padrão Numa distribuição normal N (, 2 ) onde é a média e 2 a variância podemos considerar desvio os valores que estão a 3 ou mais desvios-padrão da média, para mais ou para menos

48 Desvios: estatística Análise multivariada : para análise de mais de uma variável regressão linear (para dados numéricos) qui-quadrado (para dados categóricos) análise de correspondência (para dados categóricos) análise de resíduos em tabelas de contingência (para dados categóricos)

49 Formação de agrupamentos

50 Exemplos

51 Objetivo : Conhecer o perfil do cliente que compra na loja Cluster 0 51,82% da população - perfil de um consumidor casado, com residência própria, predominantemente em casas contra uma pequena parcela que reside em apartamentos, que já fez mais de uma compra na loja, dividindo-se quase que igualmente entre homens e mulheres.

52 Objetivo : Conhecer o perfil do cliente que compra na loja Cluster 1 17,15% da população - clientes sem filhos, solteiros, que residem em casas próprias, sendo a maioria cliente antigo; 47% com estado civil casado estão, na sua grande maioria, casados a menos de 1 ano.

53 Objetivo : Conhecer o perfil do cliente que compra na loja Cluster 3 14,60% da população - clientes do sexo feminino, com filhos adultos, com idade dos 50 aos 65 anos em sua maioria, residindo a maior parte em casas mas com um número relativamente grande morando em apartamentos (25%), todos com residência própria, e que também já compraram mais de uma vez na loja; o bairro, para 60% dos casos, é CENTRO.

54 Objetivo : Conhecer o perfil do cliente que compra na loja Cluster 4 9,49% dos casos - pessoas que moram em residências alugadas, sem filhos ou com filhos pequenos, a maioria do sexo masculino, morando predominantemente em casas. Dividem-se principalmente entre solteiros e casados, sendo grande parte deles casada a menos de 1 ano.

55 Softwares p/ mineração Intelligent Miner – IBM Weka – softwre livre – Nova Zelândia Darwin – Oracle Sipina – universitário p/ árvores de decisão Clementine – 1º? Microsoft OLE DB for Data Mining...


Carregar ppt "ALGORITMOS para Descoberta de Conhecimento em Bases de Dados prof. Luis Otavio Alvares II/UFRGS."

Apresentações semelhantes


Anúncios Google