• Nenhum resultado encontrado

Pseudocódigo do Controle de Diversidade Genética

1. gdg := 0;

2. para cada subpopulação online i faça

3. Calcule a diversidade de i. Chame este valor da diversidade de dg_i;

4. se dg_i > gdg faça

5. gdg := dg_i;

6. fim se;

7. fim para;

8. para cada subpopulação i faça

9. se dg_i < 0.4*gdg faça

10. Aumente o número de indivíduos da subpopulação i em 10%; Selecione estes indivíduos da subpopulação offline, proveniente do mesmo nicho;

11. Aumente as probabilidades de mutação e cruzamento da subpopulação i em 10%;

12. Aplique o operador Seleção em i;

13. Aplique o operador Cruzamento em i;

14. Aplique o operador Mutação em i;

15. fim se;

16. fim para;

Neste algoritmo, o valor da diversidade, chamado dg_i, de cada subpopulação i, é calculado. O maior valor apurado em cada geração é chamado gdg; cada valor dg_i é comparado com o gdg. Se dg_i < 0.4*gdg então indivíduos da população offline, pertencentes ao mesmo nicho, são selecionados e inseridos na subpopulação online. Além disto, as probabilidades de mutação e cruzamento da subpopulação i são incrementadas em 10% na geração corrente. Esta avaliação é feita em cada geração.

Os valores constantes utilizados nesse algoritmo (40% e 10% respectivamente) foram definidos empiricamente. O controle de diversidade genética é executado a cada geração. As probabilidades de mutação e cruzamento são restabelecidas para os valores padrão ao final de cada geração, a fim de evitar um crescimento descontrolado destes parâmetros.

O controle da diversidade genética é executado após a aplicação dos operadores de mutação e cruzamento (linha 23 do Algoritmo 6.1).

6.7 Mecanismo de Classificação

O algoritmo proposto utiliza o número de gerações como critério de parada. Uma vez encerrado o processo de produção de novas gerações, existem amplas possibilidades de estratégias de uso da população obtida, a fim de classificar o conjunto de testes. (lembrando que a população é obtida utilizando o conjunto de treinamento). Três abordagens foram adotadas a fim de avaliar o desempenho das regras obtidas, a saber:

1. Contagem de regras que casam: a amostra é rotulada com a classe

indicada pelo maior número de regras geradas. Por exemplo, se um registro é selecionado por três regras da classe A, duas regras da classe B e uma regra da classe C, então a amostra é classificada como A.

2. Contagem ponderada de regras que casam: esta abordagem é similar

à anterior, porém, neste caso, o valor da fitness na primeira posição é somado a fim de ponderar o valor final e orientar a rotulação da amostra. Por exemplo, se um registro é selecionada por três regras da classe A (com valores de fitness 0.4, 0.2 e 0.2) e 1 regra da classe B (com fitness 0.9), então a amostra é classificada como B.

3. Casamento com melhor regra: A melhor regra, baseada no primeiro

valor da fitness, é selecionada em cada nicho. Esta regra será responsável por selecionar todos as amostras da classe correspondente ao nicho. Nessa abordagem, um banco de dados com três classes terá três classificadores, um para cada classe.

Os resultados obtidos com o algoritmo proposto foram comparados aos resultados obtidos por três outros (J48, RBF e SVM). Os resultados e a análise são apresentados na próxima seção.

6.8 Resultados Experimentais

Os experimentos foram realizados reutilizando alguns dos bancos de dados adotados nos experimentos apresentados nos capítulos 5 e 6: Hepatite, vinho, DGA (bancos 1 e 3), desenvolvimento urbano e infraestrutura.

Durante os experimentos descritos nesta seção, o algoritmo proposto foi configurado com os seguintes parâmetros:

• Taxa de mutação: 2%. • Taxa de cruzamento: 80%.

• Elitismo por nicho: 10% dos melhores indivíduos.

O tamanho da população e o número de gerações utilizados em cada um dos bancos são mostrados na Tabela 6.4.

Tabela 6.4 - Tamanho da população e número de gerações utilizados em cada banco

Hepatite Vinho Banco 1 Banco 3 Desen. urbano Infraestrutura

Tam. da população 500 500 500 500 300 300

Núm. de gerações 200 200 200 200 100 100

Os valores desses parâmetros foram definidos a partir de uma etapa de configuração. Alguns parâmetros foram experimentados ao longo da implementação do algoritmo a fim de identificar a melhor configuração que proporcione resultados significantes sem demandar um esforço computacional alto. Por exemplo, aumentando o número de indivíduos e gerações é possível obter melhores valores de fitness, porém o tempo de execução também aumenta.

A validação cruzada 10-fold (10 partições) (COHEN, 1995) foi utilizada em todos os experimentos a fim de treinar e testar as regras geradas. Não foi permitida a existência de padrões repetidos nas partições (folds), isto é, os conjuntos de dados são avaliados a fim de eliminar padrões duplicados. Os padrões de cada partição são selecionados a priori randomicamente.

O experimento completo (utilizando as 10 partições) foi executado 5 vezes, a fim de gerar 50 resultados para cada algoritmo. As populações obtidas foram então utilizadas de acordo com as três estratégias descritas na seção 0. Os resultados obtidos serão identificados como algoritmos 1, 2 e 3, e serão comparados com os resultados obtidos pela Árvore de Decisão (versão J48), Radial Basis Function (RBF) e Support Vector

Machine (SVM). Foram utilizadas as implementações da WEKA 3.6.6 destes três

algoritmos. Ainda como medida para proporcionar uma comparação justa, os algoritmos J48, RBF e SVM também foram executados 5 vezes em cada um dos bancos de dados, utilizando diferentes valores nos respectivos parâmetros. A melhor configuração encontrada para cada banco foi utilizada nos experimentos. A configuração que proporcionou os melhores resultados para cada um dos problemas é mostrada na Tabela 6.5.

Tabela 6.5 – Configuração dos parâmetros dos algoritmos clássicos para cada um dos bancos

Parâmetros Hepatite Vinho Banco 1 Banco 3 D. urbano Infraestrutura

J48 Poda sim sim sim sim sim sim

Fator de confiança 0.025 0.25 0.025 0.025 0.025 0.025

RBF Clusters 3 3 2 4 3 3

Desvio padrão mínimo

por cluster 0.1 0.1 0.01 0.01 0.01 0.01 SVM Complexidade C 1.0 2.0 3.0 4.0 4 4 Função kernel Polykernel Norm. Polykernel Norm.

Polykernel Polykernel Polykernel Polykernel

O desempenho obtido em cada uma das 50 execuções é apresentado a seguir. A comparação entre os algoritmos foi conduzida levando-se em consideração dois critérios distintos: (1) o produto da sensibilidade pela especificidade; e (2) acurácia. A utilização do primeiro critério é importante, pois, caso exista algum desequilíbrio (predomínio de verdadeiro positivo ou de verdadeiro negativo) na classificação das amostras, a regra será penalizada. A utilização do segundo critério se justifica devido ao fato da grande maioria dos trabalhos científicos estudados utilizar esse critério. Dessa forma, os resultados obtidos aqui podem ser comparados com demais estudos publicados.

Na Tabela 6.6 estão dispostos os p-valores obtidos com a comparação dos resultados obtidos no banco hepatite, utilizando como parâmetro a média dos produtos da sensibilidade pela especificidade obtidos em cada uma das classes do problema. A Tabela 6.7 apresenta os p-valores obtidos na comparação que utilizou a acurácia global dos algoritmos. Na Tabela 6.8 são apresentadas as classificações dos algoritmos de acordo com cada um dos dois critérios de comparação.

Tabela 6.6 - p-valor obtido na comparação utilizando a média do produto da sensibilidade x especificidade - hepatite 1 2 3 J48 RBF SVM 1 0,5000 0,5793 1,0000 0,0010 0,9431 0,0081 2 0,4207 0,5000 1,0000 0,0000 0,9010 0,0000 3 0,0000 0,0000 0,5000 0,0000 0,0013 0,0000 J48 0,9990 1,0000 1,0000 0,5000 1,0000 0,9986 RBF 0,0569 0,0990 0,9987 0,0000 0,5000 0,0000 SVM 0,9919 1,0000 1,0000 0,0014 1,0000 0,5000

Tabela 6.7 - p-valor obtido na comparação utilizando acurácia global - hepatite

1 2 3 J48 RBF SVM 1 0,5000 0,5231 1,0000 0,5110 0,9994 1,0000 2 0,4769 0,5000 1,0000 0,4719 1,0000 1,0000 3 0,0000 0,0000 0,5000 0,0000 0,4945 1,0000 J48 0,4890 0,5281 1,0000 0,5000 1,0000 1,0000 RBF 0,0006 0,0000 0,5055 0,0000 0,5000 1,0000 SVM 0,0000 0,0000 0,0000 0,0000 0,0000 0,5000

Tabela 6.8 - Classificação dos algoritmos de acordo com os dois critérios - hepatite

Critério 1 2 3 J48 RBF SVM

sensibilidade x especificidade 2 2 1 4 2 3

acurácia 3 3 2 3 2 1

Conforme observado na Tabela 6.8, de acordo com o primeiro critério, o algoritmo 3 obteve o melhor desempenho, seguido por um empate entre 1, 2 e RBF. Esse empate

se deve ao fato do p-valor obtido na comparação entre os algoritmos não ter superado o valor de confiança estabelecido.

A comparação de acordo com o segundo critério apresenta um cenário diferente do primeiro: o melhor algoritmo é o SVM, seguido pelo algoritmo 3 e RBF empatados no segundo lugar. No terceiro lugar acontece um empate entre o algoritmo 1, 2 e J48.

Os resultados das comparações dos resultados obtidos no banco vinho são mostrados na Tabela 6.9, Tabela 6.10 e Tabela 6.11.

Tabela 6.9 - p-valor obtido na comparação utilizando a média do produto da sensibilidade x especificidade - vinho 1 2 3 J48 RBF SVM 1 0,5000 0,3757 0,0786 0,0000 0,0001 0,0072 2 0,6243 0,5000 0,1354 0,0000 0,0000 0,0206 3 0,9214 0,8646 0,5000 0,0000 0,0507 0,2967 J48 1,0000 1,0000 1,0000 0,5000 1,0000 1,0000 RBF 0,9999 1,0000 0,9493 0,0000 0,5000 0,9988 SVM 0,9928 0,9794 0,7033 0,0000 0,0012 0,5000

Tabela 6.10 - p-valor obtido na comparação utilizando acurácia global - vinho

1 2 3 J48 RBF SVM 1 0,5000 0,3757 0,0786 0,0000 0,3832 0,4715 2 0,6243 0,5000 0,1354 0,0000 0,5591 0,6369 3 0,9214 0,8646 0,5000 0,0000 0,9558 0,9684 J48 1,0000 1,0000 1,0000 0,5000 1,0000 1,0000 RBF 0,6168 0,4409 0,0442 0,0000 0,5000 0,7650 SVM 0,5285 0,3631 0,0316 0,0000 0,2350 0,5000

Tabela 6.11 - Classificação dos algoritmos de acordo com os dois critérios - vinho

Critério 1 2 3 J48 RBF SVM

sensibilidade x especificidade 1 1 1:2:3 4 3 2

acurácia 1:2 1:2 1:2 3 1 1

O algoritmo 3 ocupa uma posição intermediária, no primeiro critério de comparação. O algoritmo não é pior que 1 e 2, nem é melhor que o SVM. Contudo, 1 e 2 são melhores que SVM.

Houve um empate entre quase todos os algoritmos de acordo com o segundo critério. A exceção é J48 que ficou isolado no segundo lugar.

Os resultados que serão apresentados a seguir (Tabela 6.12 a Tabela 6.17) referem- se a dois dos bancos do problema DGA, utilizados no capítulo 4. Somente os bancos 1 e 3 foram utilizados, uma vez que o banco 2 possui poucos registros. Como os experimentos nesse caso utilizam validação cruzada com 10 partições, cada partição foi composta por poucas amostras, gerando resultados com um desvio padrão muito

elevado. Dessa forma, o banco 2 foi descartado do experimento.

Tabela 6.12 - p-valor obtido na comparação utilizando a média do produto da sensibilidade x especificidade - banco 1 1 2 3 J48 RBF SVM 1 0,5000 0,5934 0,6156 0,0000 0,0000 0,0000 2 0,4066 0,5000 0,5089 0,0000 0,0000 0,0000 3 0,3844 0,4911 0,5000 0,0000 0,0000 0,0000 J48 1,0000 1,0000 1,0000 0,5000 0,0034 0,0000 RBF 1,0000 1,0000 1,0000 0,9966 0,5000 0,0000 SVM 1,0000 1,0000 1,0000 1,0000 1,0000 0,5000

Tabela 6.13 - p-valor obtido na comparação utilizando acurácia global - banco 1

1 2 3 J48 RBF SVM 1 0,5000 0,5032 1,0000 1,0000 1,0000 1,0000 2 0,4968 0,5000 1,0000 1,0000 1,0000 1,0000 3 0,0000 0,0000 0,5000 0,0000 0,0000 0,0000 J48 0,0000 0,0000 1,0000 0,5000 0,9859 1,0000 RBF 0,0000 0,0000 1,0000 0,0141 0,5000 0,6864 SVM 0,0000 0,0000 1,0000 0,0000 0,3136 0,5000

Tabela 6.14 - Classificação dos algoritmos de acordo com os dois critérios - banco 1

Critério 1 2 3 J48 RBF SVM

sensibilidade x especificidade 1 1 1 2 3 4

acurácia 4 4 1 3 2 2

Os resultados obtidos de acordo com ambos os critérios apontam o algoritmo 3 como o melhor no banco 1. Os demais algoritmos apresentaram alteração de posição. Os algoritmos 1 e 2, por exemplo, saíram da primeira posição de acordo com o primeiro critério e foram para a quarta posição de acordo com o segundo critério.

Tabela 6.15 - p-valor obtido na comparação utilizando a média do produto da sensibilidade x especificidade - banco 3 1 2 3 J48 RBF SVM 1 0,5000 0,8021 0,9308 0,0000 0,0022 0,4445 2 0,1979 0,5000 0,7276 0,0000 0,0000 0,0892 3 0,0692 0,2724 0,5000 0,0000 0,0000 0,0066 J48 1,0000 1,0000 1,0000 0,5000 0,9770 1,0000 RBF 0,9978 1,0000 1,0000 0,0230 0,5000 1,0000 SVM 0,5555 0,9108 0,9934 0,0000 0,0000 0,5000

Tabela 6.16 - p-valor obtido na comparação utilizando acurácia global - banco 3 1 2 3 J48 RBF SVM 1 0,5000 0,7223 1,0000 0,0000 0,0098 0,7898 2 0,2777 0,5000 1,0000 0,0000 0,0000 0,5426 3 0,0000 0,0000 0,5000 0,0000 0,0000 0,0000 J48 1,0000 1,0000 1,0000 0,5000 0,9630 1,0000 RBF 0,9902 1,0000 1,0000 0,0370 0,5000 1,0000 SVM 0,2102 0,4574 1,0000 0,0000 0,0000 0,5000

Tabela 6.17 - Classificação dos algoritmos de acordo com os dois critérios - banco 3

Critério 1 2 3 J48 RBF SVM

sensibilidade x especificidade 1:2 1:2 1 4 3 2

acurácia 2:3 2 1 4 3 2

A classificação obtida com os resultados no banco 3 (Tabela 6.17) apontam o desempenho do algoritmo 3 como melhor que os demais, em ambos os critérios. Os algoritmos 2 e 3 vem a seguir, sendo seguidos por SVM, RBF e J48.

Os bancos cujos resultados foram apresentados até esse ponto não possuem dados híbridos. Os resultados que serão apresentados a seguir se referem aos bancos que misturam atributos convencionais com atributos geográficos e é nesse cenário que os algoritmos propostos apresentam a contribuição mais relevante. Os resultados referentes ao banco desenvolvimento urbano estão dispostos da Tabela 6.18 a Tabela 6.20. Os resultados do banco infraestrutura estão descritos da Tabela 6.23 a Tabela 6.25.

Tabela 6.18 - p-valor obtido na comparação utilizando a média do produto da sensibilidade x especificidade - desenvolvimento urbano

1 2 3 J48 RBF SVM 1 0,5000 0,4009 0,0000 0,0000 0,0000 0,0000 2 0,5991 0,5000 0,0000 0,0000 0,0000 0,0000 3 1,0000 1,0000 0,5000 0,0000 0,0000 0,0000 J48 1,0000 1,0000 1,0000 0,5000 0,0000 0,0000 RBF 1,0000 1,0000 1,0000 1,0000 0,5000 0,0000 SVM 1,0000 1,0000 1,0000 1,0000 1,0000 0,5000

Tabela 6.19 - p-valor obtido na comparação utilizando acurácia global - desenvolvimento urbano

1 2 3 J48 RBF SVM 1 0,5000 0,6866 1,0000 0,0000 0,0000 0,0000 2 0,3134 0,5000 1,0000 0,0000 0,0000 0,0000 3 0,0000 0,0000 0,5000 0,0000 0,0000 0,0000 J48 1,0000 1,0000 1,0000 0,5000 0,0000 0,7625 RBF 1,0000 1,0000 1,0000 1,0000 0,5000 1,0000 SVM 1,0000 1,0000 1,0000 0,2375 0,0000 0,5000

Tabela 6.20 - Classificação dos algoritmos de acordo com os dois critérios - desenvolvimento urbano

Critério 1 2 3 J48 RBF SVM

sensibilidade x especificidade 1 1 2 3 4 5

Acurácia 2 2 1 3 4 3

Os algoritmos propostos ficaram nas primeiras posições tanto no banco desenvolvimento urbano (Tabela 6.20), quando no banco infraestrutura (Tabela 6.25). Os algoritmos conseguiram tirar proveito dos dados geográficos de tal forma a obterem um desempenho superior aos apresentados pelos métodos clássicos. A seguir são apresentadas algumas regras geradas nos problemas com dados geográficos. A Tabela 6.21 apresenta as regras geradas no banco desenvolvimento urbano. As regras geradas para o banco infraestrutura são apresentadas na Tabela 6.22.

Tabela 6.21 – Exemplos de regras geradas pelo MDMGeo no problema Desenvolvimento urbano

Classe Regra Acurácia Sensibilidade x

Especificidade

A número consumidores industriais de energia >= 16758 0,8286 0,6688 B rodovia federal não cruza município E ferrovia cruza

município

0,7371 0,6580

C ferrovia não cruza município E (1521 <= número consumidores industriais de energia <= 36479)

0,7605 0,5372

Tabela 6.22 – Exemplos de regras geradas pelo MDMGeo no problema Infraestrutura

Classe Regra Acurácia Sensibilidade x

Especificidade

A (consumo residencial de energia > quantidade de consumidores rurais) E (tamanho da população < consumo

industrial de energia) E ( ferrovia não cruza município) E (rodovia federal cruza município) E (consumo industrial >=

16481)

0,9678 0,9523

B (quantidade de consumidores rurais <= 172261) E (rodovia federal não cruza município)

0,7751 0,6644

C (consumo industrial de energia >= tamanho da população) E (consumo industrial de energia <= 75064) E (rodovia federal

cruza município) E (consumo industrial de energia <= consumo diverso28 de energia)

0,8982 0,6973

28 Consumo diverso de energia consiste no consumo realizado por clientes que não são classificados

Tabela 6.23 - p-valor obtido na comparação utilizando a média do produto da sensibilidade x especificidade - infraestrutura 1 2 3 J48 RBF SVM 1 0,5000 0,5018 0,8778 0,0000 0,0000 0,0000 2 0,4982 0,5000 0,8787 0,0000 0,0000 0,0000 3 0,1222 0,1213 0,5000 0,0000 0,0000 0,0000 J48 1,0000 1,0000 1,0000 0,5000 0,0000 0,0000 RBF 1,0000 1,0000 1,0000 1,0000 0,5000 0,0000 SVM 1,0000 1,0000 1,0000 1,0000 1,0000 0,5000

Tabela 6.24 - p-valor obtido na comparação utilizando acurácia global - infraestrutura

1 2 3 J48 RBF SVM 1 0,5000 0,1297 1,0000 0,0000 0,0000 0,0000 2 0,8703 0,5000 1,0000 0,0000 0,0000 0,0000 3 0,0000 0,0000 0,5000 0,0000 0,0000 0,0000 J48 1,0000 1,0000 1,0000 0,5000 0,2055 0,0305 RBF 1,0000 1,0000 1,0000 0,7945 0,5000 0,0969 SVM 1,0000 1,0000 1,0000 0,9695 0,9031 0,5000

Tabela 6.25 - Classificação dos algoritmos de acordo com os dois critérios - infraestrutura

Critério 1 2 3 J48 RBF SVM

sensibilidade x especificidade 1 1 1 2 3 4

Acurácia 2 2 1 3 3:4 4

Os resultados observados para os seis algoritmos e os seis bancos de dados estão resumidos em duas tabelas a seguir. A Tabela 6.26 resume as informações referentes ao produto sensibilidade x especificidade. A Tabela 6.27 contém as informações referentes à acurácia. Nas tabelas são exibidas as médias e os desvios padrão medidos em cada um dos bancos. Os melhores valores estão destacados com a fonte em negrito, a fim de facilitar a leitura.

Tabela 6.26 - Resumo da performance dos algoritmos de acordo com a média do produto da sensibilidade x especificidade

Banco de Dados

Algoritmo Hepatite Vinho Banco 1 Banco 3 Des. urbano Infraestrutura

1 Média 0,5053 0,9634 0,5725 0,5409 0,6484 0,6498 Desv. Padrão 0,2746 0,0422 0,1139 0,1325 0,0916 0,0772 2 Média 0,5165 0,9609 0,5911 0,5485 0,6399 0,6500 Desv. Padrão 0,2788 0,0418 0,1015 0,1406 0,0762 0,0772 3 Média 0,6459 0,9511 0,6036 0,5485 0,5807 0,6704 Desv. Padrão 0,1708 0,0417 0,0830 0,1406 0,0577 0,0943 J48 Média 0,3721 0,8698 0,5138 0,2172 0,0267 0,0278 Desv. Padrão 0,0797 0,0225 0,0329 0,0755 0,0329 0,0603 RBF Média 0,5676 0,9409 0,5264 0,1755 0,3424 0,1628 Desv. Padrão 0,0532 0,0125 0,0297 0,0747 0,0111 0,0451 SVM Média 0,4114 0,9478 0,5719 0,0000 0,3424 0,0350 Desv. Padrão 0,0484 0,0099 0,0316 0,0000 0,0111 0,0080

Tabela 6.27 - Resumo da performance dos algoritmos de acordo com a média da acurácia global

Banco de Dados

Algoritmo Hepatite Vinho Banco 1 Banco 3 Des. urbano Infraestrutura

1 Média 0,7759 0,9552 0,6676 0,6439 0,6979 0,8317 Desv. Padrão 0,1110 0,0502 0,1029 0,0916 0,0773 0,0344 2 Média 0,7775 0,9530 0,6786 0,6441 0,7528 0,8237 Desv. Padrão 0,1124 0,0494 0,0860 0,0928 0,0642 0,0738 3 Média 0,8288 0,9736 0,7854 0,8250 0,7706 0,8728 Desv. Padrão 0,0713 0,0208 0,0582 0,0479 0,0278 0,0267 J48 Média 0,7764 0,9098 0,6225 0,7517 0,5831 0,7215 Desv. Padrão 0,0242 0,0160 0,0277 0,0428 0,0343 0,0354 RBF Média 0,8287 0,9613 0,6321 0,7718 0,5546 0,7163 Desv. Padrão 0,0180 0,0085 0,0249 0,0489 0,0295 0,0258 SVM Média 0,8588 0,9625 0,6799 0,7761 0,5871 0,7100 Desv. Padrão 0,0125 0,0072 0,0232 0,0368 0,0198 0,0239

Os algoritmos propostos obtiveram melhor desempenho em todos os bancos, considerando o produto sensibilidade x especificidade com critério de comparação. Esse critério é relevante uma vez que demonstra o real desempenho do algoritmo, mesmo em bancos desbalanceados, como é o caso de hepatite, banco 3 e infraestrutura. Foram nesses bancos que os algoritmos clássicos obtiveram pior desempenho, com relação ao referido critério.

Outro aspecto relevante é o fato de que as regras geradas pelo algoritmo proposto neste trabalho possuem cerca de 30% do tamanho das regras obtidas pela versão mono- objetivo deste algoritmo, apresentada na seção 5.2 e em Pereira et al. (2010). Um benefício importante é que, com regras mais simples, diminui-se também o overfitting na classificação dos dados (VIEIRA, 2006)(WITTEN; FRANK, 2005)(QUINLAN, 1993).

6.9 Conclusão

Nesta seção, um novo algoritmo que extrai regras de classificação e utiliza estas regras em três abordagens distintas é proposto. O algoritmo utiliza técnica de nicho, probabilidades de mutação e cruzamento distintas por nicho, além de uma população arquivo para prover indivíduos que auxiliam na obtenção de boas regras de classificação, que identifiquem corretamente indivíduos de todas as classes existentes no problema. Dois objetivos, efetividade e complexidade, foram considerados a fim de obter boas regras e evitar overfitting de classificação. Outra vantagem desta abordagem é a obtenção de regras menores, mais fáceis de serem interpretadas.

Uma vez que este é um algoritmo adaptativo, é possível utilizar um conjunto de funções com operadores simples, tais como >, <, =, AND, além de utilizar funções de um domínio específico, tais como operadores geográficos. Além do mais, a alteração de elementos do conjunto de funções não demanda do usuário a implementação de alterações no uso do algoritmo.

O algoritmo foi utilizado para classificar dados em seis problemas distintos: hepatite, vinho, DGA (2 bancos), desenvolvimento urbano e infraestrutura. Os experimentos foram realizados utilizando também três outros algoritmos relevantes: Árvore de Decisão (J48), rede Radial Basis Function e Support Vector Machines. Estes métodos são amplamente aplicados em problemas de classificação de dados e foram adotados para validar os esquemas propostos.

Os resultados obtidos pelo método proposto superaram os demais resultados em quase todas as instâncias testadas, de acordo os critérios adorados. Um último ponto relevante a ser destacado é que o algoritmo proposto obteve um bom desempenho mesmo nos bancos de dados desbalanceados. Este fato sugere que o método proposto é consideravelmente robusto em relação a este aspecto.

7 CONCLUSÕES E TRABALHOS FUTUROS

Esta tese teve como foco o estudo e a proposta de algoritmos que sejam capazes de lidar com bancos de dados compostos por dados híbridos, em particular dados geográficos. O levantamento bibliográfico mostrou que o problema é relevante, uma vez que diversos trabalhos dedicam-se ao assunto, porém o foco tem se voltado para a utilização de imagens e para o pré-processamento dos dados geográficos, de modo a transformá-los em dados convencionais e, então, fazer uso de algoritmos convencionais. Esse tipo de alternativa provoca perdas no poder de expressão dos dados e, portanto, empobrece as análises. Ferramentas relevantes apresentadas na literatura foram descritas e detalhadas para servir de base de comparação para os algoritmos propostos neste trabalho.

O primeiro algoritmo proposto neste trabalho foi o NGAE (PEREIRA; VASCONCELOS, 2010). Trata-se de um método baseado no Algoritmo Genético, no qual foram acrescentadas técnicas a fim de melhorar a qualidade dos resultados apresentados, principalmente em se tratando de um problema de classificação com mais de duas classes. É preciso destacar que o foco deste algoritmo ainda não está na manipulação de dados híbridos. Contudo, esse foi um importante estudo para esta tese, pois o método gerado serviu de base para o desenvolvimento dos demais algoritmos elaborados nesse trabalho.

Posteriormente, foi proposto o algoritmo DMGeo (PEREIRA et al., 2010), que se baseia na Programação Genética e é capaz de lidar com dados convencionais e não convencionais (e.g., geográficos). Este algoritmo foi aplicado com sucesso tanto em bancos convencionais quanto em bancos compostos por dados híbridos. Os resultados mostraram que a ferramenta foi capaz de aproveitar a heterogeneidade do banco, apresentando um melhor desempenho quando os dados geográficos e convencionais associados influenciam a classificação.

Finalmente, este trabalho se encerra com a apresentação do MDMGeo, que é uma versão multiobjetivo e com outras melhorias no DMGeo. O algoritmo foi comparado a outros métodos relevantes da literatura, apresentando um resultado superior nos casos estudados. Deve-se levar em consideração que os objetivos do trabalho foram alcançados, uma vez que o método é capaz de lidar com dados convencionais (e.g. numéricos, textuais, lógicos) e não convencionais (e.g. geográficos) de maneira

homogênea, gerando regras de tamanho variado, que são capazes de correlacionar todos os tipos de dados presentes no banco, não necessitando de pré-processamentos, e com desempenho comparável ou superior ao dos principais algoritmos existentes na literatura.

Outro aspecto relevante dos algoritmos propostos é sua capacidade de lidar com bancos de dados desbalanceados. A maioria dos problemas reais possui desbalanceamento, o que faz das ferramentas propostas não só relevantes do ponto de vista científico, quanto do ponto de vista prático.

Trabalhos Futuros

Sugere-se que este trabalho seja continuado explorando a arquitetura da ferramenta implementada. Atualmente, a ferramenta pode ser vista como um framework, brevemente descrito no anexo dessa tese, no qual pode-se variar:

 a definição das funções fitness;

 os conjuntos de nós terminais e funções;

 o método utilizado e a respectiva representação do indivíduo (solução

viável).

Quaisquer um destes pontos pode ser explorado para buscar melhores resultados. O método pode ser trocado, por exemplo, de Programação Genética para Colônia de Formigas; a modelagem das funções pode passar a contemplar outros objetivos relevantes para o problema; novos nós podem ser definidos a fim de explorar ainda mais a natureza dos dados de cada problema.

Por fim, os algoritmos apresentados nessa tese utilizam a quantidade de gerações como critério de parada. Sugere-se estudar formas mais eficazes de parada, as quais considerem a evolução da população de uma geração para próxima. Assim, o algoritmo poderá se encerrar assim que a população atingir seu nível máximo de evolução, evitando processamento desnecessário (nos casos onde o número máximo de gerações estabelecido for muito grande) ou ainda uma convergência prematura (quando o número máximo de gerações foi muito pequeno).

Foram utilizados poucos bancos de dados reais e poucos dados geográficos. Assim, sugere-se que se aplique os algoritmos em mais bases de dados, com mais dados geográficos, explorando não só as funções topológicas, mas também todas as funções disponíveis, inclusive as espaço-temporais.

Os algoritmos propostos podem ser estendidos para que sejam aplicados a outras categorias de dados, que não se restrinjam a dados geográficos.

ANEXO

Framework de Classificação de padrões

Introdução

Os algoritmos apresentados nos capítulos anteriores foram desenvolvidos de maneira a compor um framework de classificação de padrões. Segundo Markiewicz e Lucena (2000), um framework é um componente de software que se destina a resolver uma categoria de problemas semelhantes. Esse componente possui partes extensíveis ou flexíveis chamadas hot spots, os quais podem ser alterados, dependendo do problema que o framework deve solucionar. As partes imutáveis, que constituem o núcleo do

framework, são chamadas frozen spots.

Um framework se distingue de uma biblioteca de funções, pois é ele quem dita o fluxo de controle da aplicação, i.e., apresenta uma metodologia ou um processo para solução de um problema ou execução de uma tarefa. Bibliotecas, por outro lado, fornecem somente um conjunto de funções que devem ser combinadas pelo