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

Apresentações semelhantes


Apresentação em tema: "ALGORITMOS para Descoberta de Conhecimento em Bases de Dados"— Transcrição da apresentação:

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

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

3 Regras de Associação

4 Regras de associação Regras de associação ou regras associativas têm a forma {X1, X2, ..., Xn}  Y significando que se encontrarmos todos os itens X1, X2, ..., Xn 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 Algoritmos de Regras de Associação
AIS SETM Apriori Apriori -TID Apriori-Hybrid Dense – Miner MiRABIT

7 Algoritmo Apriori (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 L1, dos itens freqüentes. (2) Os pares dos itens em L1 se tornam pares candidatos C2 para o segundo passo. Os pares em C2 cuja contagem alcançar minsup são os pares freqüentes L2. (3) As trincas candidatas C3 são aqueles conjuntos {A, B, C} tais que todos os {A, B}, {A, C} e {B, C} estão em L2. No terceiro passo, conte a ocorrência das trincas em C3; aquelas cuja contagem alcançar minsup são as trincas freqüentes, L3. (4) Proceda da mesma forma para tuplas de ordem mais elevada, até os conjuntos se tornarem vazios. Li são os conjuntos freqüentes de tamanho i; Ci+1 é o conjunto de tamanho i+1 tal que cada subconjunto de tamanho i está em Li.

8 Exemplo de descoberta de regras associativas
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).

9 Número de registros com X e Y
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 (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. 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.

10 C1 L1

11 C2 , L2 C3, L3

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

13 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ão conf = 1,0 Se café, pão Então manteiga conf = 1,0 Se manteiga, pão Então café conf = 0,75 Se café Então manteiga, pão conf = 1,0 Se manteiga Então café, pão conf = 0,6 Se pão Então café, manteiga conf = 0,6 Padrões descobertos, minsup = 0,3 e minconf = 0,8: Se café Então pão conf = 1,0 Se café Então manteiga conf = 1,0 Se pão Então manteiga conf = 0,8 Se manteiga Então pão conf = 0,8

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 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 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 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 21 54.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 conta salário médio baixo alto não sim
E=sim E=não

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 Ganho de informação
Quantidade necessária de informação para identificar a classe de um caso Entropia(S) = -(p1 log 2 p1 + p2 log 2 p pn log 2 pn ) 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+ log2 p+ + p- log2 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 log2 (9/14) - 5/14 log 2 (5/14) = 0,940 Entropia(montante=médio) = - 2/5 log2 (2/5) - 3/5 log 2 (3/5) = 0,971 Entropia(montante=baixo) = - 4/4 log2 (4/4) - 0/4 log2 (0/4) = 0 Entropia(montante=alto) = - 3/5 log2 (3/5) - 2/5 log2 (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
montante médio baixo alto ? 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-] Qual atributo pode ser testado aqui?

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

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

33 Resultado montante médio baixo alto conta salário não sim E=sim E=não

34 Avaliação da árvore de decisão
Avaliação através da taxa de acertos/erros: taxa_de_acertos = Nacertos / Ntotal taxa_de_erros = Nerros / Ntotal 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 = Nacertos / Ntotal proporção_de_acertos = 5 / 7 = 71,4% proporção_de_erros = Nerros / Ntotal 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 Atributos com valores contínuos
Envolve o seguinte teste: atributo <= valor ou 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 ou salário > 990 obtemos a árvore: montante médio baixo alto conta salário não sim < = 990 > 990

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 montante conta salário
médio baixo alto conta salário não sim 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 ...

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
agrupamentos com um número pequeno de casos

46 Desvios: regras de associação
se tenho uma regra do tipo X  Y 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"

Apresentações semelhantes


Anúncios Google