21
Criando e aplicando modelos de redes neurais e árvores de decisão Danilo Dias 1 , Faculdade de Sistemas de Informação Universidade Federal do Oeste do Pará (UFOPA) Santarém PA Brasil ¹[email protected] 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

Criando e aplicando modelos de redes neurais e árvores de decisão

  • Upload
    ufpa

  • View
    3.089

  • Download
    1

Embed Size (px)

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

Page 1: Criando e aplicando modelos de redes neurais e árvores de decisão

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

¹[email protected]

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

Page 2: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 3: Criando e aplicando modelos de redes neurais e árvores de decisão

Como podemos constatar analisando nossa tabela e nossos gráficos nosso melhor modelo tem a

Page 4: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 5: Criando e aplicando modelos de redes neurais e árvores de decisão

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

Page 6: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 7: Criando e aplicando modelos de redes neurais e árvores de decisão

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

Page 8: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 9: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 10: Criando e aplicando modelos de redes neurais e árvores de decisão

Nosso melhor modelo apresenta os seguintes resultados, como podemos observar: 141 instancias

classificadas corretamente e 31 instancias classificadas incorretamente com taxa de erro de

Page 11: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 12: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 13: Criando e aplicando modelos de redes neurais e árvores de decisão

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

Page 14: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 15: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 16: Criando e aplicando modelos de redes neurais e árvores de decisão
Page 17: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 18: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 19: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 20: Criando e aplicando modelos de redes neurais e árvores de decisão

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.

Page 21: Criando e aplicando modelos de redes neurais e árvores de decisão

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.