Você está na página 1de 80

Universidade Federal da Bahia

Instituto de Matemtica
Departamento de Cincia da Computao

Minerao de Dados Utilizando


Algoritmos Genticos

Joilma Souza Santos


Orientadora: Prof. Daniela Barreiro Claro

Salvador Bahia
2008

Joilma Souza Santos

Minerao de Dados Utilizando


Algoritmos Genticos
Monografia apresentada ao Curso de Graduao
em Cincia da Computao da Universidade
Federal da Bahia como requisito parcial
obteno do diploma de Bacharel em Cincia da
Computao.
Orientadora: Prof. Daniela Barreiro Claro

Salvador Bahia
2008

AGRADECIMENTOS

Agradeo a Deus por tudo que tem feito por mim e por nunca ter me deixado
sucumbir diante das dificuldades que enfrentei para chegar at aqui.
Agradeo a meu pai pelos sacrifcios que fez por mim e pelo amor que sempre me
deu e a quem eu sempre serei grata, e a minha irm Joelma.
A meu namorado Tadeu que me ajudou nos momentos mais difceis, e que todo dia
me oferece suporte.
A Eric Sobral, pela interface grfica da ferramenta deste projeto, e por sua amizade.
A meus colegas de trabalho, que para mim j so como parte de minha famlia e que
me ajudaram nesse projeto.
A todos os meus amigos e amigas, que me apoiaram com uma palavra de incentivo,
com um sorriso quando estava desanimada. Vocs so tesouros em minha vida, e fica aqui o
meu mais sincero agradecimento.

Joilma Souza Santos

Estamos nos afogando em dados,


mas sedentos por conhecimento.
John Naisbitt

RESUMO

A produo crescente de dados por organizaes privadas e pblicas produz enormes


bases de dados. Conseqentemente, as tarefas de anlise e extrao de informaes
tornam-se extremamente custosas para um analista humano. No processo de Minerao de
Dados ou Data Mining, a anlise e extrao do conhecimento realizada procurando-se
padres consistentes e/ou relacionamentos sistemticos entre as instncias destes dados.
Para implementao dessa tcnica, mtodos automticos baseados na Inteligncia Artificial
so usados a fim de aperfeioar o processo de anlise. Este projeto visa determinar padres
atravs dos algoritmos genticos com o intuito de minerar os dados. Os padres obtidos
atravs dos algoritmos genticos so comparados com padres determinados atravs do uso
de um outra tcnica de Inteligncia Artificial, a Lgica Fuzzy e uma ferramenta com o intuito
de integrar estas duas tcnicas foi desenvolvida.

Palavras-Chave: Minerao de Dados, KDD, Inteligncia Artificial, Algoritmos Genticos,


Banco de Dados.

ABSTRACT

The growing volume of information by public and private organizations produces


huge databases. Therefore, the tasks of analysis and extraction of information becomes
extremely costly for analysts. In the process of Data Mining, these tasks require consistent
standards and / or systematic relationships between different instances of these data. To
implement and optimize the analysis process, automation methods based on artificial
intelligence are used. This project aims to determine patterns through genetic algorithms
with a view to mine the data. The patterns obtained from the Genetic algorithms are
compared with standards set by use a different technique of artificial intelligence, fuzzy logic
and a tool with the aim of integrating these two techniques was developed.
Keywords: Data Mining, KDD, Artificial Intelligence, Genetics Algorithms, Data Bases

LISTA DE FIGURAS

Figura 2.1: Fases do Processo de KDD (PAPPA, 2002 apud LIU; MOTODA, 1998) ................... 17
Figura 2.2: Exemplo de Classificao (CARVALHO, 2005) ........................................................ 19
Figura 2.3: Exemplo de dados organizados em clusters (CARVALHO, 2005) ........................... 21
Figura 2.4: Exemplo de interao de atributos em problema de classificao do tipo XOR
(PAPPA, 2002) ........................................................................................................................... 23
Figura 3.1: Funo hipottica com um mximo local e outro global (LINDEN, 2006). ............ 27
Figura 3.2: Modelo da Tcnica de Gerao e Teste ................................................................. 28
Figura 3.3: Esquema de um algoritmo gentico (LINDEN, 2006) ............................................. 29
Figura 3.5: Roleta Viciada para a populao exemplo da tabela 3.1 (LINDEN, 2006).............. 34
Figura 3.6: Tipos de cruzamento (crossover) (CARVALHO, 2005) ............................................ 36
Figura 4.1: Matriz de Confuso para uma Regra de Classificao (FREITAS, 2001). ............... 44
Figura 4.2: Exemplo de crossover de generalizao/especializao (FREITAS, 2001).............. 48
Figura 5.1: Diagrama de Classe da Funo de Seeding ............................................................ 52
Figura 5.2: Diagrama de Classe da Funo do Operador de Sufrgio Universal ...................... 53
Figura 5.3: Diagrama de Classe da Funo do Operador de Mutao .................................... 54
Figura 5.4: Diagrama de Classe da Funo do Operador de Cruzamento Uniforme ............... 55
Figura 5.5: Diagrama de Classe da Funo de Fitness .............................................................. 56
Figura 5.6: Execuo de experimento utilizando lgica nebulosa. .......................................... 57
Figura 5.7: Execuo de experimento utilizando o algoritmo gentico implementado. ........ 58
Figura 5.8: Execuo de experimento utilizando o algoritmo gentico implementado e
comparando o resultado com a rvore fuzzy escolhida........................................................... 59
Figura 6.1: Acurcia X nmero de geraes ............................................................................. 64
Figura A.1: Formato de arquivo de dados a ser lido pelo Explorer Patterns Tool (SOUZA, 2008)
.................................................................................................................................................. 71

Figura A.2: Mensagem de erro gerada caso um arquivo no tenha sido carregado. .............. 71
Figura A.3: Tela principal do EPT .............................................................................................. 72
Figura A.4: Tela para experimentos utilizando rvores de deciso nebulosas ........................ 74
Figura A.5: Mensagem de erro gerada caso algum item requerido no seja informado. ....... 75
Figura A.6: Janela para gravao de arquivo de resultados para experimentos utilizando
Lgica Nebulosa. ....................................................................................................................... 76
Figura A.7: Tela para experimentos utilizando um algoritmo evolucionrio ........................... 77
Figura A.8: Janela para gravao de arquivo de resultados para experimentos utilizando AG.
.................................................................................................................................................. 78
Figura A.9: Janela para realizao de experimentos comparativos entre algoritmos nebulosos
e genticos................................................................................................................................ 79
Figura A.10: Janela para gravao de arquivo de resultados dos testes comparativos. ......... 80

LISTA DE TABELAS

Tabela 3.1: Grupo de indivduos, seus respectivos fitness e parcela na roleta (LINDEN, 2006)
................................................................................................................................................ 34
Tabela 6.1: Informaes sobre os conjuntos de dados (SOUZA, 2008) ................................... 61
Tabela 6.2: Resultados das Comparaes entre as Taxas de Acurcia Obtidas pelo Algoritmo
Gentico Implementado e as rvores Fuzzy Implementadas no EFT ...................................... 63

LISTA DE ABREVIATURAS E SIGLAS

KDD
WEKA
EFT
AG
COGIN
REGAL
VP
VN
FP
FN
EPT

Knowledge Data Discovery


Waikato Environment for Knowledge Analysis
Explorer Fuzzy Tree
Algoritmo Gentico
Covered-based Genetic Induction
Relational Genetic Algorithm Learner
Verdadeiro Positivo
Verdadeiro Negativo
Falso Positivo
Falso Negativo
Explorer Patterns Tool

p.13
p.13
p.13
p.24
p.39
p.40
p.44
p.44
p.44
p.44
p.49

SUMRIO
1 INTRODUO ............................................................................................................. 13
2 MINERAO DE DADOS .............................................................................................. 16
2.1 AS FASES DO PROCESSO DE DESCOBERTA DE CONHECIMENTO ........................................................ 17
2.2 TAREFAS DA MINERAO DE DADOS ......................................................................................... 19
2.1.1 REGRAS DE CLASSIFICAO .................................................................................................. 19
2.1.2 CLUSTERIZAO (AGRUPAMENTO) ........................................................................................ 20
2.1.3 REGRAS DE ASSOCIAO ..................................................................................................... 21
2.3 UTILIZAO DE ALGORITMOS GENTICOS (AGS) NO PROCESSO DE KDD .......................................... 22
3 ALGORITMOS GENTICOS (AG) ................................................................................... 25
3.1 FUNCIONAMENTO DE UM ALGORITMO GENTICO ........................................................................ 28
3.2 REPRESENTAO CROMOSSOMIAL (CODIFICAO DO INDIVDUO)................................................... 29
3.3 FUNO DE AVALIAO (FITNESS) ............................................................................................ 31
3.4 ESQUEMAS ........................................................................................................................... 31
3.5 OPERADORES GENTICOS ........................................................................................................ 33
3.4.1 SELEO DE PAIS................................................................................................................ 33
3.4.2 RECOMBINAO OU CRUZAMENTO (CROSSOVER).................................................................... 35
3.4.3 MUTAO ........................................................................................................................ 37
3.6 ELITISMO ............................................................................................................................. 37
3.7 NICHOS BIOLGICOS .............................................................................................................. 38
3.6.1 FITNESS SHARING ............................................................................................................... 38
3.6.2 COGIN (COVERED-BASED GENETIC INDUCTION) .................................................................... 39
3.6.3 REGAL (RELATIONAL GENETIC ALGORITHM LEARNER) ............................................................ 40
4 DESCOBERTA DE REGRAS USANDO AGS ...................................................................... 41
4.1 CODIFICAO DO INDIVDUO ................................................................................................... 41
4.2 OPERADOR DE INTRODUO DE NOVOS INDIVDUOS (SEEDING) ..................................................... 42
4.3 FUNO DE AVALIAO PARA DESCOBERTA DE REGRAS DE CLASSIFICAO ....................................... 43
4.4 MTODOS PARA MANTER A DIVERSIDADE DE REGRAS .................................................................. 45
4.5 OPERADOR DE CRUZAMENTO (CROSSOVER)................................................................................ 47
4.6 OPERADOR DE GENERALIZAO E ESPECIALIZAO....................................................................... 48
5 IMPLEMENTAO ...................................................................................................... 49
5.1 ARQUITETURA DA FERRAMENTA ............................................................................................... 49
5.2 ALGORITMO IMPLEMENTADO................................................................................................... 50
5.2.1 INICIALIZAO DA POPULAO ............................................................................................. 51
5.2.2 SELEO DE PAIS................................................................................................................ 52
5.2.3 CRUZAMENTO, MUTAO E ELITISMO: EVOLUO DOS INDIVDUOS........................................... 53
5.2.4 CLCULO DA FUNO DE AVALIAO .................................................................................... 55
5.3 EXPERIMENTOS ..................................................................................................................... 56

5.3.1 RELATRIO DE RESULTADOS ................................................................................................. 59


6 EXPERIMENTOS REALIZADOS ...................................................................................... 60
6.1 BASES DE DADOS UTILIZADAS .................................................................................................. 60
6.2 MTODOS DE EXPERIMENTAO .............................................................................................. 61
6.2.1 CONJUNTO DE TREINO (TRAINING SET) .................................................................................. 61
6.2.2 VALIDAO CRUZADA (CROSS-VALIDATION) ........................................................................... 61
6.2.3 PERCENTAGEM DE TREINO (PERCENTAGE SPLIT) ...................................................................... 62
6.3 PROCEDIMENTOS EXPERIMENTAIS............................................................................................. 62
6.4 RESULTADOS E DISCUSSES ..................................................................................................... 63
7 CONCLUSO ............................................................................................................... 66
REFERNCIAS BIBLIOGRFICAS ........................................................................................ 68
APNDICE A MANUAL PARA UTILIZAO DO EXPLORER PATTERNS TOOL ...................... 70
A.1 TELA PRINCIPAL .................................................................................................................... 72
A.2 TELA PARA EXPERIMENTOS UTILIZANDO LGICA NEBULOSA .......................................................... 73
A.3 TELA PARA EXPERIMENTOS UTILIZANDO ALGORITMOS GENTICOS .................................................. 76
A.4 TELA PARA EXPERIMENTOS UTILIZANDO ALGORITMOS GENTICOS E LGICA NEBULOSA ..................... 79

13

1 INTRODUO

O advento do desenvolvimento da tecnologia tornou a captao e armazenamento


de dados uma tarefa mais simples e barata (FIGUEIRA, 2008 apud FERNANDES, 2003a), o que
contribuiu para o aparecimento de bases de dados cada vez mais complexas e maiores.
Com a crescente valorizao da informao nas ltimas dcadas, a extrao de
conhecimento desses dados brutos torna-se um diferencial no desenvolvimento de
estratgias de investimento de empresas pblicas ou privadas. Experincias como a relatada
no lendrio exemplo das fraldas e cerveja mostram como decises baseadas na anlise de
dados podem aumentar o volume de vendas de determinado produto (FUCHS, 2004).
O modo mais tradicional para extrair informao de uma base de dados baseia-se na
anlise

interpretao

manuais;

este

modo

de

anlise,

alm

de

lento,

computacionalmente custoso e subjetivo (FAYYAD et al., 1996). Visando a extrao mais


rpida e confivel de conhecimento, surgem mtodos automticos denominados Knowledge
Data Discovery, ou simplesmente KDD. O KDD aplica mtodos interdisciplinares
especialmente mtodos estatsticos e de aprendizado de mquina para extrair
conhecimento de alto nvel a partir de bases de dados reais (FREITAS, 2001) e tem a
Minerao de Dados como principal tarefa.
O processo de Minerao de Dados ou Data Mining analisa e extrai informaes teis
a partir de dados. A captao de conhecimento de alto nvel atravs deste processo se d a
partir da procura de padres consistentes e/ou relacionamentos sistemticos entre
instncias de dados, classificando-os em subconjuntos de informaes baseados em regras
estatsticas e da teoria da informao.
Algoritmos de aprendizado de mquina so amplamente utilizados na tarefa de
Minerao de Dados. Estes algoritmos so baseados na construo de rvores de deciso,
utilizando-se como matria prima os dados de treinamento. Atravs do percurso destas

14

rvores, da raiz at um n folha1 possvel inferir classes a dados baseados em


determinados valores para cada atributo.
Para uma classificao com maior percentual de acerto (acurcia2), mtodos de
aprendizado de mquina baseados em Lgica Fuzzy tm-se mostrado mais eficientes que
mtodos clssicos (SOUZA, 2008). Apesar da perceptvel contribuio que a Lgica Fuzzy
proporciona acurcia das rvores de classificao utilizadas na Minerao de Dados, o
WEKA (Waikato Environment for Knowledge Analysis) (FRANK; TRIGG, 1993), principal
ferramenta gratuita para Minerao de Dados, baseada em algoritmos de aprendizado de
mquina, no implementa tcnicas com algoritmos baseados na lgica nebulosa.
Outra abordagem para realizao da Minerao de Dados utiliza algoritmos de
aprendizado de mquina baseados na Computao Evolutiva os Algoritmos Genticos.
Estes algoritmos realizam buscas globais e permitem uma melhor interao entre atributos
que os algoritmos baseados na estratgia gulosa que so geralmente utilizados para a tarefa
de Minerao de Dados e por isso so extremamente teis na procura de padres relevantes
em dados (FREITAS, 2001 apud DHAR V; PROVOST, 2000). Os Algoritmos Genticos tambm
no foram implementados no WEKA.
Para disponibilizar a Minerao de Dados utilizando rvores de classificao fuzzy e
testar a acurcia dessas rvores em relao a rvores de classificao clssicas, foi
desenvolvido o EFT (Explorer Fuzzy Tree) (SOUZA, 2008). Para determinar a acurcia das
rvores fuzzy implementadas pelo EFT, foram feitos testes utilizando quatro bases de dados
de complexidades diferentes: Iris (FISHER, 1988), Segment-challenge (GROUP, 1990a),
Segment-test (GROUP, 1990b) e SPAMBASE (HOPKINS et al., 2001).
Assim, o presente trabalho aplica Algoritmos Genticos tarefa de Minerao de
Dados e incorpora o algoritmo implementado ferramenta Explorer Fuzzy Tree (EFT). Com o
intuito de avaliar o algoritmo implementado, novos experimentos foram realizados sobre
estes algoritmos utilizando as mesmas quatro bases de dados utilizadas para o teste dos

N folha n terminal de uma rvore, que no caso de uma rvore de classificao, corresponde a classe que
caracteriza um dado objeto com os valores de atributos;
2
Acurcia exatido de uma operao;

15

algoritmos de construo de rvores fuzzy. Os resultados obtidos mostraram uma igualdade


de desempenho entre as duas tcnicas para bases de dados mdias,
Esta monografia est dividida em seis captulos, dispostos da seguinte forma: o
captulo 2 apresenta e detalha os conceitos de Minerao de Dados; o captulo 3 apresenta
os Algoritmos Genticos e a Computao Evolutiva; o captulo 4 detalha a implementao do
algoritmo gentico usado para extrao de conhecimento de alto nvel de bases de dados; o
captulo 5 apresenta os experimentos realizados e discute seus resultados; e por fim,
captulo 6 apresenta a concluso e trabalhos futuros.

16

2 MINERAO DE DADOS

Conhecimento a informao devidamente organizada e que pode ser aplicada a


resoluo de problemas. Em uma base de dados, encontra-se a matria-prima para a
obteno de conhecimento, que pode ser realizada utilizando o processo de descoberta de
conhecimento em bases de dados, ou KDD.
Atualmente, as bases de dados vm crescendo em alta velocidade, abrigando milhes
de registros com dezenas de atributos. Essas bases de dados crescem de suas maneiras: o
nmero N de registros ou objetos na base aumenta ou ainda o nmero d de campos ou
atributos deste objeto aumenta, de modo que bases de dados que possuem em mdia N =
109 objetos ou d = 10 2 ou at mesmo d = 103 tm-se tornado comum (FAYYAD et al., 1996).
A anlise manual dessas bases de dados com grandes nmeros de atributos ou registros
pode ser um processo demorado.
Os resultados da anlise destes dados armazenados podem ser utilizados para
atribuir maior competitividade s empresas, que, baseadas nestes resultados, podem
desenvolver estratgias mais efetivas para obteno de sucesso em suas respectivas reas
de atuao, assim como tambm pode ser utilizada no campo cientfico, para promover a
melhor interpretao dos dados coletados atravs das pesquisas cientficas.
O KDD um processo no trivial de identificao de padres vlidos, potencialmente
teis e compreensveis a partir de dados3 (FAYYAD et al., 1996). Para a identificao destes
padres, o processo de KDD realiza operaes em dados brutos que vo desde a seleo dos
dados a serem utilizados at a anlise dos padres encontrados para a obteno de
conhecimento til. A busca destes padres possui algumas etapas baseadas em estratgicas

Segundo Fayyad, dado um conjunto de fatos e padro uma expresso em alguma linguagem que descreve
um subconjunto de dados ou um modelo aplicvel a este subconjunto; o termo processo denota que o KDD
envolve vrios passos; no trivial denota que o processo de KDD demanda alguma busca ou inferncia.

17

computacionais, o que permite que enormes volumes de dados


dad
sejam analisados
rapidamente e de forma no subjetiva. A figura 2.1 apresenta
apresenta as etapas do processo de KDD.

Figura 2.1:: Fases do Processo de KDD (PAPPA,


(PAPPA 2002 apud LIU; MOTODA, 1998)

H ainda confuso em relao aos termos Minerao de Dados e KDD.


KDD Esses termos
so esporadicamente tratados como sinnimos. Porm, como mostrado na figura acima, a
Minerao de Dados apenas uma das etapas do processo de KDD.
A Minerao de Dados consiste na aplicao de algoritmos para a anlise e
descoberta de dados e na produo de padres ou modelos a partir de grandes bases de
informao (FAYYAD et al., 1996), enquanto que o termo KDD refere-se
refere
a todos os passos
aplicados a dados brutos para a obteno de dados de alto nvel (GOEBEL; GRUENWALD,
1999). As fases do processo de KDD so discutidas a seguir.

2.1 As Fases do Processo de Descoberta de Conhecimento


O processo de KDD interativo e iterativo e envolve vrios passos onde decises so
feitas pelo usurio (FAYYAD
FAYYAD et al., 1996). A primeira etapa do processo de KDD a etapa de
Data Warehouse, que coleta e reuni informaes de vrias bases de dados,
dados realizando a
integrao entre eles.. No pr-processamento,
pr processamento, as informaes coletadas na fase de
d Data
Warehouse so filtradas
das e selecionado apenas o contedo relevante para a tarefa que ser
realizada. Este processo de filtragem reforado por mtodos de reduo de rudos,
rudos
correo de erros e preenchimento de valores nulos,
nulos para garantir a confiabilidade dos
dados a serem utilizados.

18

geralmente desejvel a interveno de um analista humano nas etapas citadas


anteriormente, a fim de que seu conhecimento sobre as informaes relevantes que devem
ser extradas pelo processo de KDD seja utilizado (FREITAS, 2001).
Aps o refinamento dos dados a serem utilizados, a discretizao pode ser utilizada
para transformar um atributo com valores contnuos em um atributo categrico
(categorical) ou nominal, formando intervalos discretos (FREITAS, 2001).
A etapa de seleo de atributos encontra atributos que possuem relevncia para o
objetivo que deve ser satisfeito pelo processo de KDD, encontrando um subconjunto de
atributos relevantes (atributos capazes de distinguir exemplos pertencentes a classes
diferentes (PAPPA, 2002)) entre os atributos originais do registro para ser utilizado no
processo de minerao de dados. A motivao para a realizao desta etapa baseada nos
seguintes fatores: algoritmos de minerao de dados que utilizam mtodos de induo tem
seu tempo de execuo aumentado caso haja muitos atributos presentes (PAPPA, 2002); a
presena de atributos irrelevantes ou redundantes pode de alguma maneira levar o
algoritmo a uma classificao equivocada dos dados, levando o processo a produzir dados
pouco relevantes ou no confiveis (FREITAS, 2001); experimentos comprovam que o
nmero de exemplos para garantir certa taxa de classificao cresce de maneira exponencial
baseada no nmero de atributos irrelevantes presentes (PAPPA, 2002 apud LANGLEY; IBA,
1993). Outra motivao encontrada para a seleo de atributos est na melhora da
performance do algoritmo de minerao de dados, com melhores taxas de aprendizado ou
regras mais simples (PAPPA, 2002).
A prxima etapa do processo de KDD a Minerao de Dados. Nesta etapa aplicado
um algoritmo baseado na estratgia computacional escolhida para minerao de dados, e
extrado conhecimento dessa base de dados. A ltima etapa do processo, o psprocessamento, visa validar, interpretar e organizar o conhecimento encontrado, obtendo
conhecimento realmente til (PAPPA, 2002).
interessante salientar que o conhecimento resultante do processo de KDD deve
possuir as seguintes propriedades: ser confivel (conhecimento com alta acurcia),
compreensvel e interessante (FREITAS, 2001). Conhecimento com alta taxa de acurcia nos

19

permite seu uso para prever o valor que alguns atributos podero possuir no futuro,
baseado nos dados observados. Este conhecimento deve tambm ser compreensvel para o
usurio, j que ele deve utilizar o conhecimento
conhecimento adquirido no processo como diferencial em
vrias reas. Alm disso, esses dados devem ser interessantes propriedade mais difcil de
ser medida pelo seu carter subjetivo

2.2 Tarefas da Minerao de Dados


Essaa sesso discute algumas tcnicas utilizadas pela Minerao de Dados:
Dado regras de
classificao, a clusterizao e as regras de associao.

2.1.1 Regras de Classificao


Classifica
Alvo de estudo das comunidades da rea estatstica e de aprendizado de mquina, a
classificao tem como objetivo prever o valor de um atributo objetivo, a ser determinado
por uma referncia externa, baseado no valor dos demais atributos de um exemplo E
pertencente a uma base de dados B. A figura 2.2 demonstra o processo de classificao
aplicado a uma base de dados.

Figura 2.2:
2. Exemplo de Classificao (CARVALHO, 2005)

Um algoritmo de classificao gera regras do tipo    (l-se:


se: Se X ento Y), onde Y
(a parte conseqente da regra) representa o atributo objetivo (classe) e X (a parte

20

antecedente da regra) representa um conjunto de valores tomados por atributos,


geralmente representados por uma conjuno. A seguinte regra poderia ser uma regra
gerada por um algoritmo de classificao:  > 35   > $ 2.500,00 
 ! = #$, onde  > 35   > $ 2.500,00 seria a parte
antecedente da regra e  ! = #$ seria a parte conseqente da regra
(classe).
Este trabalho utiliza algoritmos genticos para gerar regras que tero o formato
descrito acima. Este formato foi escolhido por ser intuitivo e facilmente compreendido pelo
usurio. Abaixo outros exemplos de regras de classificao:
% &' = (  25 < % &' %* < 30  +, = &.
 & % (% = ( (-&  %'./*0.( $ = $ *%0   '( = &
Para a gerao das regras de classificao, a base de dados dividida em dois
conjuntos de exemplos: C1 e C2, que possuem todos os seus exemplos j previamente
classificados. O algoritmo de classificao recebe o conjunto de exemplos C1 (o conjunto de
treinamento), aplica tcnicas de estatsticas e/ou de aprendizado de mquina e gera as
regras de classificao, baseado nos valores encontrados nos atributos de cada um dos
exemplos. Posteriormente, o algoritmo aplica as regras de classificao geradas no conjunto
de exemplos C2 (o conjunto de teste), e mede o quo confiveis so as regras geradas no
processo anterior. A propriedade que mede o quo confivel uma regra , ou seja, quantos
exemplos do conjunto de teste foram corretamente classificados por esta regra, a
acurcia. importante que o algoritmo de classificao no tenha acesso ao conjunto de
teste na etapa de gerao de regras, ou ento, a medio da acurcia das regras ficaria
comprometida e a fase de testes no apresentaria resultados confiveis.

2.1.2 Clusterizao (Agrupamento)


A clusterizao visa classificar a informao a ser minerada em clusters ou classes.
Cada um desses clusters formado por exemplos que possuem caractersticas similares em
seus atributos. Essa classificao feita de modo a maximizar as diferenas encontradas

21

entre clusters diferentes e minimizar as diferenas entre exemplos pertencentes ao mesmo


cluster.
Por realizar a classificao dos exemplos baseado nos valores dos atributos dos
prprios exemplos, ou seja, descobrir classes para os exemplos e agrup-los
agrup
em classes
sem que seja informada nenhuma referncia externa, a clusterizao considerada uma
forma de aprendizado no supervisionado (FREITAS, 2001).
A clusterizao prepara os dados para a aplicao de um algoritmo de classificao,
uma vez que divide estes dados em classes, que sero usadas posteriormente pelo algoritmo
de classificao (CARVALHO, 2005).
Por exemplo, numa base como a Iris (FISHER, 1988), cada exemplo possui
determinado valor para os comprimentos e larguras da ptala e da spala de uma
determinada flor. Baseado
o nesses atributos, um algoritmo de clusterizao encontraria trs
clusters: o cluster Iris-setosa,
setosa, o cluster Iris-versicolor
Iris
e o cluster Iris-virginica.
virginica.

Figura 2.3
3: Exemplo de dados organizados em clusters (CARVALHO, 2005)

2.1.3 Regras de Associao


As regras de associao so regras encontradas a partir de um conjunto de exemplos
E do tipo    (Se X ento Y), onde X e Y so conjuntos de itens, tal que  1 Y = 2. Cada

22

regra encontrada sinaliza que os conjuntos de itens X e Y so freqentemente encontrados


em um mesmo exemplo.
O uso de regras de associao pode ser ilustrado usando-se o exemplo das fraldas e
das cervejas (FUCHS, 2004). Estas regras aplicadas a um conjunto de exemplos E, onde cada
exemplo representa uma transao de compra de um cliente, permitiram a descoberta do
produto cerveja como sendo o mais vendido junto ao produto fraldas, ou seja, foram
encontrados muitos exemplos onde os itens fraldas e cervejas faziam parte da compra dos
consumidores do supermercado e assim pde ser comprovada a associao entre a compra
das fraldas e a compra das cervejas, ou seja: 3  4 0 +.
Apesar de possurem a mesma estrutura   , as regras de associao e regras de
classificao possuem diferenas decisivas: regras de associao podem possuir mais de um
item na parte conseqente da regra (Y), enquanto regras de classificao s podem possuir
um atributo objetivo. Alm disso, em regras de classificao, os atributos previsores (X) s
podem ocorrer na parte antecedente da regra e o atributo objetivo (Y) somente ocorre na
parte conseqente da regra, o que no uma constante em regras de associao. Abaixo
alguns exemplos de regras de associao:

5  7(% ,, 8* + (clientes que compram po, geralmente compram

manteiga e queijo)

9%% 3%   -, (% 

(clientes

que

compram

batatas

fritas

geralmente compram refrigerante).

2.3 Utilizao de Algoritmos Genticos (AGs) no Processo de KDD


Os algoritmos genticos podem ser aplicados s etapas do processo de KDD, desde o
pr-processamento dos dados brutos para aplicao da minerao de dados por exemplo,
na seleo de atributos, podendo ser aplicados tambm minerao de dados. Esta tcnica
pode tambm ser aplicada a etapa de ps-processamento do conhecimento encontrado.
O uso dos AGs na etapa de seleo de atributos motivado pela interao de
atributos. Os algoritmos baseados em outras tcnicas desenvolvidos para esta tarefa, como

23

por exemplo, algoritmos baseados na estratgia gulosa, podem no ser confiveis, levando a
no seleo de atributos relevantes para a correta classificao dos dados, como demonstra
o exemplo a seguir, ilustrado na figura 2.4.

Figura 2.4: Exemplo de interao de atributos em problema de classificao do tipo XOR (PAPPA,
2002)

Na figura 2.4 ilustrado um exemplo utilizando a funo XOR. Esta funo classifica
os dados em 0 ou 1, baseado no valores de todos os seus atributos previsores. Nesta funo,
dados com valores de atributos previsores (A1 e A2) iguais pertencem a classe 0 (B = 0) e
dados com valores de atributos diferentes pertencem a classe 1 (B = 1). Caso um mtodo de
seleo de atributos guloso fosse aplicado a este exemplo, encontraria uma distribuio
igual de classes ao selecionar qualquer um dos atributos previsores, tendo 50% dos
resultados igual a 1 e os outros 50% dos resultados iguais a 0 e chegaria a concluso que
nenhum dos atributos previsores so relevantes para a tarefa de classificao, chegando
ento a uma concluso equivocada, j que o resultado da funo XOR depende de todos os
atributos previsores (PAPPA, 2002).
A principal motivao para o uso de algoritmos genticos para descoberta de regras
de classificao tambm est na melhor interao entre atributos proporcionada pelos AGs
se comparados com algoritmos baseados na estratgica gulosa para induo de regras de
classificao, e que so geralmente mais utilizados para minerao de dados (FREITAS,
2001). Outra vantagem importante do uso de AGs para esta tarefa a busca global realizada
por esta tcnica, aumentando a probabilidade de se obter um conjunto de regras com alta
acurcia preditiva.
Duas caractersticas dos AGs so decisivas para a sua utilizao no processo de KDD, e
seu sucesso diante de algumas das tcnicas tradicionais de busca: a) algoritmos genticos

24

so mtodos de busca globais AGs no utilizam apenas informao local e por isso no
necessariamente prendem-se a solues timas locais, como certos mtodos de busca
(LINDEN, 2006); b) AGs utilizam informao da populao corrente para determinar o
prximo estado da busca (LINDEN, 2006), e atravs de uma funo objetivo e dos
operadores genticos de cruzamento (crossover) e mutao (mutation) promovem a
interao entre os atributos de um objeto.
Vale salientar que os algoritmos genticos no garantem que a soluo encontrada
seja a soluo tima para o problema proposto, todavia estes algoritmos tendem a
encontrar boas solues ou solues muito prximas da soluo tima. Os operadores
genticos e demais aspectos dos AGs so descritos no captulo 3 deste trabalho.

25

3 ALGORITMOS GENTICOS (AG)

Algoritmos Evolucionrios so basicamente algoritmos inspirados nos princpios da


seleo natural e da gentica natural (FREITAS, 2007). Existe uma grande variedade de
modelos computacionais propostos dentro deste paradigma, mas todos simulam os
mecanismos de evoluo natural das espcies, onde, a partir de operadores genticos
seleo, cruzamento e mutao novas espcies so criadas novas geraes utilizando
indivduos que so avaliados segundo seu desempenho dentro de um ambiente (LINDEN,
2006).
Durante os anos de 1950 e 1960 alguns cientistas computacionais estudaram as
tcnicas evolucionrias, para que se tornassem uma alternativa de ferramenta de otimizao
para a resoluo de problemas de engenharia, criando um conjunto de solues candidatas
a resoluo do problema proposto, e utilizando operadores inspirados na gentica e soluo
natural para a busca das melhores solues (MITCHELL, 1996). Os operadores genticos so
aproximaes computacionais de fenmenos naturais como a reproduo sexuada
(crossover ou cruzamento) e a mutao gentica (mutao ou mutation) (LINDEN, 2006)
O conceito da evoluo natural aplicado computao para a resoluo de
problemas computacionais, pois os mecanismos de evoluo parecem se adequar a estes
problemas nas mais variadas reas (MITCHELL, 1996). Problemas que envolvem buscas em
um espao muito grande de soluo como a busca de um conjunto de regras de
classificao a partir de uma base de dados, dentre outros problemas que requerem
solues difceis de serem projetadas, podem utilizar-se do conceito da seleo e evoluo
natural para criarem e melhorarem solues adaptadas a esses problemas complexos.
O comportamento padro dos algoritmos evolucionrios representado pela
listagem 3.1.

26

Listagem 3.1: Pseudocdigo de um Algoritmo Evolucionrio (LINDEN, 2006)

T:=0
//Inicializamos o contador de tempo
Inicializa_Populao P(0)
//Inicializamos a populao aleatoriamente
Enquanto no terminar faa
//Condio de trmino: por tempo, por avaliao, etc.
Avalie_Populao P(t)
//Avalie a populao neste instante
P:= Selecione_Pais P(t)
//Selecionamos sub-populao que gerar nova gerao
P = Recombinao_e_mutao P //Aplicamos os operadores genticos
Avalie_Populao P
//Avalie esta nova populao
//Selecione sobreviventes desta gerao
P(t+1)=Selecione_sobreviventes P(t), P
t:= t+1
//Incrementamos o contador de tempo
Fim enquanto

Como ilustrado na listagem 3.1, os algoritmos evolucionrios so mtodos


fortemente probabilsticos, visto que a gerao da populao inicial e a seleo feita para a
escolha dos indivduos que sero recombinados e submetidos mutao raramente gera
indivduos iguais a cada execuo do algoritmo, o que faz com que os resultados
encontrados por um algoritmo evolucionrios sejam raramente reprodutveis, e por isso so
heursticas4 que no asseguram a obteno do melhor resultado possvel em todas as suas
execues (LINDEN, 2006)
Em 1975, John Holland no livro Adaptive in Natural and Artificial Systems,
formalizou e fundamentou matematicamente os algoritmos genticos. Mesmo no tendo
sido o primeiro a aplicar os conceitos da evoluo natural programao, John Holland foi o
primeiro a provar matematicamente a eficcia da estratgia evolucionria em problemas de
busca. Em seu trabalho, Holland apresenta os algoritmos genticos como uma abstrao dos
processos evolutivos, que permitiriam importar os conceitos de adaptao, evoluo e
seleo natural da vida real para o mundo computacional, a fim de resolver problemas que
envolvem a busca por uma soluo tima (LINDEN, 2006).

Heursticas so algoritmos polinomiais que no podem garantir que a soluo encontrada para o problema
proposto a melhor soluo, mas que usualmente tentem a encontrar a soluo tima ou prxima da tima
(Linden, 2006).

27

Os algoritmos genticos so uma tcnica heurstica de otimizao global baseada no


processo biolgico da evoluo natural (LINDEN, 2006). O grande diferencial desta tcnica
a sua capacidade de no se restringir a mximos locais, como outros mtodos de otimizao,
explorando o espao de busca como um todo.
A maioria dos algoritmos que tratam problemas de otimizao no so capazes de
encontrar uma soluo tima global, e se restringem a timos locais, como o hill climbing,
que seguem a derivada de uma funo e facilmente se prende a mximos locais,
desprezando o mximo global, como mostrado na figura abaixo. Note que a figura ilustra
que numa tcnica de hill climbing se inicia em qualquer um dos pontos de incio marcados,
seguir a direo de maior crescimento e acabar presa no ponto de mximo local, onde a
derivada zero.

Figura 3.1: Funo hipottica com um mximo local e outro global (LINDEN, 2006).

Um algoritmo gentico fundamentado na tcnica de gerao e teste. Nesta tcnica,


representada pela figura 3.2, uma soluo gerada; testada sua eficcia na resoluo do
problema proposto, considerando limitaes impostas, e se por acaso esta soluo for
adequada resoluo deste problema e obedece s limitaes previamente determinadas,
ela adotada. Se por acaso ela no se adqe as limitaes ou no solucione de maneira
satisfatria o problema proposto, ela desprezada e o processo recomea gerando uma
nova soluo a ser testada.

28

Figura 3.2:
3. Modelo da Tcnica de Gerao e Teste

A abordagem supracitada utiliza sempre um critrio na avaliao destas solues, e


por isso chamada de busca dirigida. Um algoritmo gentico a utilizao da mecnica da
gentica e da seleo natural busca dirigida, encontrando os melhores conjuntos de
parmetros que descrevem
em uma funo de adaptao (fitness)
(
) (FREITAS, 2001).
2001)
A fundamentao para a utilizao de algoritmos genticos a problemas de
otimizao est nos conceitos da seleo natural e evoluo das espcies. Segundo esses
conceitos, os indivduos mais adaptados ao seu ambiente vivem tempo o suficiente para se
reproduzirem, enquanto os indivduos menos adaptados morrem antes da reproduo.
Operadores
peradores genticos da seleo natural como cruzamento ou recombinao
(crossover), mutao (mutation
mutation) e o uso de uma funo de adaptao (fitness) para gerar
sucessivas geraes de solues, so aplicados para se chegar soluo que, se no a tima,
a soluo prxima da tima. Este processo de gerao de populaes atravs de
algoritmos genticos para chegar soluo mais adequada na resoluo do problema
proposto, utilizando o fitness de um cromossomo,, chamado convergncia (COX, 2005).
Cada
ada um destes operadores genticos
genticos descrito mais profundamente na subseo seguinte.

3.1 Funcionamento de um Algoritmo Gentico

29

Figura 3.3: Esquema de um algoritmo gentico (LINDEN, 2006)

Como ilustrado no esquema 3.3, um algoritmo gentico gera uma populao inicial
P(N) com N indivduos (cromossomos), que representam possveis solues para o problema
a ser atacado. Cada um desses indivduos P(n) avaliado por uma funo que recebe o nome
de funo de avaliao ou fitness. Quanto mais prximo da soluo tima, ou seja, o quanto
mais adaptado for o indivduo, melhor a avaliao calculada por essa funo para este
indivduo. Aps a anlise de cada um dos indivduos, a populao analisada e verifica-se se
a condio de parada foi satisfeita. Caso a condio de parada no tenha sido satisfeita, K
indivduos da populao so escolhidos para o processo de reproduo, onde so aplicados
os operadores genticos de recombinao (crossover), que gera a partir da combinao de
dois indivduos, como uma analogia a reproduo sexuada, novos indivduos e/ou a mutao
desses indivduos, e os N-K indivduos so descartados. Aps a gerao da nova populao
P(N) o processo refeito. Nas sees seguintes so descritos os aspectos de um algoritmo
gentico.

3.2 Representao Cromossomial (Codificao do Indivduo)

30

Em um algoritmo gentico, cada soluo candidata representada por um indivduo


(cromossomo), que um ponto do espao de busca dentre todas as solues possveis de
um problema (CARVALHO, 2005).
Um cromossomo uma coleo de genomas5 formado por vrios genes (analogia
com um cromossomo biolgico). Cada gene representa um pedao indivisvel da
representao cromossomial (LINDEN, 2006).
Um cromossomo representa uma soluo potencial para o problema a ser abordado
(COX, 2005). A representao cromossomial deve representar adequadamente o problema
em questo, traduzindo suas informaes para pra uma maneira vivel a ser tratada por um
computador. A adaptao destas informaes est fortemente ligada qualidade das
solues obtidas (LINDEN, 2006).
Existem vrias maneiras de representao de cromossomos em um algoritmo
gentico. A escolha de uma representao arbitrria, e deve ser feita a fim de ser a mais
adequada possvel a soluo do problema, e no o contrrio.
A representao mais comumente usada, que tambm a representao proposta
por Holland a representao binria de tamanho fixo, onde cada indivduo formado por
uma cadeia de bits que podem assumir os valores 0 ou 1 (PAPPA, 2002 apud Hinterding
2000). Esta representao possui algumas vantagens: alm de ser uma representao
compacta, facilita os operadores genticos crossover e mutao (COX, 2005). Por outro lado
possui alguns problemas, dentre os quais a dificuldade encontrada para a representao de
valores contnuos a principal. Para representar valores contnuos utilizando a
representao binria, necessria a introduo de transformaes ou discretizaes no
algoritmo gentico, representando um maior custo a sua execuo.
Para a Minerao de Dados a representao cromossomial geralmente uma
seqncia linear de condies de regras, onde usualmente cada condio um par atributovalor (CARVALHO, 2005).

Um genoma representa uma caracterstica particular em um cromossomo, e sua natureza depende da


representao cromossomial escolhida para o algoritmo gentico.

31

3.3 Funo de Avaliao (Fitness)


A funo de avaliao a maneira utilizada pelos algoritmos genticos para
determinar a qualidade de um indivduo como soluo do problema em questo (LINDEN,
2006). A funo de avaliao e a representao cromossomial esto diretamente ligadas ao
problema a ser abordado caso esses elementos no sejam boas representaes deste
problema a soluo encontrada pode no ser a soluo esperada.
Um AG uma busca dirigida controlada pela funo de avaliao (COX, 2005). Cada
indivduo da populao de solues avaliado segundo esta funo e recebe uma nota. Esta
nota utilizada para a escolha dos indivduos que se reproduziro, atravs de um mtodo de
seleo que favorece a escolha de indivduos melhor avaliados (LINDEN, 2006). O fitness de
um cromossomo depende do quo aquele cromossomo est apto para solucionar o
problema em questo (MITCHELL, 1996).

3.4 Esquemas
Introduzidos por Holland, os esquemas formalizam a existncia de blocos
construtivos (building blocks) em um AG e justificam o seu funcionamento. Esquemas
podem ser descritos como um modelo de 0 e 1 e asteriscos, onde os asteriscos representam
as posies deste modelo onde o valor ali representado no possui relevncia para a soluo
(dont cares) (MITCHELL, 1996). O esquema H = 1 * * * * 1, por exemplo, representa um
modelo de todos os cromossomos que se iniciam e terminam com 1, e possuem tamanho de
6 bits. Indivduos como 1 0 1 0 0 1 ou 1 0 1 1 1 1 so chamados de instncias do esquema H.
m

Cada esquema representa 2 cromossomos, onde m o nmero de posies sem


relevncia, os dont care deste esquema. Vale salientar que o valore de 2m cromossomos
representados por um esquema de m posies dont care vlido apenas para um
esquema baseado na representao binria. Para uma populao que possui indivduos de
k

tamanho k, possui-se apenas 3 esquemas possveis.


Em um AG, um esquema pode ser avaliado utilizando-se a mdia dos fitness dos
indivduos pertencentes ao esquema em questo. O operador de seleo tende a favorecer

32

esquemas que possuem avaliaes acima da mdia, de maneira que a quantidade desses
esquemas cresa de forma exponencial (CASTRO; ZUBEN, 2002 apud MICHALEWICZ, 1996).
Esta afirmao provada pela equao do crescimento reprodutivo do esquema,
representada na figura 3.4.

Figura 3.4: Equao do crescimento reprodutivo do esquema (CASTRO; ZUBEN, 2002).

Seja o esquema Si.


pelo esquema Si na gerao t.

representa o nmero de cromossomos representados


representa o fitness mdio da populao na gerao t.

As variveis pc e pm representam as probabilidades de ocorrncia de cruzamento e mutao


para o AG em questo, respectivamente e m o tamanho de cada indivduo (tamanho da
cadeia de genes). Nesta equao, considera-se que o AG produz indivduos que possuem
avaliaes positivas (CASTRO; ZUBEN, 2002).
Apenas a seleo no introduz novos esquemas na populao esta uma atribuio
do operador de cruzamento (crossover), que habilita a troca de informao estruturada,
ainda que aleatria (CASTRO; ZUBEN, 2002).
O operador de cruzamento combinado com o operador de seleo pode destruir ou
criar esquemas, porm a probabilidade de um esquema sobreviver ao crossover maior se
esse esquema for pequeno (MITCHELL, 1996). Esse aspecto foi formalizado pelo Teorema
dos Esquemas. Todavia, acredita-se que o operador de cruzamento o principal operador de
um algoritmo gentico, j que recombina instncias de bons esquemas para formar
instncias de esquemas melhores ou igualmente bons aos esquemas anteriores (MITCHELL,
1996). Baseado na afirmao anterior introduz-se outro Teorema o Teorema dos Blocos
Construtivos: um algoritmo gentico busca desempenho quase-timo atravs da

33

justaposio de esquemas curtos, de baixa ordem e alto desempenho, chamados de blocos


construtivos (MITCHELL, 1996 apud GOLDBERG, 1989).
O Teorema dos Esquemas e o Teorema dos Blocos Construtivos tratam dos
operadores de seleo e cruzamento (MITCHELL, 1996). O operador de mutao foi
proposto por Holland, em 1975, para prevenir a baixa diversidade de uma posio de um
esquema, ou seja, evitar casos onde, por exemplo, inicialmente todos os indivduos
comeassem com 1 na primeira posio de sua cadeia de bits a mutao seria o nico meio
de se obter indivduos que possussem o 0 no incio de sua cadeia.

3.5 Operadores Genticos


3.4.1 Seleo de Pais
Este operador seleciona cromossomos da populao para reproduo e favorece os
cromossomos com maior fitness, ou seja, quanto melhor a avaliao do cromossomo, feita
pela a funo de avaliao, mais vezes este cromossomo pode ser selecionado para se
reproduzir (MITCHELL, 1996).
Este mtodo simula o mecanismo de seleo natural, onde os pais mais capazes
geram mais filhos e pais menos aptos podem gerar menos descendentes (LINDEN, 2006).
importante notar que os indivduos menos aptos no podem ser totalmente descartados, a
fim de evitar a convergncia gentica onde os indivduos se tornam cada vez mais
semelhantes, o que destri a diversidade da populao, comprometendo a evoluo.
Existem vrias maneiras de se implementar este mtodo, algumas das quais so
descritas a seguir.
ROLETA
Neste mtodo criada uma roleta, onde cada cromossomo recebe uma parte
proporcional ao seu fitness em relao soma total dos fitness de todos os cromossomos da
populao.

34

Como exemplo, mostrado a seguir uma tabela com alguns indivduos fictcios e a
representao da roleta para estes indivduos:

Tabela 3.1: Grupo de indivduos, seus respectivos fitness e parcela na roleta (LINDEN, 2006)
Indivduo

Fitness

Pedao da Roleta (%)

Pedao da roleta ()

0001

1.61

5.8

0011

14.51

52.2

0100

16

25.81

92.9

0110

36

58.07

209.1

Total

62

100

360.0

Figura 3.5: Roleta Viciada para a populao exemplo da tabela 3.1 (LINDEN, 2006)

A representao computacional da roleta ilustrada acima dada por um algoritmo


que no permite que haja indivduos com avaliao negativa ou igual a zero, j que nunca
seriam selecionados, pois no possuiriam parcela alguma da roleta. A lgica do algoritmo de
implementao da roleta descrito pela listagem 3.2.

35

Listagem 3.2: Pseudocdigo do mtodo de seleo da roleta (LINDEN, 2006)

(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)

Some todas as avaliaes para uma varivel soma


Ordene todos os indivduos em ordem crescente de avaliao (opcional)
Selecione um nmero s entre 0 e soma (no includos)
i=1
aux = avaliao do indivduo
enquanto aux < s
i=i+1
aux = aux + avaliao do indivduo i
fim enquanto

TORNEIO
Neste mtodo so selecionados N indivduos da populao. Dentre os indivduos
selecionados, o mais apto selecionado para a reproduo. A quantidade N chamada de
tamanho do torneio, e um parmetro definido pelo usurio. Geralmente quanto maior o
valor de N maior a probabilidade de convergncia gentica, resultante da extino dos
indivduos menos aptos da populao (CARVALHO, 2005).

3.4.2 Recombinao ou Cruzamento (Crossover)


O processo de criao de um novo cromossomo atravs da combinao de um ou
mais cromossomos de alta performance (cromossomo que obteve uma alta nota da funo
de avaliao) conhecido como recombinao ou cruzamento (COX, 2005). A principal
funo deste operador assegurar a troca de material gentico entre dois indivduos
chamados pais, combinando informaes de maneira que haja uma probabilidade razovel
dos indivduos resultantes deste cruzamento sejam melhores que os pais (PAPPA, 2002).
Graas ao operador de recombinao e a funo de avaliao os algoritmos genticos
so classificados como uma busca dirigida, j que utiliza a seleo para determinar as reas
mais promissoras de pesquisa e a recombinao para combin-las de modo a gerar solues
mais aptas para resoluo do problema em questo (LINDEN, 2006).
No cruzamento de um ponto, so selecionados dois pais utilizando um mtodo de
seleo. escolhido, randomicamente, um ponto de corte uma posio entre dois genes

36

de um cromossomo. Ento os pais so separados em duas partes, uma direita e outra


esquerda do ponto de corte. O primeiro filho obtido concatenando-se a parte que se
encontra esquerda do ponto de corte do primeiro pai parte que se encontra direita do
segundo pai. O segundo filho, obtido concatenando-se a parte que se encontra esquerda
do segundo pai parte que se encontra direita do ponto de corte do primeiro pai.
J em outra forma de recombinao chamada crossover uniforme cada gene possui
igual probabilidade P de ser trocado independente de sua posio. O crossover uniforme d
origem a apenas um novo indivduo, enquanto que o crossover de um ponto resulta em dois
novos indivduos.
A recombinao uniforme mais poderosa para algoritmos genticos que utilizam a
representao cromossomial binria, j que criam solues que os outros tipos de
recombinao, como o de um ponto, podem criar, alm de criar combinaes que seriam
impossveis em outros tipos de recombinao. Porm este o tipo de crossover que mais
facilmente quebra esquemas interessantes (LINDEN, 2006). A figura 3.5 ilustra o cruzamento
de um ponto e o cruzamento uniforme.

Figura 3.6: Tipos de cruzamento (crossover) (CARVALHO, 2005)

37

3.4.3 Mutao
Este operador troca randomicamente alguns bits de um cromossomo. Por exemplo, a
seqncia 00000100 poderia ser modificada em sua segunda posio, transformando-se na
seqncia 01000100. A mutao pode ocorrer em cada gene de um cromossomo com uma
probabilidade informada pelo usurio, ou baseada em algum critrio previamente definido.
(MITCHELL, 1996).
O propsito do operador de mutao manter a diversidade da populao e
assegurar que o cromossomo sempre cobrir uma parte suficientemente grande do espao
de busca (PAPPA, 2002 apud Hinterding 2000), introduzindo material gentico que no est
presente em nenhum outro indivduo da populao, ao contrrio do operador de crossover
(CARVALHO, 2005).
A mutao diversifica a populao e combate as regies de mnimos e mximos
locais, assegurando o surgimento de novas solues potenciais, independentes dos
cromossomos j existentes (COX, 2005).

3.6 Elitismo
A cada gerao G de um AG, os indivduos resultantes da gerao G-1 so todos
descartados, dando lugar a novos indivduos resultantes da aplicao dos operadores de
seleo, cruzamento e/ou mutao aos indivduos da gerao G-1.
A estratgia elitista visa preservar indivduos com altos valores de fitness, ou seja, as
melhores solues encontradas na gerao corrente, por mais de uma gerao, copiando-os
para a gerao seguinte (PAPPA, 2002). Seja uma populao com N indivduos. So
escolhidos Nelit indivduos com os melhores fitness. Estes indivduos so copiados
integralmente para a populao da prxima gerao do AG. Os outros N- Nelit indivduos da
nova populao so gerados a partir da aplicao dos operadores genticos citados acima. O
nmero Nelit chamado de fator de elitismo, e um nmero, definido pelo usurio e
geralmente pequeno (CARVALHO, 2005).

38

3.7 Nichos Biolgicos


Simulando o processo evolutivo natural, onde cada espcie evolui em nichos
ecologicamente separados e consomem os recursos oferecidos neste nicho, os mtodos de
niching so utilizados para evitar a convergncia do algoritmo gentico para uma populao
uniforme, com indivduos semelhantes a um super indivduo (uma soluo de alta qualidade)
(CARVALHO; FREITAS, 2002).
A formao de espcies permite primeiramente que vrios disjuntos e diversos
conceitos sejam aprendidos simultaneamente, alm de permitir que os recursos
computacionais sejam efetivamente explorados, evitando replicaes desnecessrias e
redundncias (GIORDANA; NERI, 1995)
Os mtodos de nicho (niching) no permitem que a populao perca a sua
diversidade, habilitando os AGs a localizar diferentes solues com boa qualidade e mantlas numa mesma subpopulao (CARVALHO, 2005). A fundamentao para a introduo
deste mtodo no AG vem da observao dos ecossistemas biolgicos na natureza, se uma
determinada espcie satura um determinado ambiente, os indivduos daquela espcie so
forados a compartilhar os recursos disponveis, o que nos faz concluir que a necessidade de
compartilhamento uma conseqncia natural de ambiente contendo superpopulaes e
conflitos (CARVALHO, 2005).
As tcnicas de niching so importantes para o sucesso dos AGs aplicados a tarefas
como a classificao, o aprendizado de mquina, a otimizao de funes multimodais, a
otimizao de funes multiobjetivos e simulao de sistemas adaptativos e complexos
(CARVALHO; FREITAS, 2002). A seguir so descritos alguns mtodos de niching, a fim de
ilustrar como esta tcnica introduzida aos algoritmos genticos.

3.6.1 Fitness Sharing


Neste mtodo, a funo de avaliao utilizada para forar a diversidade dos
indivduos. No Fitness Sharing, na avaliao de um indivduo, no considerado apenas o
seu fitness individual, tambm utilizado o fitness de todos os indivduos que esto
prximos no espao de busca (CARVALHO, 2005). O clculo do fitness de um indivduo I para

39

o mtodo de fitness sharing realizado dividindo-se o fitness de I pelo valor de sua


contagem de nicho (niche count). Esta funo de nicho, para cada indivduo I o valor da
soma dos valores da funo de sharing entre ele e cada outro indivduo na populao
(incluindo ele mesmo). A funo de sharing avalia a igualdade entre dois indivduos,
retornando 1 se estes forem idnticos e 0 se eles ultrapassam um limiar de diferena
previamente definido. Os clculos demandados para a implementao deste mtodo o
tornam computacionalmente caro, j que em uma populao com N indivduos, N2 clculos
devem ser feitos para determinar o fitness de um individuo (CARVALHO, 2005). Uma
vantagem deste mtodo a sua capacidade de espalhar a populao em mltiplos nichos.

3.6.2 COGIN (COvered-based Genetic INduction)


O COGIN um sistema de aprendizado que utiliza um mtodo de niching implcito
(CARVALHO; FREITAS, 2002), utilizando um algoritmo de induo de regras baseado na
competio (CARVALHO, 2005).
O COGIN funciona criando novos indivduos (regras) candidatos atravs de
cruzamentos utilizando os indivduos presentes na prpria populao. Este cruzamento
feito utilizando cruzamento de um ponto. Aps a etapa do cruzamento os indivduos so
ordenados de maneira crescente pelo valor p retornado pela funo de avaliao para este
indivduo. Ento tomada a primeira regra (indivduo de maior fitness) e os exemplos do
conjunto de treinamento que atendem a esta regra so escolhidos e eliminados. Este
processo se repete at que o conjunto de treinamento no possua mais nenhum exemplo a
ser coberto, ento as regras restantes so descartadas, j que sua presena na populao de
indivduos desnecessria j que todos os exemplos j foram cobertos pelas regras geradas,
que substituem as regras existentes. Pode-se notar que o tamanho da populao de
indivduos varivel, dependendo exclusivamente da quantidade de regras necessrias para
cobrir todo o espao do conjunto de treinamento, e esta uma grande vantagem deste
mtodo, pois o nmero de regras se adapta dinamicamente aos dados (CARVALHO, 2005
apud GREENE, D.P.; SMITH, S, 1993). A desvantagem deste mtodo a difcil compreenso
do conjunto de regras, pois estas se apresentam a partir de um conjunto de regras
ordenadas (CARVALHO; FREITAS, 2002).

40

3.6.3 REGAL (RElational Genetic Algorithm Learner)


O REGAL um sistema distribudo, baseado em algoritmos genticos, desenvolvido
para aprendizagem de conceitos representados em lgica de primeira ordem a partir de
exemplos (GIORDANA; NERI, 1995). Este sistema baseado num operador de seleo
chamado sufrgio universal (universal suffrage), que tem como funo promover a
coexistncia de diferentes espcies.
O sufrgio universal utiliza uma metfora poltica (FREITAS, 2007) onde os exemplos
da base de treinamento podem votar apenas num indivduo (regra) que os representa. Cada
exemplo pode votar apenas uma vez. Os indivduos mais votados so selecionados para o
cruzamento. Este mtodo descrito com mais detalhes na seo 4.4.

41

4 DESCOBERTA DE REGRAS UTILIZANDO AGs

A utilizao dos algoritmos genticos para a tarefa de descoberta de regras de


previso se deve a busca global realizada por esta abordagem. Outro fator determinante
para a obteno de bons resultados na aplicao de algoritmos genticos a esta tarefa a
boa interatividade com os atributos, que inerente aos processos de seleo e cruzamento
providos pelos algoritmos genticos. Essa interatividade maior que a interatividade
oferecida pelos algoritmos freqentemente utilizados para Data Mining, geralmente
baseados na estratgia gulosa (FREITAS, 2001 apud DHAR V; PROVOST, 2000).
Neste captulo sero discutidos os aspectos e as ferramentas utilizadas no uso de
algoritmos genticos para descoberta de regras de previso no processo de Minerao de
Dados.

4.1 Codificao do Indivduo


Algoritmos genticos para descoberta de regras podem ser divididos em duas
grandes abordagens, que diferem entre si na maneira como elas representam as regras em
um indivduo da populao de solues.
Em geral, existem duas abordagens para a representao de indivduos em um
algoritmo gentico para descoberta de regras: a abordagem de Michigan e a abordagem de
Pittsburgh.
Na abordagem de Michigan, cada indivduo representa uma nica regra, enquanto
que para a abordagem de Pittsburgh, cada individuo representa um conjunto de regras
(FREITAS, 2001). Cada abordagem tem sua aplicao em uma etapa diferente do processo de
Minerao de Dados. A abordagem de Michigan aplicada descoberta de regras de
previso de uma maneira mais natural, pois nesta tarefa a avaliao de cada regra mais
interessante para o sucesso no alcance do objetivo. Se for avaliada cada regra

42

individualmente, ao final do algoritmo gentico as regras que possuem os melhores ndices


de previso sero conhecidas.
Para a tarefa de classificao de dados, a abordagem mais adequada dentre as duas
a de Pittsburgh, j que nesta abordagem, so avaliados os conjuntos de regras. Os melhores
conjuntos avaliados classificaro os dados de maneira mais satisfatria, o que o objetivo
neste momento.
Enquanto a abordagem de Pittsburgh oferece interao entre as regras, a abordagem
de Michigan oferece interao entre os atributos, o que justifica que cada abordagem seja
mais bem aplicada em tarefas diferentes. Os indivduos gerados pela abordagem de
Pittsburgh tendem a terem mais informao e a serem mais complexos (FREITAS, 2001), o
que aumenta o custo computacional para o clculo do fitness. Por outro lado, os indivduos
baseados na abordagem de Michigan so mais simples e menores, o que acelera o
desempenho da funo de avaliao.
Para este trabalho, foi escolhida a representao binria seguindo a abordagem de
Michigan por facilitar a representao das regras e atributos, alm da interao entre cada
um deles durante o processo de execuo do algoritmo.

4.2 Operador de Introduo de Novos Indivduos (Seeding)


O operador de seeding introduz na populao um novo indivduo. O diferencial deste
operador que o novo indivduo gerado cobre um exemplo pertencente a base de
treinamento. Este operador age como uma funo, que, dado um exemplo pertencente a
base de treinamento retorna um indivduo que cobre este exemplo (GIORDANA; NERI,
1995). A listagem 4.1 Descreve o funcionamento deste operador.
Listagem 4.1: Pseudocdigo do operador de seeding (GIORDANA; NERI, 1995).

Seja e um exemplo pertencente ao conjunto de treinamento E


Gere uma cadeia aleatria de bits definindo um indivduo K
Transforme em 1 o menor nmero de bits em K para que K cubra e
Retorne (K)

43

4.3 Funo de Avaliao para Descoberta de Regras de


Classificao
A funo de avaliao deve traduzir o problema a ser resolvido para que possa ser
compreendido e tratado por um computador (LINDEN, 2006). Para a descoberta de regras de
classificao, a funo de avaliao deve ser capaz de medir as seguintes caractersticas: a
acurcia preditiva da regra, ou seja, o poder desta regra de prever comportamentos baseada
nas informaes cedidas pelo conjunto de treinamento; o quanto esta regra compreensvel
ao usurio, pois regras que no so claras ou que so muito complexas sero sumariamente
descartadas pelo usurio; e o quanto esta regra interessante, sendo esta a caracterstica
mais difcil de ser medida, por ser extremamente subjetiva (FREITAS, 2001).
Para um AG que segue a abordagem de Michigan, onde cada indivduo representa
apenas uma regra, seja esta regra representada pela forma SE A ENTO C, onde A
representa a parte antecedente da regra e C a parte conseqente da regra o atributo
objetivo. Uma maneira simples de medir a acurcia preditiva (AC) de uma regra definida
por:

.4 =

| ; & =|
|;|

(4.1)

onde | . | o nmero de exemplos da base de dados que satisfazem todas as condies


antecedentes representadas por A e | . & 4| representada todos os exemplos que
atendem a parte antecedente e conseqente da regra (exemplos que atendem a A e a C)
(FREITAS, 2001). Por exemplo, se uma regra cobre 10 exemplos (| . | = 10), dos quais
apenas 8 possuem o mesmo valor de atributo objetivo (classe) que esta regra (| . & 4| =

8), tem-se que a acurcia preditiva desta regra igual a

@
AB

= 80 %.

A acurcia preditiva de uma regra de classificao pode ser resumida a uma matriz
2x2 chamada de matriz de confuso. Seu contedo representado a partir de quatro
conceitos que so observados ao utilizarmos uma regra para classificar um exemplo da base

44

de dados a partir da classe que foi prevista pela regra e da classe efetiva deste exemplo, e
so apresentados a seguir:

Verdadeiros Positivos (VP) denota o nmero de exemplos que atendem a


parte antecedente da regra (a parte A) e a parte conseqente da regra (a
parte representada por C);

Falsos Positivos (FP) denota o nmero de exemplos que atendem a parte


antecedente da regra (a parte A) e no atendem a parte conseqente da
regra (a parte representada por C);

Falsos Negativos (FN) denota o nmero de exemplos que no atendem a


parte antecedente da regra (a parte A), porm atendem a parte conseqente
da regra (a parte representada por C);

Verdadeiros Negativos (VN) denota o nmero de exemplos que no


atendem a parte antecedente da regra (a parte A) e no atendem a parte
conseqente da regra (a parte representada por C);

Assim, a forma de uma matriz de confuso apresentada a seguir:

Figura 4.1: Matriz de Confuso para uma Regra de Classificao (FREITAS, 2001).

Outra frmula para medir a acurcia preditiva de cada regra, baseando-se nos
conceitos apresentados acima representada pela frmula:

.4 =

| DE|
| DEFGE |

(4.2)

45

Outro conceito importante para a avaliao de regras de classificao o conceito da


completude, que representa o nmero de exemplos da base de dados que possuem o
mesmo valor do atributo objetivo que a regra a ser avaliada e que so cobertos pela regra
antecedente. A completude Comp de uma regra pode ser avaliada atravs da frmula:

4&' =

| DE|
| DEFGH |

(4.3)

Tendo em vista que as caractersticas citadas acima, acurcia preditiva e completude,


so as caractersticas desejveis a regras de classificao, podemos ento utilizar a seguinte
funo de avaliao, onde o valor do fitness obtido da seguinte forma:

3%(  = .4 $ 4&' ,

(4.4)

e que foi utilizada para a avaliao das regras neste trabalho.


Vale salientar que, durante a execuo do algoritmo gentico para extrao de regras
de classificao, indivduos que possuem acurcia preditiva de 100% no so interessantes,
por representarem idiossincrasias particulares ao conjunto de dados utilizado para
treinamento das regras. A funo de fitness utilizada neste trabalho no avalia a
simplicidade de uma regra.

4.4 Mtodos para Manter a Diversidade de Regras


Como discutido na seo 3.5, existem alguns mtodos de criao de nichos que visam
manuteno da diversidade entre os indivduos de uma populao em um algoritmo
gentico.
Para a manuteno da diversidade de indivduos em um algoritmo gentico para a
descoberta de regras de classificao, existe ainda outra maneira para se manter a
diversidade das regras, evitando a convergncia para um indivduo: a Cobertura Seqencial
(Sequential Covering). Neste mtodo, a cada execuo do AG apenas uma regra
selecionada a regra com melhor adaptao. Aps a execuo do AG, a regra mais apta
armazenada e todos os exemplos do conjunto de treinamento que so cobertos por esta
regra so descartados. O AG executado n vezes, onde n a quantidade de vezes

46

necessrias para que haja regras suficientes para cobrir todo o conjunto de treinamento, ou
seja, at que o conjunto de treinamento esteja vazio. Portanto, o uso deste mtodo de
seleo implementa uma forma de niching, fomentando a evoluo de diferentes regras que
cobrem diferentes partes da base de dados (FREITAS, 2007). No sufrgio universal, o mtodo
de seleo favorece os indivduos que cobrem mais exemplos, pois eles ocorrem vrias vezes
na roleta, e os indivduos mais adaptados (maior fitness total), pois possuem maior
probabilidade de serem selecionados pela roleta.
Para este trabalho foi utilizado um mtodo baseado em nichos para a manuteno da
diversidade das regras: o sufrgio universal. Este mtodo foi escolhido por evitar a
convergncia da populao em torno de um super-indivduo que foi obtida quando foi
utilizado apenas o mtodo de seleo da roleta. A listagem 4.1 exibe o pseudocdigo do
funcionamento do sufrgio universal.
Listagem 4.2: Pseudocdigo do mtodo de sufrgio universal (GIORDANA; NERI, 1995).

B(t) = 2
Selecione aleatoriamente, com reposio g * M exemplos de E
Para cada exemplo K selecionado faa
Para cada individuo I da populao faa
Se existe um indivduo que cobre o K
ento armazene este indivduo como um candidato
Seno crie um novo indivduo que cubra este exemplo e adicione a B(t)
Fim
Utilize o mtodo da roleta para escolher apenas um indivduo que receber o voto
deste exemplo e o adicione a B(t)
Fim

A cada gerao do algoritmo gentico selecionado, de maneira aleatria, um


subconjunto de exemplos do conjunto de treinamento E. Este conjunto de treinamento um
subconjunto da base de dados utilizada para se obter as regras de predio. Esta seleo
realizada com reposio dos exemplos para que, casos onde o nmero de exemplos seja
menor que o nmero de indivduos M da populao (E < M) no haja mais exemplos a serem
escolhidos (GIORDANA; NERI, 1995). Para cada exemplo selecionado, so escolhidos os
candidatos a receberem o voto deste exemplo, ou seja, as regras que cobrem este exemplo

47

e que so agora passveis de serem votados por este exemplo, esses candidatos so
armazenados. Depois de se conhecer e armazenar todos os candidatos, o indivduo votado
escolhido utilizando o mtodo de seleo da roleta, onde selecionado um indivduo a
partir de um subconjunto de indivduos com probabilidade diretamente proporcional a seu
fitness, assim a probabilidade de ser escolhido um indivduo de alto fitness grande, porm
indivduos de baixo fitness no esto totalmente descartados, o que importante para a
manuteno da diversidade da populao de um AG. Apenas os exemplos pertencentes ao
conjunto B(t) so selecionados para cruzamento, e esse aspecto que garante que apenas
formulas que cobrem o mesmo exemplo sejam competidoras entre si. A introduo do
mtodo de seleo da roleta, que escolhe o indivduo que ser votado pelo exemplo, faz
com que a probabilidade de que os exemplos votem nos melhores indivduos seja
proporcional ao fitness dos indivduos que cobrem estes exemplos. A funo de fitness a ser
utilizada no precisa necessariamente levar em considerao a completude de cada regra, j
que apenas indivduos que cobrem pelo menos um exemplo so selecionados quando
utilizado o operador de seleo sufrgio universal (RAS; ZEMANKOVA, 1994), j que estes
indivduos devem ser votados por pelo menos um exemplo. Porm, para este trabalho foi
considerada a completude de uma regra na funo de fitness para que regras que cubram
mais exemplos que outras tenham maior probabilidade de serem votadas.

4.5 Operador de Cruzamento (Crossover)


O operador de cruzamento utilizado para este trabalho foi o crossover uniforme. Este
tipo de crossover foi escolhido por ser capaz de combinar todo e qualquer esquema
existente na populao (LINDEN, 2006).
Existe tambm outro tipo de crossover especfico para a tarefa de descoberta de
regras

de

classificao:

crossover

de

generalizao/especializao

(generalizing/specializing crossover). A idia bsica deste operador generalizar ou


especializar uma dada regra, ou seja, aumentar o nmero de exemplos que so cobertos
pela regra se este nmero for considerado pequeno, ou aumentar o nmero de exemplos
que so cobertos por esta regra se este for considerado grande.

48

Como exemplo, consideremos que um algoritmo evolucionrio, seguindo a


codificao de Michigan.. Ento, o crossover de generalizao/especializao pode ser
implementado como o OU lgico ou o E lgico (FREITAS, 2001), respectivamente, como
mostrado na figura 4.2.

Figura 4.2: Exemplo de crossover de generalizao/especializao (FREITAS, 2001)

4.6 Operador de Generalizao e Especializao


A generalizao ou especializao de regras pode tambm ser realizada por um
operador

independente

do

operador

de

cruzamento,

chamado

operador

de

generalizao/especializao.
Para ilustrar o uso deste operador, consideremos a seguinte regra,
regra onde as condies
so ligadas por um E lgico (FREITAS, 2001):
2001)
 > 25  %I J K = % 

(4.5)

Esta regra pode ser generalizada, utilizando a mutao para subtrair certo valor de
25, assim em 4.5 haver uma cobertura de mais exemplos. Um exemplo pode ser ilustrado
atravs em 4.6 (FREITAS, 2001):
 > 21  %I J K = % 

(4.6)

Outra maneira de generalizar


generalizar uma regra apagar alguma das condies desta regra.
Para realizar a especializao de uma regra, pode-se
pode se adicionar certo valor a 25, assim
diminuiria o intervalo coberto e assim o nmero de exemplos cobertos por este indivduo.
Para este trabalho este operador
operador no foi utilizado e a cobertura dos exemplos
garantida pela funo de avaliao e pelo mtodo de sufrgio universal.

49

5 IMPLEMENTAO

O presente captulo descreve e discute o algoritmo implementado, baseado em


tcnicas da Programao Gentica, para a ferramenta EPT - Explorer Patterns Tool,
ferramenta de Minerao de Dados desenvolvida neste trabalho. Esta ferramenta a
resultante da incorporao de algoritmos genticos para extrao de regras de predio
ferramenta EFT (Explorer Fuzzy Tree). A ferramenta EFT foi desenvolvida em SOUZA, 2008
para oferecer ao seu usurio parmetros de experimentao que permitam aumentar o
poder preditivo da rvore clssica atravs da sua fuzzyficao (SOUZA, 2008).
O EPT oferece um ambiente de experimentos com algoritmos de classificao
baseados em rvores de deciso nebulosas e clssicas sobre qualquer base de dados com
atributos contnuos (SOUZA, 2008) assim como experimentos com algoritmos genticos para
extrao de regras de predio sobre qualquer base de dados com atributos contnuos ou
categricos, alm de um ambiente onde possvel comparar esses dois paradigmas
utilizados para a Minerao de Dados.
Nas prximas sees sero descritas as principais caractersticas da ferramenta: sua
arquitetura, o algoritmo implementado. Informaes acerca do uso da ferramenta so
explanadas no apndice A.

5.1 Arquitetura da Ferramenta


A ferramenta Explorer Patterns Tool baseada no modelo de arquitetura de trs
camadas e foi totalmente desenvolvida utilizando a linguagem Java, e compatvel com o
Java verso 6.
A modelagem em trs camadas foi utilizada para o desenvolvimento desta
ferramenta. Neste modelo, feita uma separao das trs camadas de software: a camada
de dados separada da camada de interface com o usurio e da camada de negcios. Esta

50

separao tem por fim promover a independncia entre essas trs camadas e assim facilitar
a manuteno e evoluo da ferramenta incentivando novas contribuies (SOUZA, 2008). A
seguir so as trs camadas do EPT so descritas.

Camada de dados esta camada realiza o acesso e a manipulao dos dados


carregados a partir das bases de dados e que sero utilizados para a
minerao de dados.

Camada de negcio esta camada implementa toda a lgica do EPT,


manipulando os dados recebidos da camada de dados, aplicando os
algoritmos desenvolvidos para esta ferramenta, de acordo com a escolha do
usurio, e enviando os resultados camada visualizada pelo usurio: a
camada de interface.

Camada de interface esta a camada responsvel pela apresentao dos


resultados obtidos pelo EPT ao usurio. Detalhes sobre esta camada so
explanados em 5.3.

5.2 Algoritmo Implementado


Neste trabalho um algoritmo gentico para descoberta de regras de predio foi
incorporado ferramenta EFT (Explorer Fuzzy Tree).
O algoritmo gentico implementado para este trabalho utiliza a codificao de
indivduo binria (formada por 0 e 1), baseada na abordagem de Michigan, onde cada
indivduo representa uma nica regra.
Os operadores genticos utilizados foram os operadores de seeding, seleo,
mutao e crossover. A seguir discutido o uso de cada um desses operadores.
A discretizao dos valores contnuos foi feita utilizando o mtodo de intervalos
iguais (equal-width discretization). Este mtodo divide o conjunto de valores reais de um
atributo em N intervalos de tamanhos iguais, onde seja o A e B os limites inferior e superior

51

dos valores do atributo a ser discretizado, tamanho deste intervalo dado por (B-A) / N,
onde N a quantidade de intervalos que devem ser gerados pela discretizao. Na
ferramenta EPT este valor informado pelo usurio. Este mtodo foi escolhido por ser um
mtodo simples de discretizao.
O algoritmo gentico implementado neste trabalho, pode trabalhar com dados
contnuos ou categricos na mesma base de dados, inclusive podendo utilizar atributos
categricos no apenas como atributos objetivo.

5.2.1 Inicializao da Populao


Para a inicializao da populao do algoritmo gentico implementado foi utilizado o
operador de introduo de novos indivduos (seeding) discutido no captulo 4. Este operador
foi escolhido para que seja garantido que os indivduos da populao do AG implementado
cubram pelo menos um exemplo do conjunto de treinamento, alm de garantir a presena
de um nicho ecolgico desde a primeira execuo do algoritmo. A figura 5.1 mostra o
diagrama de seqncia da funo que inicializa a populao do algoritmo gentico
implementado para este trabalho.

52

Figura 5.1: Diagrama de Classe da Funo de Seeding

5.2.2 Seleo de Pais


A seleo de pais do AG objeto deste trabalho realizada utilizando-se o operador de
sufrgio universal discutido nos captulos 3 e 4. Este operador foi escolhido para esta tarefa,
por manter a diversidade da populao atravs de nichos, e utilizar os prprios exemplos de
treinamento do AG para construir esses nichos. Dessa maneira as regras geradas refletem as
informaes da base de dados, representadas no AG pelo conjunto de treinamento. A figura
5.2 mostra o diagrama de seqncia da funo que implementa o operador de sufrgio

53

universal. Esta funo retorna uma lista contendo os elementos que foram selecionados
utilizando os princpios deste mtodo.

Figura 5.2: Diagrama de Classe da Funo do Operador de Sufrgio Universal

5.2.3 Cruzamento, Mutao e Elitismo: Evoluo dos Indivduos


Para este trabalho foram utilizados os mtodos de cruzamento, mutao e elitismo
para a evoluo dos indivduos e formao da nova populao do AG. O mtodo de elitismo,
discutido no captulo 3 foi utilizado com fator de elitismo igual a 1.
Os operadores de mutao e o cruzamento uniforme, discutidos no captulo 3, foram
utilizados para a criao de novos indivduos. Dois indivduos so selecionados, a partir do
operador de sufrgio universal e so submetidos ao operador de cruzamento uniforme,

54

dando origem a um novo indivduo K. aplicado neste novo indivduo K o operador de


mutao simples, que pode mudar cada um dos bits deste novo indivduo com uma
probabilidade de 1/L onde L o tamanho da cadeia de genes dos indivduos deste AG. Esta
probabilidade baseada no trabalho de Bremermann (LINDEN, 2006 apud Michalewicz,
2002), que defende que para cromossomos binrios esta seria uma tava de mutao tima.
O cdigo utilizado para implementao da mutao e do crossover uniforme so os mesmos
cdigos utilizados por (LINDEN, 2006). O diagrama de classe das funes de mutao e
cruzamento e so exibidos nas figuras 5.3 e 5.4 respectivamente.

Figura 5.3: Diagrama de Classe da Funo do Operador de Mutao

55

Figura 5.4: Diagrama de Classe da Funo do Operador de Cruzamento Uniforme

5.2.4 Clculo da Funo de Avaliao


Para este trabalho, foi utilizada a funo de avaliao descrita em 4.3 (equao 4.4),
baseada nos valores de verdadeiros positivos, falsos negativos e falsos positivos, calculados
para este indivduo. Foi utilizado em conjunto com esta funo de fitness o mtodo descrito
em (FREITAS, 2001), onde o valor para o atributo objetivo escolhido baseado no valor do
fitness para o indivduo, caso seja atribudo um valor p pertencente ao domnio D do atributo
objetivo. Para cada indivduo, o clculo do fitness feito n vezes, onde n o tamanho do
conjunto D. escolhido ento o valor p que maximiza a funo de fitness para o indivduo
avaliado. A figura 5.5 mostra o diagrama de classes da funo Java que implementa este
mtodo.

56

Figura 5.5: Diagrama de Classe da Funo de Fitness

5.3 Experimentos

57

O Explorer Patterns Tool possibilita a realizao de experimentos a cerca de


reconhecimento de padres sobre bases de dados utilizando regras de classificao
extradas por um algoritmo gentico e rvores de deciso fuzzy e clssicas, ou ainda com
ambos os paradigmas. Existe uma tela para cada paradigma citado anteriormente, onde o
usurio pode informar os parmetros necessrios para a realizao do respectivo
experimento. As figuras 5.6, 5.7 e 5.8 mostram, respectivamente, a realizao de
experimentos para o paradigma nebuloso, gentico e os experimentos que comparam esses
dois paradigmas.

Figura 5.6: Execuo de experimento utilizando lgica nebulosa.

58

Figura 5.7: Execuo de experimento utilizando o algoritmo gentico implementado.

59

Figura 5.8: Execuo de experimento utilizando o algoritmo gentico implementado e comparando o


resultado com a rvore fuzzy escolhida.

5.3.1 Relatrio de Resultados


O Explorer Patterns Tool gera um relatrio, que pode ser salvo em disco, e que exibe
as informaes acerca do teste feito pelo usurio. Neste teste, o usurio pode solicitar ainda
que sejam impressos os exemplos utilizados para treinamento e validao para o algoritmo
escolhido, caso sejam escolhidos os mtodos de experimentao de validao cruzada ou
percentagem de treino, que sero mais bem explanados em 6.2.2 e 6.2.3 respectivamente.

60

6 EXPERIMENTOS REALIZADOS

Para avaliar o desempenho do algoritmo gentico implementado para este trabalho,


foram realizados experimentos em algumas bases de dados, onde se avaliou a acurcia das
regras encontradas. Foram feitos tambm experimentos para a comparao do desempenho
do algoritmo implementado, baseado na computao evolutiva, com os algoritmos
implementados para a ferramenta EFT, baseados em rvores nebulosas e clssicas, e usados
para descoberta de padres em bases de dados. Os experimentos foram feitos, utilizando o
mtodo de validao cruzada (cross validation) sobre quatro bases de dados. Este captulo
relata os experimentos realizados.

6.1 Bases de Dados Utilizadas


Os experimentos foram realizados sobre as mesmas bases de dados utilizadas em
(SOUZA, 2008) e que tambm foram utilizadas para testar o EFT. As caractersticas de cada
base de dados so descritas a seguir:

Iris (FISHER, 1988) esta base de dados utilizada para ilustrar anlise
discriminante (SOUZA, 2008). A base de dados Iris tem ao todo 150 exemplos,
que descrevem trs tipos de flores: Iris-setosa, Iris-versicolor e iris-virginica.
Cada objeto desta base possui quatro atributos reais (numricos) e um
atributo nominal, o atributo class que classifica cada objeto como um dos trs
tipos de flores descrito acima. Cada tipo de flor a classe de 50 objetos cada.

Segment-Challenge (GROUP, 1990a) esta base de dados foi obtida a partir


da seleo aleatria de objetos de uma base de dados de sete imagens de
outdoors segmentadas para que seja possvel a classificar todos os pixels. O
tamanho desta base de dados de 1500 objetos, e cada objeto possui 20
atributos, sendo 19 atributos reais (numricos) e mais um atributo nominal,

61

chamado de class e que possui o seguinte domnio: brickface, sky, foliage,


cement, window, path, e grass.

Segment-Test (GROUP, 1990a) esta base de dados um subconjunto da


base de dados Segment-Challenge com 810 objetos.

SPAMBASE (HOPKINS et al., 2001) base codificada de e-mails construda por


pesquisadores da HP (SOUZA, 2008). Possui 4601 e-mails pessoais cedidos
pelo pesquisador George Forman, codificados em 58 atributos 57 atributos
de domnio real (numricos) e um atributo binrio, o atributo span (o valor 1
denota que o objeto no um span o valor 0 denota que este objeto trata-se
de um span).

A tabela 6.1 faz um breve comparativo entre as bases de dados supracitadas.


Tabela 6.1: Informaes sobre os conjuntos de dados (SOUZA, 2008)
Conjuntos de Dados

Domnio

Classes

Atributos de entrada

Qtde. de instncias

SPAMBASE

Comercial

57

4601

Segment-challenge

Comercial

19

1500

Segment-test

Comercial

19

810

Iris

Biolgico

150

6.2 Mtodos de Experimentao


As subsees seguintes descrevem os trs mtodos de experimentao disponveis
na ferramenta EPT: conjunto de treino (training set), validao cruzada (cross-validation) e
porcentagem de treino (percentage split).

6.2.1 Conjunto de Treino (Training Set)


Este mtodo de experimentao utiliza todos os objetos da base de dados para
treinar (conjunto de treino) e testar (conjunto de validao) o algoritmo utilizado (SOUZA,
2008 apud EGGERMONT, 2005).

6.2.2 Validao Cruzada (Cross-validation)

62

Neste mtodo a base de dados B aleatoriamente dividida em k subconjuntos


mutuamente exclusivos de tamanhos aproximadamente iguais chamados folds (B1, B2, ..., Bk)
(KOHAVI, 1995). O algoritmo executado k vezes; cada vez t {1, 2, ... , k} o algoritmo
treinado utilizando B \ Bt e testado em Bt (KOHAVI, 1995).
O procedimento acima repetido at que os k subconjuntos sejam utilizados como
conjunto de teste (SOUZA, 2008). A acurcia final obtida atravs do clculo da acurcia
mdia dos folds (SOUZA, 2008 apud SILVA, 2007).

6.2.3 Percentagem de Treino (Percentage Split)


Neste mtodo uma porcentagem p dos exemplos de uma base de dados utilizada
como conjunto de treino. Essa porcentagem p definida pelo usurio e os objetos do
conjunto de treino so escolhidos aleatoriamente. As instncias que no foram selecionadas
para o conjunto de teste, so ento utilizadas no conjunto de treinamento (SOUZA, 2008
apud GONCALVES, 2007).

6.3 Procedimentos Experimentais


Os experimentos foram realizados sobre o algoritmo gentico implementado para
este trabalho e sobre os algoritmos implementados para a ferramenta EFT: J47, J48,
FILMJ47, FILMJ48, FJ47 e FJ48. O primeiro experimento visa comparar os resultados obtidos
pelo AG deste trabalho com os valores obtidos nos testes realizados em SOUZA, 2008
comparaes entre as rvores clssicas e nebulosas. No segundo experimento, o algoritmo
gentico foi executado utilizando diferentes combinaes de tamanho de populao,
nmero de geraes executadas e tamanho de intervalos utilizados para classificao.
O objetivo do primeiro experimento realizar uma comparao entre os ndices de
acurcia obtidos pelo algoritmo implementado com os ndices obtidos pelos algoritmos
baseados em rvores clssicas e nebulosas que foram implementados no EFT. O primeiro
experimento foi feito sobre todas as bases de dados mostradas anteriormente. Para este
experimento foram utilizadas duas modalidades de teste: diviso por porcentagem
(percentage split) e validao cruzada (cross validation). Para a diviso por porcentagem,
foram feitas 300 execues do algoritmo implementado, nas quais foram utilizados 60% do

63

conjunto de dados respectivo para treinar o algoritmo e os outros 40% restantes foram
utilizados para validao das regras encontradas. Para a validao cruzada, as bases de
dados foram divididas em 10 folds.
O objetivo do segundo experimento realizar um estudo da relao entre o nmero
de geraes implementadas e as taxas de acurcia resultantes, executando este algoritmo
300 vezes utilizando a validao cruzada, dividindo a base de dados Spambase em 10 folds,
obtendo e comparando os resultados.

6.4 Resultados e Discusses


PRIMEIRO EXPERIMENTO COMPARAO ENTRE ALGORITMOS
A tabela 6.2 exibe a mdia aritmtica obtida para os resultados obtidos nos testes
com o algoritmo gentico, onde a coluna AG mostra os resultados obtidos pelo algoritmo
gentico implementado: V.C. representa os resultados obtidos para os testes que utilizaram
a validao cruzada e D.P. representa os resultados obtidos pelos testes utilizando o mtodo
de diviso por porcentagem. As colunas seguintes representam os resultados obtidos em
(SOUZA,2008).

Tabela 6.2: Resultados das Comparaes entre as Taxas de Acurcia Obtidas pelo
Algoritmo Gentico Implementado e as rvores Fuzzy Implementadas no EFT
AG

Conjuntos de Dados

FILMJ47

FILMJ48

FJ47

FJ48

V.C.

D.P.

SPAMBASE

0,520

0,622

0,853

0,857

0,614

0,645

Segment-challenge

0,820

0,832

0,874

0,874

0,838

0,841

Segment-test

0,830

0,845

0,847

0,835

0,790

0,798

Iris

0,726

0,784

0,869

0,907

0,803

0,837

O primeiro experimento mostrou taxas de acurcia maiores que 60% em todas as


bases para o mtodo de diviso por porcentagem, porm apenas para a base de dados

64

Segment-test a taxa de acurcia foi superior s taxas obtidas pelos outros algoritmos. Este
desempenho inferior explicado pelo carter heurstico dos algoritmos genticos, alm da
preciso obtida pelos algoritmos de rvore clssicas e fuzzy ao trabalharem com atributos
contnuos e que no possvel no algoritmo implementado j que este algoritmo utilizou
discretizaes simples para trabalhar com estes valores. Os valores de acurcia tambm
poderiam ser modificados caso outros operadores fossem utilizados neste algoritmo ou caso
fosse utilizado um mtodo de discretizao mais preciso.
SEGUNDO EXPERIMENTO COMPARAO ENTRE GERAES
A figura 6.1 exibe os resultados obtidos para o segundo experimento. Este
experimento mostrou que o ndice de acurcia obtido pelo algoritmo implementado
aumentado medida que o nmero de geraes tambm aumentado.

70,00

60,00

50,00

40,00

Acurcia Primeira Execuo


(%)

30,00

Acurcia Segunda Execuo


(%)
Acurcia Terceira Execuo
(%)

20,00

10,00

0,00
15

30

80

100

Figura 6.1: Acurcia X nmero de geraes

65

66

7 CONCLUSO

O domnio das informaes contidas em um banco de dados, atravs do real


conhecimento de seu contedo e aplicao um diferencial em vrias reas. Empresas
privadas podem utilizar tcnicas de extrao de dados para melhorar sua competitividade no
mercado, ou ainda governos podem utilizar a minerao de dados para aplicar seus recursos
de forma mais efetiva. Sendo assim, pode-se concluir que o processo de KDD, destacando a
etapa de Minerao de Dados tem grande importncia e aplicao prtica.
Um classificador gentico baseado em regras de predio pode ser construdo a
partir de um conjunto de exemplos de treinamento e testado em um conjunto de exemplos
de testes, sendo estes exemplos representantes do ambiente que se deseja conhecer e das
situaes que se deseja predizer futuramente.
Este trabalho implementou um algoritmo gentico utilizando tcnicas que, segundo a
literatura pesquisada, maximizavam o desempenho de um algoritmo gentico para
encontrar regras de predio. Todavia, o algoritmo implementado obteve acurcia superior
a acurcia obtidas por tcnicas de rvores clssicas apenas em uma base de dados. Este
algoritmo obteve taxas de acurcia menores que todos os mtodos de rvores fuzzy.
A comparao do uso de um algoritmo utilizando lgica nebulosa aplicado a
minerao de dados com um algoritmo gentico desenvolvido para a mesma tarefa no
um tema abordado freqentemente, ao contrrio da unio destas duas tcnicas para realizar
a tarefa de minerao de dados, tema abordado em muitos trabalhos pesquisados.
Este trabalho prope as seguintes possibilidades de trabalhos futuros:

A unio das tcnicas de lgica nebulosa e gentica para melhorar a acurcia


das regras;

67

A implementao de um algoritmo gentico que proponha uma funo de


avaliao, um modo de seleo de indivduos, um modo de mutao
diferentes do utilizado pelo algoritmo implementado neste trabalho, alm da
no discretizao dos valores contnuos o tratamento a estes valores seria
dado por meio da interpolao linear;

A Implementao de mtodos de seleo de atributos para diminuir o tempo


de execuo dos algoritmos implementados.

Uso de redes neurais auto organizveis para descoberta de regras de


predio.

68

REFERNCIAS BIBLIOGRFICAS

CARVALHO, Deborah R. rvore de Deciso / Algoritmo Gentico para Tratar o Problema de


Pequenos Disjuntos em Classificao de Dados. 2005. 173 f. Tese (Doutorado em Cincias em
Engenharia Civil) Programas de Ps-Graduao em Computao de Alto
Desempenho/Sistemas Computacionais e Programa de Engenharia Civil da Universidade
Federal do Rio de Janeiro, Rio de Janeiro, 2005.
CARVALHO, Deborah R., FREITAS, Alex A. Uma reviso de mtodos de Niching para
algoritmos genticos. Tuiuti: Cincia e Cultura, n. 29, FACET 04, pp. 97-118, Curitiba, 2002.
COX, Earl. Fuzzy Modeling and Genetic Algorithms for Data Mining and Exploration.
Elsevier/Morgan Kaufmann, 2005.
DOHERTY, C. Gregory. Fundamental Analysis Using Genetic Programming For Classification
Rule Induction. California, 2001.
FAYYAD, Usama, SHAPIRO-PIATETSKY, Gregory, SMITH, Padhraic. From Data Mining to
Knowledge Discovery in Databases. 1996.
FERNANDES, Anita M da Rocha, RAMPELOTTI, Flvio M. Data Mining. In: Inteligncia
Artificial noes gerais. Visual Book, 2003. p. 129 145.
FERNANDES, Anita M da Rocha, COSTA Jr., Ilaim. Algoritmos Genticos. In: Inteligncia
Artificial noes gerais. Visual Book, 2003. p. 116 127.
FISHER, M. M. R. Iris. 1988. ltimo acesso em 20 de dezembro de 2008. Disponvel em:
<http://www.cs.waikato.ac.nz/ml/weka/>.
CASTRO, Leandro de, ZUBEN, Fernando Von. Algoritmos Genticos (AGs). ltimo acesso em
20 de dezembro de 2008. Disponvel em:
<ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/ia707_02/topico9_02.pdf>
FREITAS, Alex A. A Survey of Evolutionary Algorithms for Data Mining and Knowledge
Discovery. Curitiba, 2001.
FREITAS, Alex A. A Review of Evolutionary Algorithms for Data Mining. Canterbury, 2007.
FREITAS, Alex A. Data Mining and Knowledge Discovery with Evolutionary Algorithms.
Springer, 2002

69

FUCHS, Gabriel. Data Mining- If Only Really Were about Beer and Diapers, Jan. 2004. ltimo
acesso em 01 de Novembro de 2008.
Disponvel em: <http://www.dmreview.com/news/1006133-1.html>
GIORDANA, Attilio, NERI, Filippo. Search-Intensive Concept Induction. In: Evolutionary
Computation. MIT Press, 1995. P. 375 419.
GOEBEL, Michael, GRUENWALD Le. A Survey of Data Mining and Knowledge Discovery
Software Tools. ACM SIGKDD Explorations, 1999.
LINDEN, Ricardo. Algoritmos Genticos. Uma importante ferramenta da Inteligncia
Computacional. Brasport, 2006.
KOHAVI, R. A study of cross-validation and bootstrap for accuracy estimation and model
selection. Proceedings of the Fourteenth International Joint Conference on Artificial
Intelligence, n. 2, p. 11371143, 1995.
MITCHELL, Melanie. An Introduction to Genetic Algorithms. Cambridge, MA. MIT Press, 1996
PAPPA, Gisele L. Seleo de Atributos Utilizando Algoritmos Genticos Multiobjetivos. 2002.
85 f. Dissertao (Mestrado em Informtica Aplicada) - Programa de Ps-Graduao em
Informtica Aplicada da Pontifcia Universidade Catlica do Paran, Curitiba, 2002.
PAPPA, Gisele L., FREITAS, Alex A. Towards a Genetic Programming Algorithm for
Automatically Evolving Rule Induction Algorithms. Canterbury, 2004.
RAS, Zbigniew W., ZEMANKOVA, Maria. Methodologies for Intelligent Systems: 8th
International Symposium, ISMIS '94, Charlotte, North Carolina, USA, October 16-19, 1994 :
Proceedings. Springer, 1994.
SOUZA, Erick Nilsen Pereira de. Explorer Fuzzy Tree: uma ferramenta para experimentao
de tcnicas de classificao baseadas em rvores de deciso fuzzy. In ERBASE 2008 WTICGBASE (Workshop de Trabalhos de Iniciao Cientfica e Graduao Bahia, Alagoas e Sergipe)
Salvador, Bahia, 2008.
WU, Yi-Ta, AN Yoo Jung, GELLER, James, WU, Yih-Tyng. A Data Mining Based Genetic
Algorithm. In Fourth IEEE Workshop on Software Technologies for Future Embedded and
Ubiquitous Systems and Second International Workshop on Collaborative Computing,
Integration and Assurance. SEUS-WCCIA, 2006.

70

APNDICE A MANUAL PARA UTILIZAO


DO EXPLORER PATTERNS TOOL

O Explorer Patterns Tool oferece uma interface grfica para facilitar a realizao dos
experimentos sobre os algoritmos implementados para a ferramenta.
Cada uma das telas da ferramenta possui o boto Open File que permite que seja
carregado o arquivo que contm os exemplos da base de dados que sero utilizados para
testar e treinar os algoritmos. Este arquivo deve estar no formato descrito ilustrado pela
figura A.1.
Caso o usurio selecione o boto Start Test de uma das telas da ferramenta, sem ter
carregado um arquivo de dados a mensagem de erro ilustrado em A.2 exibida e o teste no
iniciado. Cada tela da ferramenta EPT descrita nas subsees a seguir.

71

Figura A.1: Formato de arquivo de dados a ser lido pelo Explorer Patterns Tool (SOUZA, 2008)

Figura A.2: Mensagem de erro gerada caso um arquivo no tenha sido carregado.

72

A.1

Tela Principal
A figura A.3 mostra a tela principal do Explorer Patterns Tool e seu menu, que

permite que seja selecionada uma modalidade para a realizao dos experimentos. As
opes do menu so descritas a seguir.

Figura A.3: Tela principal do EPT

O menu New Test oferece as seguintes opes:

Fuzzy Algorithms (Teclas de atalho: Alt + E) se escolhida esta opo uma


nova janela aberta. Nesta nova janela possvel a realizao de
experimentos utilizando os algoritmos baseados na lgica nebulosa para
induo de regras;

73

Genetic Algorithms (Teclas de atalho: Alt +N) se escolhida esta opo uma
nova janela aberta. Nesta nova janela possvel a realizao de
experimentos utilizando um algoritmo evolucionrio para descoberta de
regras de classificao;

Compare Genetics and Fuzzy (Teclas de atalho: Alt + C) - se escolhida esta


opo uma nova janela aberta. Nesta nova janela possvel realizar um
experimento onde as abordagens gentica e nebulosa so comparadas;

O menu Help carrega a ajuda da ferramenta. O menu Quit (Teclas de atalho: Alt + Q)
finaliza o programa.

A.2

Tela para Experimentos Utilizando Lgica Nebulosa


Acessando a opo Fuzzy Algorithms (teclas de atalho Alt + E), atravs do menu

localizado na tela principal, aberta uma nova janela para que sejam realizados
experimentos baseados em rvores de deciso nebulosas e clssicas. Esta janela possui as
mesmas funcionalidades oferecidas pelo EFT alm de novas funcionalidades. A figura A.4
ilustra esta tela.

74

Figura A.4: Tela para experimentos utilizando rvores de deciso nebulosas

Aps a escolha do arquivo contendo a base de dados, o rtulo de cada atributo dessa
base de dados mostrado na combo localizada na opo Choose a class. O atributo
escolhido atravs dessa combo ser o atributo objetivo considerado pelo algoritmo
escolhido.
Em Choose a Algorithm permite que o usurio escolha um dos algoritmos nebulosos
implementados. Os algoritmos disponveis so os mesmos algoritmos implementados no
EFT. Para cada algoritmo, devem ser informados parmetros de entrada (Fuzzy Border e/ou
Yagers Border), que variam de acordo com o algoritmo solicitado. A ferramenta habilita
para preenchimento apenas os parmetros realmente utilizados pelo algoritmo escolhido
pelo usurio.

75

Em Test Options possvel escolher o tipo de teste a ser realizado, como possvel
salvar os resultados dos experimentos em um arquivo, como a escolha sobre a exibio ou
no dos exemplos utilizados para treino e teste do algoritmo.
Em Classifier Output mostrado os resultados dos testes realizados a rvore de
classificao e os resultados de acurcia para as rvores clssicas e as rvores fuzzy.
O boto Start Test inicializa os testes apenas se todos os campos obrigatrios tenham
sido devidamente preenchidos, e o boto Cancel Test cancela a realizao deste teste em
tempo de execuo.
Caso o usurio tenha deixado de informar alguns dos parmetros obrigatrios para a
realizao do experimento escolhido, o Explorer Patterns Tool exibe a mensagem ilustrada
na figura A.5.

Figura A.5: Mensagem de erro gerada caso algum item requerido no seja informado.

Caso tenha sido escolhida a opo Save Test to a File aps o trmino do teste
exibida uma janela ilustrada na figura A.6 para que o usurio possa escolher o local onde seu
arquivo contendo os resultados do teste ser criado.

76

Figura A.6: Janela para gravao de arquivo de resultados para experimentos utilizando Lgica Nebulosa.

A.3

Tela para Experimentos Utilizando Algoritmos Genticos


Acessando a opo Genetic Algorithms (teclas de atalho Alt + N), atravs do menu

localizado na tela principal, aberta uma nova janela para que sejam realizados
experimentos baseados em um algoritmo gentico. A figura A.7 ilustra esta tela.

77

Figura A.7: Tela para experimentos utilizando um algoritmo evolucionrio

Assim como descrito para a tela de experimentos com lgica fuzzy, o boto Open File
permite que seja carregado o arquivo que contm os exemplos da base de dados que sero
utilizados para testar e treinar os algoritmos e, caso o usurio selecione o boto Start Test
sem ter carregado um arquivo de dados a mensagem de erro ilustrada em A.4 exibida e o
teste no iniciado.
Em Genetic Classifier, devem ser informados os parmetros necessrios para a
execuo do AG. O campo Number of Intervals permite que seja informado pelo usurio o
nmero de intervalos que ser dividido os atributos contnuos quando estes forem
discretizados como descrito na seo 5.2. A combo Class define qual ser o atributo objetivo
considerado pelo algoritmo gentico, dentre os atributos da base de dados escolhida. Os
campos Population Size e N of Generations permitem que o usurio informe o tamanho da

78

populao do algoritmo gentico (quantidade de indivduos) e o nmero de execues que


sero realizadas para o AG (nmero de geraes), respectivamente.
Em Test Options possvel escolher o tipo de teste a ser realizado, como possvel
salvar os resultados dos experimentos em um arquivo, como a escolha sobre a exibio ou
no dos exemplos utilizados para treino e teste do algoritmo.
Em Classifier Output mostrado os resultados dos testes realizados as regras de
classificao.
O boto Start Test inicializa os testes apenas se todos os campos obrigatrios tenham
sido devidamente preenchidos, e o boto Cancel Test cancela a realizao deste teste em
tempo de execuo. Caso algum campo requerido no seja informado, a mensagem
ilustrada na figura A.5 mostrada ao usurio e o teste no iniciado.
Caso tenha sido escolhida a opo Save Test to a File aps o trmino do teste
exibida uma janela ilustrada na figura A.8 para que o usurio possa escolher o local onde seu
arquivo contendo os resultados do teste ser criado.

Figura A.8: Janela para gravao de arquivo de resultados para experimentos utilizando AG.

79

A.4

Tela para Experimentos Utilizando Algoritmos Genticos e Lgica

Nebulosa
Acessando a opo Compare Genetic and Fuzzy (teclas de atalho Alt + C), atravs do
menu localizado na tela principal, aberta uma nova janela para que sejam realizados
experimentos que iro comparar o desempenho dos algoritmos utilizando lgica fuzzy
oferecidos pelo EFT e o algoritmo gentico implementado para este trabalho. A figura A.9
ilustra esta tela.

Figura A.9: Janela para realizao de experimentos comparativos entre algoritmos nebulosos e genticos

80

Esta tela foi desenvolvida para proporcionar um ambiente de comparao acerca do


desempenho entre os algoritmos nebulosos e clssicos, implementados para o EFT e o
algoritmo gentico implementado para este trabalho, onde fosse garantido que os testes
seriam realizados sobre os mesmos exemplos de treinamento e teste. O resultado para a
comparao das tcnicas sempre salvo em um arquivo, pois o relatrio gerado para esta
tela possui um grande nmero de informaes. O usurio pode escolher o local de gravao
do arquivo, atravs da janela ilustrada pela figura A.10.

Figura A.10: Janela para gravao de arquivo de resultados dos testes comparativos.

Existe um painel localizado ao lado dos botes Start Test e Cancel Test alm de uma
barra de progresso para que o usurio possa acompanhar o estado do algoritmo.

Você também pode gostar