Escolar Documentos
Profissional Documentos
Cultura Documentos
Mineração de Dados Utilizando - Implementacao em Java PDF
Mineração de Dados Utilizando - Implementacao em Java PDF
Instituto de Matemtica
Departamento de Cincia da Computao
Salvador Bahia
2008
Joilma Souza Santos
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.
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 3.1: Funo hipottica com um mximo local e outro global (LINDEN, 2006). ............ 27
Figura 3.5: Roleta Viciada para a populao exemplo da tabela 3.1 (LINDEN, 2006).............. 34
Figura 4.1: Matriz de Confuso para uma Regra de Classificao (FREITAS, 2001). ............... 44
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.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.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.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
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 modo mais tradicional para extrair informao de uma base de dados baseia-se na
anlise e 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.
1
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
2 MINERAO DE DADOS
3
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
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).
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)
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:
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).
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)
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 +.
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).
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.
4
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).
Figura 3.2:
3. Modelo da Tcnica de Gerao e Teste
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.
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.
5
Um genoma representa uma caracterstica particular em um cromossomo, e sua natureza depende da
representao cromossomial escolhida para o algoritmo gentico.
31
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
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.
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.
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)
Figura 3.5: Roleta Viciada para a populao exemplo da tabela 3.1 (LINDEN, 2006)
TORNEIO
3.4.3 Mutao
3.6 Elitismo
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
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
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).
| ; & =|
.4 = , (4.1)
|;|
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 = 80 %.
AB
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:
| DE|
.4 = , (4.2)
| DEFGE |
45
| DE|
4&' = . (4.3)
| DEFGH |
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.
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.
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.
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
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.
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).
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):
5 IMPLEMENTAO
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.
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.
universal. Esta funo retorna uma lista contendo os elementos que foram selecionados
utilizando os princpios deste mtodo.
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
5.3 Experimentos
57
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
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.
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).
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.
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
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.
70,00
60,00
50,00
10,00
0,00
15 30 80 100
7 CONCLUSO
REFERNCIAS BIBLIOGRFICAS
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.
FERNANDES, Anita M da Rocha, COSTA Jr., Ilaim. Algoritmos Genticos. In: Inteligncia
Artificial noes gerais. Visual Book, 2003. p. 116 127.
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>
GOEBEL, Michael, GRUENWALD Le. A Survey of Data Mining and Knowledge Discovery
Software Tools. ACM SIGKDD Explorations, 1999.
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., 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 WTICG-
BASE (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 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.
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.
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
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 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.
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.
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
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 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.
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
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.