View
3.089
Download
1
Category
Preview:
DESCRIPTION
Este artigo pretende criar modelos de redes neurais e árvores de decisão para problemas reais de nossa sociedade, neste caso usaremos o problema que aborda a análise de credito, problemática relacionada a operadoras de cartões de credito e outras instituições financeiras, os respectivos arquivos usados serão: card1, card2 e card3, da coleção de dados reais Proben1, o simulador usado será o Weka 3.7.
Citation preview
Criando e aplicando modelos de redes neurais e árvores de decisão
Danilo Dias1,
Faculdade de Sistemas de Informação – Universidade Federal do Oeste do Pará (UFOPA)
Santarém – PA – Brasil
¹danilohdds@gmail.com
Abstract. This article aims to build neural network and tree models to real problems of
our society, in this case we used the problem that deals with the analysis of credit,
problems related to credit card companies and other financial institutions, their files will
be used: card1, card2 and Card3, collection Proben1 real data, the simulator will be used
Weka 3.7.
Resumo. Este artigo pretende criar modelos de redes neurais e árvores de decisão para
problemas reais de nossa sociedade, neste caso usaremos o problema que aborda a
análise de credito, problemática relacionada a operadoras de cartões de credito e outras
instituições financeiras, os respectivos arquivos usados serão: card1, card2 e card3, da
coleção de dados reais Proben1, o simulador usado será o Weka 3.7.
1. Introdução
O uso de tecnologia sempre deve servir para realizar uma função em nossa sociedade, ao longo de
nossa história vimos surgir diversas formas de tecnologias, uma delas surgiu logo após a segunda
guerra mundial, com o artigo "Computing Machinery and Intelligence" do matemático inglês Alan
Turing[1] e teve como seus principais idealizadores os cientistas Herbert Simon, Allen Newell, John
McCarthy, Warren McCulloch, Walter Pitts e Marvin Minsky, entre outros. O conceito propõe o
uso de computadores simulando inteligência humana, baseado nisto surgi o termo Inteligencia
Artificial, com o aparecimento de computadores modernos o conceito passou a se tornar uma
ciência cada vez mais divulgada e usada para resoluções de problemas reais de nossa sociedade.
Neste artigo pretendemos usar de conceitos de Inteligencia Artificial em nosso experimento, criação
de modelos de redes neurais e árvores de decisão, escolhemos a problemática de análise de credito,
neste caso vamos realizar uma série de simulações em banco de dados relacionado ao problema,
procurando achar modelos mais eficientes com o uso de comparação entre eles. Na segunda parte
deste artigo veremos a descrição da problemática em questão, num terceiro momento iremos
abordar a metodologia que usaremos no experimento, na quarta etapa deste artigo iremos realizar o
experimento com o uso de ferramenta apropriada, neste caso o Weka 3.7, apresentaremos nossos
resultados através de gráficos e tabelas, e por último apresentamos nossas conclusões acerca de
nosso trabalho.
2. Descrição da problemática
Em nosso caso resolvemos escolher uma aplicação de classificação de padrões do Proben1, que é
uma coleção de dados reais disponível na internet através do
link:http://www.filewatcher.com/b/ftp/ftp.cs.cuhk.hk/pub/proben1.0.0.html ,neste diretório podemos
encontrar várias bases de dados relacionadas a problemas como: diagnose de problemas do coração
- heart; diagnose de diabetes - diabetes; diagnose de câncer da mama - cancer; análise de crédito -
card entre outros. Em nosso caso escolhemos a problemática Card, que dispõe sobre a análise de
credito, mas especificamente prever a aprovação ou não de um cartão de credito a um cliente, cada
um representa um exemplo real de pedido de cartão de crédito e a saída descreve se o banco (ou
instituição similar)deferiu o cartão de crédito ou não. O significado dos atributos individuais não é
explicada por razões de incidência com 51 entradas, 2 saídas de 690 exemplos. Este conjunto de
dados tem uma boa mistura de atributos: contínuo, nominal com um pequeno número de valores
nominais e com maior número de valores. Existem também alguns valores faltando
em 5% dos exemplos. 44% dos exemplos são positivos; entropia 0,99 bits por exemplo.
Este conjunto de dados foi criado com base em "dados da análise de crédito " problema conjunto da
UCI repositório de bases de dados de aprendizagem de máquina.
3. Metodologia usada no experimento
Para nosso trabalho a prática mais aconselhada será investigar um conjunto de topologias da rede
MLP e com diferentes valores de parâmetros na solução do problema e criação de árvores de
decisão com o algoritmo J4.8 , usaremos o simulador Weka 3.7 para este experimento. Iremos pegar
nossa base com 690 linhas de dados pra cada Card e a quebraremos em 50% para treinamento, 25%
para validação e 25% para testes, após esta etapa faremos o uso de tabelas e gráficos para análise de
nossas configurações, elegeremos então o nosso melhor modelo, ou seja nossa melhor configuração
resultada da execução de nosso arquivo de validação sobre nosso arquivo de treinamento, isso será
feito para os dois algoritmos. Só então faremos a validação de nosso melhor modelo através da
execução de nosso conjunto de teste usando nosso melhor exemplar, ao final iremos efetuar a
comparação entre nosso melhor modelo de rede neural com o de árvore de decisão.
4. Simulações e resultados
Em nossa simulação usamos o Weka 3.7, para o nosso problema fizemos a separação do conjunto
de dados para o card1, card2 e card3, para cada um deles configuramos três arquivos:
treinamento.arff com 345 linhas de dados, validacao.arff com 173 e teste.arff com 172.
4.1 Card1
Para o card1 usamos o algoritmo MultlayerPerceptron, camada escondida "a" e finalizamos nossa
configuração segundo a tabela abaixo, sendo que para a relação época/tempo de aprendizagem
obtivemos uma taxa de erro associada, consideremos esta taxa em porcentagem(% de erro).
Épocas Temp. Ap. 0.1 Temp. Ap. 0.2 Temp. Ap. 0.3 Temp. Ap. 0.4
100 9.8266 13.8728 12.1387 12.1387
200 15.0289 12.7168 15.0289 15.0289
300 15.6069 12.7168 15.0289 16.185
400 16.763 15.0289 14.4509 16.185
500 17.9191 18.4971 12.7168 16.185
600 16.763 17.341 13.8728 15.6069
700 17.341 16.763 15.0289 15.0289
800 17.341 16.763 15.6069 14.4509
900 16.185 16.763 15.0289 14.4509
1000 16.185 16.763 15.0289 13.8728
Em relação aos respectivos tempos de aprendizagem obtivemos os seguintes gráficos.
Como podemos constatar analisando nossa tabela e nossos gráficos nosso melhor modelo tem a
seguinte configuração com taxa de aprendizagem(learningRate) 0.1 e épocas(TrainingTime) 100.
Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 156 instancias
classificadas corretamente e 17 instancias classificadas incorretamente com taxa de erro de
9.8266%. Em nossa matriz confusão podemos verificar que tivemos 87 verdadeiros positivos, 11
falsos positivos, 6 falsos negativos e 69 verdadeiros negativos.
Na execução de nosso conjunto de teste sobre nosso melhor modelo os seguintes resultados são
encontrados, como podemos observar: 150 instancias classificadas corretamente e 22 instancias
classificadas incorretamente com taxa de erro de 12.7907%, sendo uma taxa aceitável, pois o limite
para o card1 é de 13.37 segundo padrões. Em nossa matriz confusão podemos verificar que tivemos
79 verdadeiros positivos, 13 falsos positivos, 9 falsos negativos e 71 verdadeiros negativos.
Ainda para o card1 usamos o algoritmo J4.8, nossa configuração segue a tabela abaixo, sendo que
para a relação do número de instancias mínimas nas folhas obtivemos um tamanho de árvore e uma
taxa de erro associada, consideremos esta taxa em porcentagem(% de erro).
Card1
Mínimo de instancias nas
folhas
Tamanho da árvore Erro associado
1 43 13.8728
2 39 12.1387
3 35 14.4509
4 27 12.7168
5 21 12.1387
Em relação aos respectivos números mínimos de instancias nas folhas obtivemos o seguinte gráfico.
Como podemos constatar analisando nossa tabela e nosso gráfico, nosso melhor modelo tem a
seguinte configuração com número mínimo de instancias por folha igual a 5.
Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 152 instancias
classificadas corretamente e 21 instancias classificadas incorretamente com taxa de erro de
12.1387%. Em nossa matriz confusão podemos verificar que tivemos 85 verdadeiros positivos, 13
falsos positivos, 8 falsos negativos e 67 verdadeiros negativos.
Na execução de nosso conjunto de teste sobre nosso melhor modelo os seguintes resultados são
encontrados, como podemos observar: 148 instancias classificadas corretamente e 24 instancias
classificadas incorretamente com taxa de erro de 13.9535%, sendo uma taxa inaceitável, pois o
limite para o card1 é de 13.37 segundo padrões. Em nossa matriz confusão podemos verificar que
tivemos 79 verdadeiros positivos, 13 falsos positivos, 11 falsos negativos e 69 verdadeiros
negativos. Sendo assim, nosso melhor modelo continua sendo o de redes neurais para o Card1.
4.2 Card2
Para o card2 usamos o algoritmo MultlayerPerceptron, camada escondida "a" e finalizamos nossa
configuração segundo a tabela abaixo, sendo que para a relação época/tempo de aprendizagem
obtivemos uma taxa de erro associada, consideremos esta taxa em porcentagem(% de erro).
Épocas Temp. Ap. 0.1 Temp. Ap. 0.2 Temp. Ap. 0.3 Temp. Ap. 0.4
100 20.3488 19.7674 21.5116 18.0233
200 20.9302 20.9302 21.5116 19.7674
300 21.5116 22.6744 22.093 18.6047
400 20.9302 22.6744 20.3488 19.7674
500 19.7674 23.2558 20.3488 19.186
600 20.3488 22.6744 20.9302 19.7674
700 20.3488 22.6744 20.9302 20.3488
800 20.3488 22.093 20.9302 21.5116
900 20.3488 21.5116 20.9302 23.2558
1000 20.3488 22.093 20.9302 23.2558
Em relação aos respectivos tempos de aprendizagem obtivemos os seguintes gráficos.
Como podemos constatar analisando nossa tabela e nossos gráficos nosso melhor modelo tem a
seguinte configuração com taxa de aprendizagem(learningRate) 0.4 e épocas(TrainingTime) 100.
Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 141 instancias
classificadas corretamente e 31 instancias classificadas incorretamente com taxa de erro de
18.0233%. Em nossa matriz confusão podemos verificar que tivemos 58 verdadeiros positivos, 15
falsos positivos, 16 falsos negativos e 83 verdadeiros negativos.
Na execução de nosso conjunto de teste sobre nosso melhor modelo os seguintes resultados são
encontrados, como podemos observar: 149 instancias classificadas corretamente e 24 instancias
classificadas incorretamente com taxa de erro de 13.8728%, sendo uma taxa aceitável, pois o limite
para o card2 é de 19.24 segundo padrões. Em nossa matriz confusão podemos verificar que tivemos
72 verdadeiros positivos, 15 falsos positivos, 9 falsos negativos e 77 verdadeiros negativos.
Ainda para o card2 usamos o algoritmo J4.8, nossa configuração segue a tabela abaixo, sendo que
para a relação do número de instancias mínimas nas folhas obtivemos um tamanho de árvore e uma
taxa de erro associada, consideremos esta taxa em porcentagem(% de erro).
Card2
Mínimo de instancias nas
folhas
Tamanho da árvore Erro associado
1 45 16.8605
2 27 18.6047
3 15 19.186
4 11 19.186
5 9 19.186
Em relação aos respectivos números mínimos de instancias nas folhas obtivemos o seguinte gráfico.
Como podemos constatar analisando nossa tabela e nosso gráfico, nosso melhor modelo tem a
seguinte configuração com número mínimo de instancias por folha igual a 1.
Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 143 instancias
classificadas corretamente e 29 instancias classificadas incorretamente com taxa de erro de
16.8605%. Em nossa matriz confusão podemos verificar que tivemos 59 verdadeiros positivos, 14
falsos positivos, 15 falsos negativos e 84 verdadeiros negativos.
Na execução de nosso conjunto de teste sobre nosso melhor modelo os seguintes resultados são
encontrados, como podemos observar: 152 instancias classificadas corretamente e 21 instancias
classificadas incorretamente com taxa de erro de 12.1387%, sendo uma taxa aceitável, pois o limite
para o card2 é de 19.24 segundo padrões. Em nossa matriz confusão podemos verificar que tivemos
72 verdadeiros positivos, 15 falsos positivos, 6 falsos negativos e 80 verdadeiros negativos. Sendo
assim, nosso melhor modelo é o de árvore de decisão para o Card2.
4.3 Card3
Para o card3 usamos o algoritmo MultlayerPerceptron, camada escondida "t" e finalizamos nossa
configuração segundo a tabela abaixo, sendo que para a relação época/tempo de aprendizagem
obtivemos uma taxa de erro associada, consideremos esta taxa em porcentagem(% de erro).
Épocas Temp. Ap. 0.1 Temp. Ap. 0.2 Temp. Ap. 0.3 Temp. Ap. 0.4
100 19.186 19.7674 19.186 22.093
200 19.7674 19.186 19.7674 21.5116
300 20.3488 18.0233 18.0233 21.5116
400 19.186 16.2791 16.2791 22.093
500 18.0233 16.8605 18.0233 23.2558
600 17.4419 17.4419 18.6047 21.5116
700 17.4419 16.8605 19.186 20.9302
800 17.4419 18.0233 20.9302 20.9302
900 17.4419 18.0233 20.3488 21.5116
1000 18.0233 18.0233 22.093 22.093
Em relação aos respectivos tempos de aprendizagem obtivemos os seguintes gráficos.
Como podemos constatar analisando nossa tabela e nossos gráficos nosso melhor modelo tem a
seguinte configuração com taxa de aprendizagem(learningRate) 0.2 e épocas(TrainingTime) 400.
Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 144 instancias
classificadas corretamente e 28 instancias classificadas incorretamente com taxa de erro de
16.2791%. Em nossa matriz confusão podemos verificar que tivemos 62 verdadeiros positivos, 17
falsos positivos, 11 falsos negativos e 82 verdadeiros negativos.
Na execução de nosso conjunto de teste sobre nosso melhor modelo os seguintes resultados são
encontrados, como podemos observar: 152 instancias classificadas corretamente e 21 instancias
classificadas incorretamente com taxa de erro de 12.1387%, sendo uma taxa aceitável, pois o limite
para o card3 é de 14.42 segundo padrões. Em nossa matriz confusão podemos verificar que tivemos
67 verdadeiros positivos, 9 falsos positivos, 12 falsos negativos e 85 verdadeiros negativos.
Ainda para o card3 usamos o algoritmo J4.8, nossa configuração segue a tabela abaixo, sendo que
para a relação do número de instancias mínimas nas folhas obtivemos um tamanho de árvore e uma
taxa de erro associada, consideremos esta taxa em porcentagem(% de erro).
Card3
Mínimo de instancias nas
folhas
Tamanho da árvore Erro associado
1 47 18.6047
2 39 18.0233
3 25 19.186
4 29 17.4419
5 21 18.0233
Em relação aos respectivos números mínimos de instancias nas folhas obtivemos o seguinte gráfico.
Como podemos constatar analisando nossa tabela e nosso gráfico, nosso melhor modelo tem a
seguinte configuração com número mínimo de instancias por folha igual a 4.
Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 142 instancias
classificadas corretamente e 30 instancias classificadas incorretamente com taxa de erro de
17.4419%. Em nossa matriz confusão podemos verificar que tivemos 63 verdadeiros positivos, 16
falsos positivos, 14 falsos negativos e 79 verdadeiros negativos.
Na execução de nosso conjunto de teste sobre nosso melhor modelo os seguintes resultados são
encontrados, como podemos observar: 156 instancias classificadas corretamente e 17 instancias
classificadas incorretamente com taxa de erro de 9.8266%, sendo uma taxa aceitável, pois o limite
para o card3 é de 14.42 segundo padrões. Em nossa matriz confusão podemos verificar que tivemos
69 verdadeiros positivos, 7 falsos positivos, 10 falsos negativos e 87 verdadeiros negativos. Sendo
assim, nosso melhor modelo é o de árvore de decisão para o Card3.
5. Conclusão
Em nosso trabalho abordamos a problemática de classificação de padrões, escolhemos o problema
de análise de credito para executarmos nosso experimento, sendo que usamos as técnicas de
Inteligencia Artificial para resolvermos a identificação de quem estaria apto a receber credito ou não
através da criação de redes neurais e árvores de decisão, desenvolvemos nossa metodologia e a
aplicamos ao nosso problema com o uso da ferramenta Weka 3.7, criamos nossos modelos, geramos
tabelas e gráficos para efetuarmos análise e por fim elegemos nosso melhor modelo para o card1,
card2 e card3 e executamos nossos aquivos de teste sobre os modelos eleitos e depois comparamos
nossos resultados, conseguindo validar nossos modelos segundo os padrões de erro para cada card,
enfim obtivemos sucesso em nosso experimento, portanto este trabalho nos incentiva a continuar
estudando IA e seus incríveis métodos e conceitos usados para a resolução de problemas reais de
nossa sociedade.
Referencias
Alan Turing. Computing Machinery and Intelligence , visita em 24 de novembro de 2010.
http://www.filewatcher.com/b/ftp/ftp.cs.cuhk.hk/pub/proben1.0.0.html, visita em 8 de novembro
de 2010.
http://www.cs.waikato.ac.nz/ml/weka/, visita em 9 de novembro de 2010.
Prechelt, Lutz, Proben1 A Set of Neural Network Benchmark Problems and Benchmarking Rules,
September 30, 1994.
Recommended