Algoritmos Genéticos
em Mineração de Dados
Descoberta de
Conhecimento
Descoberta do Conhecimento
em Bancos de Dados
Processo interativo e iterativo
para identificar padrões válidos,
novos, potencialmente úteis e
interpretáveis em bases de dados.
1
Aplicações:
Conhecendo o Negócio
• Conhecer Comportamento do Consumidor
• Enriquecimento de Banco de Dados
• Segmentação de Mercado
• Análise de Vendas
• Detecção de Fraude
• Conhecer um processo, um equipamento etc,
a partir de dados armazenados
Processo de Descoberta do
Conhecimento - Fases
Interpretação
Conhecimento
Data Mining
Padrões
Transformação
Pré-Processamento
Seleção
Banco
Dados
2
Fases do Processo de
Descoberta do Conhecimento
• Identificação da tarefa - O que se deseja conhecer/extrair?
• Seleção de dados - Dados e/ou atributos relacionados .
• Limpeza, PréPré -Processamento - Retirada de dados
ambíguos, duplicados, etc.
• Enriquecimento - Agregar informação externa.
• Mineração dos dados - Extrair regras, agrupar.
• Relatório - Histórico, conclusões, informações relevantes, etc.
Tarefas de Data Mining
• Clusterização
– Segmentar registros de um BD em N clusters (grupos, classes)
• Diferenciação
– Regras que diferenciam um cluster de outros
• Classificação
– Identificar o cluster (grupo) ao qual pertence um registro
• Explicação
– Regras que explicam o porque de um conjunto de registros
pertencer a um cluster (classe)
3
Regras
• Regras possuem:
– antecedentes (condições) e
– conseqüentes (classe):
SE COND1 E COND2 E... ENTÃO CLASSE_A
• Condições relacionam valores dos atributos:
– Atributos Quantitativos: idade, salário, etc
– Atributos Categóricos: Sexo, Estado Civil, etc
– Relações: <, >, =. Exemplo:
SE seguro>3000 E sexo=M ENTÃO Não-Fraudador
Mineração
• Inferir uma Regra Y descobrir condições (atributos,
valores/categorias) que satisfazem a uma classe
• Classificar um novo cliente Y presumir a classe a
qual pertence um determinado cliente
• Agrupar clientes Y identificar classes por suas
características
• Explicar Y regras com acurácia que abranjam todos
os elementos de uma classe
4
Detecção de Fraude
• Regra explica sinistros fraudados
SE
06:00hs< hora_sinistro < 08:30hs E
oficina ∈ oficinas_suspeitas
E
prêmio_seguro < R$ 2300
E
registro_policial = NÃO E
...........
custo_sinistro > 2,4 prêmio_seguro
ENTÃO
FRAUDE
Avaliação de uma Regra
• Acurácia:
– mede o quão boa é a sua solução (C) em função do grau de certeza,
ou confiança, obtido através do conjunto de exemplos que pertencem
(P) e não pertencem (P ) à classe;
– mede o quão bem a teoria descoberta (neste caso, uma regra) se
aplica aos dados;
– valor máximo = 100%, indicando que um registro classificado por essa
regra com certeza pertence à classe (P)
• Abrangência:
– percentual de registros cobertos por uma regra ([C^P] / P);
– valor máximo = 100%, significando que todos os possíveis registros de
uma determinada classe meta foram cobertos por essa regra.
5
Medidas de Desempenho
• Subconjunto C: Condição - Registros que satisfazem as
condições da Regra (SE)
• Subconjunto P: Previsão - Registros que satisfazem o objetivo da
Regra (ENTÃO)
• Acurácia de uma Regra (Ac
Ac): Percentual dos registros que
satisfazem C então P dentre todos os registros que satisfazem C.
• Abrangência de uma Regra (Ab
Ab): Percentual dos registros que
satisfazem C então P dentre todos os registros que satisfazem P.
Ac =
C&P
(C & P + C & P )
Ab =
C &P
(C & P + C & P )
Exemplo
• BD contém 100 Registros
• Registros estão segmentados em 2 Grupos:
– 80 regs. do G1 e 20 regs. do G2)
• Procura-se regras (C) para G1 (P≡ pertence a G1)
• Uma determinada regra encontrada, resulta em:
– 60 Registros satisfazem a regra e são do G1 (C&P)
– 20 Registros do G1 não satisfazem a regra
– 12 Registros do G2 satisfazem a regra
Ac =
60
( 60 + 12 )
= 0.833
Ab =
60
( 60 + 20 )
(C & P)
(C & P)
= 0.75
6
Classificação por Algoritmos
Genéticos
Conhece-se a segmentação de um BD em
n Grupos (clusters
(clusters)) ; deseja-se descobrir
a(s) regra(s) que melhor caracterizam
cada Grupo.
As regras podem se usadas para
classificar outros registros que ainda
não tenham sido segmentados.
Modelagem do GA
•
•
•
•
•
Representação
Decodificação
Operadores
Medidas de Desempenho
Avaliação
7
Cromossoma representa
uma Regra
• Regras :=antecedentes + consequentes
Se COND1 ^ COND2 ^...ENTÃO CLASSE_A
Exemplo:
Se 200<salário<3000 ^ sexo=M ENTÃO Bom-Pagador
• Evoluir Regra Y
– descobrir faixa de valores para atributos quantitativos
– descobrir conjunto de categorias para os categóricos
Representação
Atrib(1)
Atrib(2)
Atrib(n)
............
Gene
Cada Atributo é representado por um gene com 2 campos.
Atributos podem ser:
Gene
• Quantitativos (faixas
(
de valores) mim
• Categóricos (código)
máx
Código binário
8
Decodificação
Um cromossoma representa uma regra que
responde a uma pergunta:
Ex: O que caracteriza um estudante da PUC-Rio?
Atributos considerados:
A(1): Idade {15; 90}, A(2) Renda Familiar {200;8000}, A(3): Sexo{M; F}
Exemplo de um
cromossoma:
A(1)
18
25
A(2)
3000
A(3)
8000 M,F
A(1), A(2) são Quantitativos e A(3) é Categórico
Se 18 ≤ Idade
Idade≤
≤ 25 e 3000 ≤ Renda ≤ 8000 e Sexo = M ou F
então Estuda na PUC
Exemplo: Classificação de
Empresas
• Deseja-se identificar padrões de empresas (já agrupadas)
em um BD
• Exemplo: A regra abaixo esclarece qual o padrão das
empresas do Cluster 1?
Se receita_serviço 1 (Instalação)
= 5000<R$<7000 &
receita_serviço 2 (Manutenção) = 7000<R$<8000 &
código_atividade = 13 (Ind. Mat.Elétrico Eletrônico e Comunicação) &
10 < #_Filiais < 50 &
...........
#_Empregados > 100
Então Empresa pertence ao Cluster 1(Prioritárias)
9
Cromossoma ≡ Regra
Genes ≡ atributos do banco de dados
cruzamento
P1
Receita Serviço 1 Receita Serviço 2
COD_ATIV = 13
1000<R$<2000
4000<R$<9000
10<#_Filiais<50
Empregados>100
P2
Receita Serviço 1 Receita Serviço 2
COD_ATIV = 14
5000<R$<7000
7000<R$<8000
30<#_Filiais<60
Empregados>300
F1
Receita Serviço 1 Receita Serviço 2
COD_ATIV = 14
1000<R$<2000
4000<R$<9000
30<#_Filiais<60
Empregados>300
F2
Receita Serviço 1 Receita Serviço 2
COD_ATIV = 13
5000<R$<7000
7000<R$<8000
10<#_Filiais<50
Empregados>100
Operadores
• Crossover
– Sobre Reais: 1 ponto; 2 pontos; Uniforme;
Aritmético
– Sobre Binários (Lógicos): OU, E
• Mutação
– Troca gene por um número aleatório na faixa
do atributo escolhido na mutação
– Sobre Binários (Lógicos): NOT
10
Codificação de Atributos
Categóricos
- Ex: Residência: = {funcional, parente, alugada, própria}
- Cada posição indica ausência (0) ou presença (1) do
símbolo correspondente
Alelo
Decodificação
Tipo Res
1
0001
própria
2
0010
alugada
3
0011
própria ou alugada
…
…
…
15
1111
própria ou alugada ou parente ou
funcional (don’t care)
0
0000
Não informada (Null)
Operadores Lógicos
E, OU, NOT
P1
0011
null
F1
0111
null
F1 = P1 OU P2
P2
0110
null
F2
0010
null
F2 = P1 E P2
P
0011
null
1100
null
NOT P
11
Função de Avaliação
• O objetivo em datamining é obter regras com alta
acurácia e alta abrangência.
• As fórmulas de Acurácia e Abrangência, quando
usadas como funções de avaliação, podem prejudicar a
evolução se as regras na primeira população
apresentam Ac=Ab=0
• É preciso definir funções que forneçam avaliações
diferentes de 0 (zero)
• Existem várias funções propostas, cujo o desempenho
varia com a aplicação (problema)
• Ac e Ab podem recompensar avaliação quando
diferentes de zero
Funções de Avaliação
• Número-Atributos
• Distância-Ótima
• RecompensaAtributos
• CBayesianos
• Número-Registros
•
•
•
•
•
FAcurácia
FAbrangência
Correlação-2-Grupos
Rule-Interest[PIAT91]
Chi-Square[RAD95]
12
Ciclo de um Algoritmo Genético
Avaliação
dos Filhos
Planejamento Cromossoma Aptidão
Regra A
Regra B
Regra C
Regra D
Seleção
86%
44%
69%
7%
f(f( )=acerto%
)=acerto%
Cruzamento
Filhos
Reprodução
Mutação
Otimização da Acurácia da
Regra
30000
100%
25000
20000
50%
15000
10000
49
45
41
37
33
29
25
21
17
13
9
0
5
5000
1
Acurácia
Melhor Padrão
Cromossomas x 2000
Evolução è
13
Download

Regras