Vous êtes sur la page 1sur 7

Algoritmo Genético aplicado ao Sistema de Análise

de Concessão de Crédito (SACC)


Rosini Antonio Monteiro Bezerra
Professor Marco Aurélio
ICA, DEE, PUC-RIO
CEP: 22453-900

ramb@ele.puc-rio.br ica@ele.puc-rio.br
___________________________________________________________________________________________
_

Resumo

Neste artigo será aplicado algumas técnicas de Algoritmo Genético (AG),


especialmente mineração de dados utilizando AG para extração das regras, para o
desenvolvimento de um Sistema de Análise de Concessão de Crédito (SACC). A
Mineração de dados por regras de associação foi constituída por atributos quantitativo.
A Mineração de Dados por AG é um problema de otimização onde a função de
avaliação deve apontar para as melhores regras de associação. A acurácia e a
abrangência são medidas de desempenho e, alguns casos, se mantém nulas durante
parte da evolução. Assim, a função avaliação deve ser uma medida que destaca
cromossomas contendo regras promissoras em apresentar acurácia e abrangência
diferentes de zero. O objetivo desse artigo é desenvolver um Sistema de Análise de
Concessão de Crédito que capaz de classificar um determinado cliente como um bom
ou mau pagador. O SACC simulará um caso real de sistema de crédito, através de um
BD que foi concedido por uma financiadora de crédito.

Introdução substituirá a função do especialista financeiro. O


Quando um determinado cliente desejar obter um SACC utiliza as regras extraídas do banco de dados
empréstimo junto ao banco e/ou financiadora, o para classificar o cliente como um bom ou mau
especialista da área financeira do banco e/ou pagador.
financiadora irá analisar os seus dados pessoais Neste trabalho o BD utilizado foi dividido em duas
como: renda familiar, o valor do empréstimo, partes: um BD para treinamento e um outro para
quantas vezes ele deseja pagar, quanto tempo ele validação das regras extraídas.
reside nesse endereço, quanto ele deseja dar de As ferramentas utilizadas foram o RuleEvolver e
entrada, qual a sua idade, quanto dependentes ele Access. O RuleEvolver foi utilizado para extrações
tem e outros. Após esta análise, o especialista irá das regras, ou seja, ele extrai informação de um BD
definir se esse cliente estará apto ou não em forma de regras. As regras extraídas deste BD
concessão de crédito solicitado. O objetivo deste fará a função do especialista para o SACC. O
trabalho será apresentar um SACC que Access foi utilizado para validação das regras
extraídas deste BD através de um outro BD que mau pagador e outros são da classe bom pagador.
não foi utilizado para extração das regras, ou seja, O BD de teste contém 500 registros, onde 250
foi utilizado um BD para extrair informação registros são da classe bom pagador e os outros 250
deste banco e um outro BD para validação desta registros são da classe mau pagador.
informação. Cada registro contém 10 atributos, sendo que 08
atributos são de entrada e 02 atributos são de saída
O conteúdo do artigo está organizado nas A tabela a seguir descreve cada um desses
seguintes Seções atributos deste banco.
• Descrição do problema
• Mineração de Dados
• Descrição da Solução
• Avaliação dos resultados obtidos Nome da Descrição Exemplo
• Conclusões variável ou
do atributo
Descrição do problema NDEP Número de Filhos, pai,
dependente mãe, irmãos,
O problema consistem em desenvolver um s sogra, etc.
Sistema de Análise de Concessão de Crédito que RENDA Renda Salário
seja capaz de classificar um determinado cliente, familiar
quando este solicitar uma concessão de crédito, VBEM Valor do O preço da
como um bom ou mau pagador. bem mercadoria
A figura 1 mostra o diagrama de bloco do NPARC Número de Pagar em 6
Sistema de Análise de Concessão de Crédito parcela vezes
(SACC) VPARC Valor da O preço de uma
parcela parcela
Regras
IDADE Idade do 26 anos
Se
Cliente Renda ≥ 300 and Renda ≤ 3210 and Resultado cliente
NDep ≥ 1 and NDep ≤ 5 and
Solicitação Conceder ou RESMS Tempo de 3 anos
de Crédito ... não Crédito
Idade ≥ 19 and Idade ≤ 54 residência
THEN
Classe A atual
ENTRADA Quanto vai R$ 310,00 de
Figura 1 Diagrama de bloco do SACC pagar de entrada
entrada
O SACC é composto de: uma entrada (cliente),
Classe_0 Mau Não paga o
um conjunto de regras que foi extraído do BD
pagador empréstimo
de treinamento através do RuleEvolver e uma
classes

saída de decisão (conceder ou não crédito).


Classe_1 Bom Paga o
O BD utilizado neste trabalho contém 2000 pagador empréstimo
registros, onde 1000 registros são da classe mau
pagador e os outros 1000 registros. Este BD foi
dividido em dois BD, um BD para treinamento e Mineração de Dados
o BD para teste. O BD de treinamento contém
1500 registros, onde 750 registros são da classe
É caracterizado pela existência de um algoritmo C∩P
que diante da tarefa específica será capaz de
extrair eficientemente conhecimento implícito e
Abrangência =
(C ∩ P + C ∩ P ) , ou seja, indica
útil de um BD, ou seja, a mineração de dados quantos registro uma determinada regra cobriu.
“transforma” dados em informação.
Será usado a modelagem de AG para a mineração
de dados, pois os AGs têm sido empregados em
mineração de dados para tarefas de classificação e
descrição de registros de uma base de dados, além
da seleção de atributos da base de dados. Na
classificação de registros os modelos de AGs
geram regras que exprimem um realidade do Descrição da Solução
domínio da aplicação. Essas regras são de fácil
interpretação, o que incentiva o uso dessa técnica As extrações das regras utilizando RuleEvolver
, AGs. foram feitas da seguintes maneira: primeiro
A classificação será por evolução de regras de extraímos a melhor regra do BD de treinamento,
associação. para encontrar os parâmetros, normalização linear e
Uma regra de associação caracteriza um função avaliação, taxas dos operadores adequados
relacionamento de atributos preditivos com um
e em seguida extraímos para as melhores regras.
atributo objetivo, ou atributo meta. Os atributos
Este procedimento é feito para cada um classe, ou
preditivos compõem a condição de uma regra
seja, para classe boa pagadora e depois para a
(parte SE) e o atributo objetivo, a conseqüência
(parte ENTÃO). O objetivo do AG nesta tarefa é classe mau pagadora.
evoluir regras de associação, de modo que uma De posse do conjunto das melhores regras para
regra passa representar cada vez melhor as ambas as classes, será verificada a validação das
características de um determinado grupo de mesmas através do BD de teste utilizando o
registro. Uma regra é considerada melhor que Access.
outra sempre que esta gerar solução com mais Foi feito duas vezes estes procedimento descrito
qualidade. As medidas de qualidade são: anteriormente, uma vez para um BD de
Acurácia e Abrangência. Acurácia de uma regra treinamento e o BD para teste e a segunda vez
mede o quão boa é a sua solução em função do para um novo BD de treinamento, este BD foi
grau de certeza, ou confiança, obtida através de gerado da seguinte forma: escolhe aleatoriamente
do conjunto de exemplo. Considere C um 250 registros da classe mau pagadora e 250 da
conjunto de atributos preditivos (condição da classe boa pagadora do BD de treinamento anterior
regra) e P a previsão, ou classe de registro. Uma e retira esses 500 registros gerando um novo BD
regra de associação da forma SE C ENTÃO P para teste com estes registros e inseri o BD de teste
tem uma acurácia dada por:
anterior para completar o BD de treinamento
C∩P gerando assim um novo BD de treinamento. As
Acurácia = , ou seja, o número
( C∩P + C∩P ) figuras 2 e 3 abaixo ilustram como são gerados
de registros que satisfazem C e P dividido pelo estes novos BDs.
total de registros que satisfaz C.
Abrangência é definida como sendo o número de
registro que satisfazem C e P dividido pelo o total Classe o
Classe 0 Escolha
de registros que satisfazem P. Classe 1 Aleatória de
Classe 1 registros
BD de
teste
BD de Inicial
treinamento

Figura 2 – Escolha aleatória dos 250 registros


de cada classe para o BD de
Taxa de template 30
Nº de regras visualizadas 100

Foi utilizado a normalização linear com um


mínimo de 1 e com um máximo de 100.
Operadores:

Probabilidade de
Crossover Taxa Seleção
Inicial Final
1 ponto 0.65 0.2 0.2
250 registros
Classe 0 2 pontos 0.65 0.2 0.2
+ Classe 1 Média 0.65 0.2 0.2
250 registros
Novo BD Uniforme 0.65 0.3 0.1
de teste

500 registros
CLASSE 0
Classe o Probabilidade de
Classe 0 Mutação Taxa Seleção
Classe 1
Classe 1 Inicial Final
500 registro
CLASSE 1 Padrão 0.10 0.1 0.3
Final Novo BD de
treinamento
O tipo de inicialização foi aleatória.
Figura 3 – São gerados os novos BDs para Foram extraídas 40 regras do BD de treinamento
treinamento e teste
para o primeiro experimento, sendo que 20 regras
são da classe mau pagadora e as outra 20 são da
A forma em que é apresentado o BD de
bom pagador.
treinamento ao RuleEvolver pode ter influência
As tabelas abaixo mostram as Acurácias e as
no resultado do conjunto das melhores regras,
Abrangências para cada regra:
desta forma para ser totalmente imparcial ao
resultado no conjunto de regras foi feito a escolha
Para a classe boa pagadora
aleatória do BD de treinamento para com isso
Para BD de Treinamento Para BD de Teste
garantir a imparcialidade no resultado do
Nº de Reg. Nº de Reg.
conjunto de regras. Acurácia Abrang. Acurácia Abrang.
Regra Coberto coberto
pela regra pela regra
Avaliação dos Resultados
1 0.94 0.39 288 0.58 0.18 74
2 1.00 0.01 006 1.00 0.01 02
Os resultados a seguir foram avaliados em função
3 1.00 0.02 007 0.61 0.06 23
dos seguintes parâmetros:
4 1.00 0.03 012 1.00 0.01 01
Parâmetros
5 1.00 0.02 007 0.71 0.02 07
6 1.00 0.01 004 1.00 0.01 01
Total de Rodadas 5
7 1.00 0.04 015 0.53 0.03 15
Total de Geração 50
8 1.00 0.01 006 0.67 0.03 12
Tamanho da população 100
9 1.00 0.01 005 0.65 0.05 17
Elitismo 5
10 1.00 0.03 010 0.80 0.02 05
Semente 5
11 1.00 0.01 003 0.67 0.02 06 18 1.00 0.01 002 -- -- 00
12 1.00 0.01 003 0.60 0.03 10 19 1.00 0.01 004 1.00 0.02 04
13 1.00 0.01 005 0.67 0.02 06 20 1.00 0.01 006 -- -- 00
14 1.00 0.01 004 0.50 0.01 02
15 1.00 0.01 005 1.00 0.01 01 Observando agora o resultado da verificação da
16 1.00 0.01 005 1.00 0.04 09 classe mau pagadora foi obtido as seguintes
17 1.00 0.01 002 0.50 0.01 4 informações:
18 1.00 0.01 003 0.25 0.01 4 25% da regras não cobriram nenhum registros,
19 1.00 0.01 003 0.75 0.02 4 50% das regras obtiveram uma acurácia maior que
20 1.00 0.01 003 - - 00 70% e abrangência dessas regras foram menor
Observando o resultado da verificação da classe 15%. Este resultado mostra a necessidade de se
boa pagadora foi obtido as seguintes informações: fazer novo experimento.
5% das regras extraídas não cobre nenhum O segundo experimento foi utilizando o segundo
registro, apenas 40% das regras extraídas BD de treinamento e BD de teste citado
obtiveram uma acurácia acima de 70% e a anteriormente.
abrangência dessas regras foram abaixo de 4%. De forma semelhante ao anterior aqui também
Isto mostra que o conjunto de regras para a classe foram extraídas 40 regras do BD de treinamento
boa pagadora não foi muito bom para o BD de para o primeiro experimento, sendo que 20 regras
treinamento inicial. são da classe mau pagadora e as outra 20 são da
bom pagador.
As tabelas abaixo mostram as Acurácias e as
Para a classe mau pagadora Abrangências para cada regra:
Para BD de Treinamento Para BD de Teste
Nº de Reg. Nº de Reg.
Regra
Acurácia Abrang.
Coberto
Acurácia Abrang.
coberto
Para a classe boa pagadora
pela regra pela regra Para BD de Treinamento Para BD de Teste
1 0.90 0.32 240 0.72 0.15 48 Nº de Reg. Nº de Reg.
Acurácia Abrang. Acurácia Abrang.
Regra Coberto coberto
2 1.00 0.02 008 -- -- 00
pela regra pela regra
3 1.00 0.02 009 1.00 0.02 05
1 0.98 0.12 87 0.98 0.15 38
4 1.00 0.01 005 1.00 0.01 01
2 1.00 0.02 12 0.75 0.05 09
5 1.00 0.02 009 0.33 0.01 03
3 1.00 0.05 31 1.00 0.02 04
6 1.00 0.01 006 0.89 0.03 09
4 1.00 0.01 05 0.75 0.01 03
7 1.00 0.02 009 0.57 0.02 07
5 1.00 0.02 12 1.00 0.01 02
8 1.00 0.01 004 1.00 0.01 02
6 1.00 0.02 10 0.75 0.01 04
9 1.00 0.01 004 1.00 0.03 06
7 1.00 0.02 10 0.72 0.02 07
10 1.00 0.02 007 1.00 0.02 02
8 1.00 0.01 08 0.75 0.01 04
11 1.00 0.01 002 0.67 0.02 06
9 1.00 0.03 16 0.83 0.10 29
12 1.00 0.01 006 0.33 0.01 03
10 1.00 0.02 10 0.80 0.02 05
13 1.00 0.01 003 -- -- 00
11 1.00 0.01 03 1.00 0.01 01
14 1.00 0.01 003 -- -- 00
12 1.00 0.01 06 0.67 0.01 03
15 1.00 0.02 009 0.85 0.05 13
13 1.00 0.01 06 0.75 0.01 04
16 1.00 0.01 002 -- -- 00
14 1.00 0.02 10 0.67 0.01 03
17 1.00 0.01 004 1.00 0.01 02
15 1.00 0.02 08 0.83 0.02 06
16 1.00 0.01 03 1.00 0.01 04 resultados obtidos foram bem melhor que o
17 1.00 0.01 06 0.75 0.01 04 experimento anterior.
18 1.00 0.02 11 0.75 0.01 04 As regras cobriram pelo menos dois registros e
19 1.00 0.03 14 0.80 0.02 05 100% das regras obtiveram uma acurácia maior ou
20 1.00 0.01 03 1.00 0.01 03 igual a 75% com uma abrangência abaixo de 6%.

Para este novo experimento, observamos que os


resultados obtidos foram bem melhor que o
experimento anterior para classe boa pagadora. Conclusões
As regras cobriram pelo menos um registro e 90%
das regras obtiveram uma acurácia maior ou igual Os resultados obtidos no segundo experimento
a 72% com uma abrangência abaixo de 15%. mostra que as regras tem um grau confiabilidade
em média de 73% para o conjunto de 40 regras,
Para a classe mau pagadora onde 20 regras são para a classe mau pagadora e as
Para BD de Treinamento Para BD de Teste outras 20 são da classe boa pagadora.
Nº de Reg. Nº de Reg.
Com este resultado podemos desenvolver um
Regra
Acurácia Abrang.
Coberto
Acurácia Abrang.
coberto
Sistema a de Análise de Concessão de Crédito
pela regra pela regra
(SACC) e alcançarmos o nosso objetivo proposto
1 1.00 0.04 28 0.80 0.02 05
início deste trabalho.
2 1.00 0.05 34 0.93 0.05 14
O ideal seria uma regra que tivesse uma acurácia
3 1.00 0.03 21 0.93 0.05 14
igual a um e uma abrangência também igual a um,
pois assim teríamos uma única regras a qual
4 1.00 0.02 11 0.88 0.03 08
classificaria 100% certo os clientes e essa regra
5 1.00 0.02 10 0.94 0.06 17
cobriria todos registros do BD, neste caso o SACC
6 1.00 0.02 14 1.00 0.02 04
seria ainda mais confiável.
7 1.00 0.01 06 0.88 0.03 08
8 1.00 0.01 06 0.86 0.03 07
9 1.00 0.01 04 1.00 0.01 02
Bibliografia:
10 1.00 0.02 15 1.00 0.04 10
11 1.00 0.01 07 0.83 0.02 06
[ 1 ] Notas de Aula .
12 1.00 0.02 09 0.85 0.05 13
[ 2 ] Classificação de registros em banco de dados
13 1.00 0.03 16 1.00 0.02 05
por evolução de regras de associação
14 1.00 0.01 08 1.00 0.02 06 utilizando Algoritmo Genético – Carlos
15 1.00 0.01 05 0.75 0.02 08 Henrique Pereira Lopes – Abril 1999.
16 1.00 0.01 07 1.00 0.02 05
17 1.00 0.01 07 0.83 0.02 06
18 1.00 0.01 06 1.00 0.03 07
19 1.00 0.01 04 1.00 0.01 03
20 1.00 0.01 06 1.00 0.01 02

Verificando também o novo experimento, para


classe boa pagadora observamos que os

Vous aimerez peut-être aussi