Instituto de Matemtica
Departamento de Cincia da Computao
Salvador Bahia
2008
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.
RESUMO
ABSTRACT
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
KDD
WEKA
EFT
AG
COGIN
REGAL
VP
VN
FP
FN
EPT
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
13
1 INTRODUO
interpretao
manuais;
este
modo
de
anlise,
alm
de
lento,
14
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
16
2 MINERAO DE DADOS
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
18
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
Figura 2.2:
2. Exemplo de Classificao (CARVALHO, 2005)
20
21
Figura 2.3
3: Exemplo de dados organizados em clusters (CARVALHO, 2005)
22
manteiga e queijo)
(clientes
que
compram
batatas
fritas
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
26
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
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
Figura 3.1: Funo hipottica com um mximo local e outro global (LINDEN, 2006).
28
Figura 3.2:
3. Modelo da Tcnica de Gerao e Teste
29
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.
30
31
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
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.
33
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 ()
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)
35
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
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).
36
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
39
40
41
42
43
.4 =
| ; & =|
|;|
(4.1)
@
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:
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
4&' =
| DE|
| DEFGH |
(4.3)
3%( = .4 $ 4&' ,
(4.4)
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
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.
de
classificao:
crossover
de
generalizao/especializao
48
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)
49
5 IMPLEMENTAO
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.
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.
52
53
universal. Esta funo retorna uma lista contendo os elementos que foram selecionados
utilizando os princpios deste mtodo.
54
55
56
5.3 Experimentos
57
58
59
60
6 EXPERIMENTOS REALIZADOS
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.
61
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
62
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.
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
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
30,00
20,00
10,00
0,00
15
30
80
100
65
66
7 CONCLUSO
67
68
REFERNCIAS BIBLIOGRFICAS
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
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.
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;
O menu Help carrega a ajuda da ferramenta. O menu Quit (Teclas de atalho: Alt + Q)
finaliza o programa.
A.2
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
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
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
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
Figura A.8: Janela para gravao de arquivo de resultados para experimentos utilizando AG.
79
A.4
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
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.