Title: ALGORITMOS para Descoberta de Conhecimento em Bases de Dados
1ALGORITMOS para Descoberta de Conhecimento em
Bases de Dados
- prof. Luis Otavio Alvares
- II/UFRGS
2Sumário
- Regras de associação Apriori
- Classificação ID3, C4.5
- Formação de agrupamentos k-médias
- Detecção de desvios
3 4Regras 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
6Algoritmos 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 Ci1 é o conjunto de
tamanho i1 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- Dada uma regra de associação Se compra X então
compra Y, os fatores sup e conf são
- (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.
10C1
L1
11C2 , 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
- Se café, manteiga Então pão conf 1,0
- Se café, pão Então manteiga conf 1,0
- Se café Então manteiga, pão conf 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
16Improvement
- 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.
17Exemplos
- 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.
19Exemplo Conhecer o perfil do cliente associado
com as compras que o mesmo faz na loja
- Regras geradas
- 6.CASAAPTOCASA SEXOF 1036 gt
RESIDPROPALUGPROPRIA 1033 conf(1) - 22.ESTADOCIVILCASADO 2330 gt
RESIDPROPALUGPROPRIA 2243 conf(0.96) - 39.NODEFILHOS0 1061 gt CASAAPTOCASA 1017
conf(0.96) - 98.ESTADOCIVILCASADO SEXOM 1390 gt
CASAAPTOCASA 1279 conf(0.92) - 176.SEXOF 1369 gt RESIDPROPALUGPROPRIA 1164
conf(0.85) - 5.ESTADOCIVILSOLTEIRO BAIRROBELA_VISTA
RESIDPROPALUGALUGADA 282 gt MORAQTTEMPO1 282
conf(1) - 11.ESTADOCIVILVIUVO OBJCOMPRACONSTR_PREDIO/APTO
/CASA_PROPRIA 200 gt CASAAPTOAPTO 200 conf(1) - 13.ESTADOCIVILVIUVO RESIDPROPALUGALUGADA 192
gt CASAAPTOAPTO 192 conf(1) - 37.PRIMEIRAVEZNAO FAIXETFILHOSEM_FILHOS SEXOM
700 gt CASAAPTOCASA 697 conf(1) - 67.BAIRROCENTRO SEXOF 811 gt PRIMEIRAVEZNAO
798 conf(0.98) - 69.ESTADOCIVILCASADO OBJCOMPRAREFORMA_EM_CASA
840 gt RESIDPROPALUGPROPRIA 819 conf(0.98) - 13.ESTADOCIVILCASADO FAIXETFILHOADULTO 819 gt
RESIDPROPALUGPROPRIA 819 conf(1) - 16.FAIXETFILHOSEM_FILHOS BAIRROBELA_VISTA
MORAQTTEMPO1 282 gt ESTADOCIVILSOLTEIRO 282
conf(1) - 384.ESTADOCIVILSOLTEIRO BAIRROBELA_VISTA 331
gt FAIXETFILHOSEM_FILHOS 327 conf(0.99) - 79.FAIXETFILHOADULTO RESIDPROPALUGALUGADA
SEXOF 192 gt CASAAPTOAPTO 192 conf(1) - 379.OBJCOMPRAREFORMA_EM_CASA 993 gt
RESIDPROPALUGPROPRIA 957 conf(0.96) - 17.SUBCATEGPRODUTOROLO_PARA_PINTURA 41 gt
OBJCOMPRAREFORMA_EM_CASA 22 conf(0.54)
20Classificação árvores de decisão
21Árvore de decisã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.
24Exemplo
25Algoritmo 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.
26Algoritmo ID3
- Entropia
- Quantidade necessária de informação para
identificar a classe de um caso - Entropia(S) -(p1 log 2 p1 p2 log 2 p2
... 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
27Entropia 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
28Ganho 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
29Nodo raiz
- Selecionando o melhor atributo
- Entropia(S) - 9/14 log2 (9/14) - 5/14 log 2
(5/14) 0,940
30Escolha do próximo atributo
31Escolha 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
32C1,C2,...C14 9, 5-
montante
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-
33Resultado
34Avaliaçã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
35Conjunto de teste
36Proporçã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
37Algoritmo 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
38Atributos com valores contínuos
39Atributos com valores contínuos
- Envolve o seguinte teste
- atributo lt valor ou atributo gt valor
- e os seguintes passos
- ordenar os valores de forma crescente (670, 760,
... 8900) - selecionar o valor que favorecerá na redução da
informação necessária (990)
40Atributos com valores contínuos
- Considerando o teste
- salário lt 990 ou salário gt 990
- obtemos a árvore
41Poda 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
42Derivaçã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 ...
43 44Desvios árvores de decisão
- dados que não se enquadram no modelo pré-definido
45Desvios formação de agrupamentos
- agrupamentos com um número pequeno de casos
46Desvios 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
47Desvios 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
48Desvios 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)
49Formação de agrupamentos
50Exemplos
51Objetivo Conhecer o perfil do cliente que
compra na loja
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.
52Objetivo Conhecer o perfil do cliente que
compra na loja
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.
53Objetivo Conhecer o perfil do cliente que
compra na loja
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.
54Objetivo Conhecer o perfil do cliente que
compra na loja
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.
55Softwares 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
- ...