algoritmos genéticos em mineração de dados - RICA - PUC-Rio

Propaganda
ALGORITMOS GENÉTICOS EM MINERAÇÃO DE
DADOS – UMA APLICAÇÃO NA CLASSIFICAÇÃO
DE MUNICÍPIOS BRASILEIROS A PARTIR DE
DADOS SÓCIO-ECONÔMICOS
Claudio Cezar C. Almeida
Departamento de Engenharia Elétrica, PUC-RIO, Rio de Janeiro, RJ, Brasil
[email protected]
Resumo Este trabalho aborda a utilização de algoritmos
genéticos no processo de mineração de dados, na descoberta de
regras em uma base de dados. É utilizada a ferramenta Rule
Evolver,
desenvolvida
pelo
Núcleo
de
Inteligência
Computacional Aplicada da Pontifícia Universidade Católica do
Rio de Janeiro e uma base de dados relativa a um conjunto de
municípios brasileiros, representados por um conjunto de
atributos sócio-econômicos, organizada em cinco classes,
definidas após processo de clusterização realizado através de
um Mapa de Kohonen.
Palavras-chave: Algoritmos genéticos, mineração de dados
INTRODUÇÃO
Uma das questões de maior relevância associada ao lidar
com grandes massas de dados é a classificação dos mesmos,
ou seja, poder organizá-los em grupos distintos e
significativos de modo a poder extrair um sentido deste
agrupamento.
A classificação, ato de separar e nomear as aparências, é
uma atividade tão antiga quanto a própria humanidade e,
cada vez mais, enraizada em sua vivência. Mais importante
ainda que simplesmente agrupar e classificar indivíduos é
identificar o que caracteriza a presença de um indivíduo
como pertencente a um grupo ou outro. O processo de
descoberta de conhecimento em banco de dados (Knowledge
Discovery Database – KDD) envolve diversas fases:
definição do problema; seleção dos dados; préprocessamento dos dados; codificação dos dados;
enriquecimento dos dados; mineração dos dados (Data
Mining) e interpretação dos dados.
Este trabalho aborda uma etapa do processo de mineração
de dados, que é a descoberta de regras que caracterizem o
comportamento de indivíduos pertencentes a um determinado
grupo. A busca pelas possíveis combinações válidas de
atributos e valores para caracterizar um determinado grupo
de indívíduos torna-se um campo bastante propício à
utilização dos algoritmos genéticos. Para um algoritmo
genético, não há a necessidade de descrever como se
encontrar uma boa solução. Estas soluções podem ser
encontradas de forma paralela, avaliando-se e percebendo-se
em que direção devem estar localizadas as melhores
soluções, ou soluções potenciais. Conforme vemos em [2], o
conceito de algoritmo genético pode ser aplicado à área de
mineração de dados através da regra de associação. Essa
regra é representada em um cromossoma conforme vemos
em (1), onde os itens ou atributos do banco de dados estão
representados simbolicamente como condições para que a
conclusão da regra seja verdadeira. Ao utilizar-se destas
regras para representar indivíduos ou grupos de indivíduos
em um banco de dados pode-se então procurar padrões que
caracterizem um banco de dados através da evolução
genética.
I. DESCRIÇÃO DO PROBLEMA
A. Base de dados utilizada
A base de dados utilizada foi construída utilizando-se
dados reais obtidos a partir do Atlas do Desenvolvimento
Humano do PNUD, construído com base no Censo
Demográfico 2000.
Deste universo de informações foi extraído um conjunto
de dados formado pelos municípios da Região Nordeste do
Brasil e caracterizado, inicialmente por um conjunto de 16
atributos. Posteriomente, dado o grande volume de dados
(1787 municípios) e as limitações operacionais do
experimento, foi necessária a utilização de uma abordagem
redutora (2ª etapa do roteiro de trabalho), passando a utilizar
apenas oito atributos para a clusterização.
B. O Rule Evolver
A ferramenta Rule Evolver, desenvolvida pelo Núcleo de
Inteligência Computacional Aplicada da Pontifícia
Universidade Católica do Rio de Janeiro, baseia-se em um
modelo de Algoritmo Genético que pressupõe a evolução de
regras cuja estrutura geral encontra-se descrita em (1). Os
predicados Ci, i=1,..., n são condições envolvendo atributos
denominados preditivos e a conclusão da regra envolve um
atributo denominado objetivo que contém um valor fixo, não
manipulado pelo algoritmo genético. Os atributos preditivos
podem ser classificados quanto à natureza de seu domínio em
atributos quantitativos ou atributos categóricos. Enquanto
atributos
quantitativos
devem
possuir
domínios
caracterizados por intervalos contínuos de valores, os
domínios dos atributos categóricos devem ser constituídos
por conjuntos discretos e finitos de valores.
SE C1 E C2 E ... E Cn ENTÃO Conclusão
(1
)
A representação utilizada pelo algoritmo genético, descrita
na figura (1), pressupõe que cada gene seja associado a um
atributo preditivo e que compreenda dois valores reais: um
valor inferior e um valor superior. Para atributos
quantitativos, tais valores denotam o intervalo em que o
respectivo atributo se encontra inserido. Para atributos
categóricos, apenas o campo referente ao valor inferior é
utilizado, devendo conter o código de um dos valores
possíveis para o atributo em questão.
recompensa pela avaliação são apresentados em [2].
O Rule Evolver possibilita a visualização gráfica do
desempenho do algoritmo na geração de regras para uma
determinada configuração. As figuras 5, 6 e 7 apresentam
exemplos dos gráficos disponíveis.
II. EXPERIMENTOS REALIZADOS
A. Roteiro
A execução do trabalho seguiu o roteiro apresentado na
figura 1, com as seguintes etapas:
1. Extração dos dados: geração da base de dados através
de recursos disponíveis no Atlas do Desenvolvimento
Humano no Brasil.
2. Definição dos atributos relevantes através da
construção de uma Matriz de Correlação no SPSS,
onde foram identificados os oito atributos para serem
utilizados no processo de clusterização.
3. Clusterização dos dados no Matlab, utilizando o Mapa
de Kohonen, com os atributos definidos no item 2.
4. Extração das regras de classificação utilizando a
ferramenta Rule Evolver. Nesta etapa foram
realizados diversos experimentos com a configuração
apresentada na figura 3, visando avaliar a acurácia e a
abrangência das regras geradas para cada uma das
combinações de função de avaliação e recompensa
disponíveis no Rule Evolver, mostradas na figura 8.
Atlas
Desenvolvimento Humano
PNUD
Max
Min
1
1
Atributo 1
Min
2
Max
…
2
Atributo 2
Min
n
Extração dos dados
Max
n
SPSS
Definição dos atributos relevantes
Atributo n
Fig. 1 Representação do cromossoma
Os operadores genéticos disponíveis no sistema [2] são
crossover de um ponto, crossover de dois pontos, crossover
uniforme, crossover de média, mutação simples, e mutação
“don’t care”. O critério de seleção de operadores baseia-se na
interpolação linear das probabilidades de ocorrência de cada
operador, ajustada em função da geração corrente [2]. Tais
probabilidades são parametrizadas pelo usuário do sistema
conforme a aplicação.
O Rule Evolver dispõe de 10 funções de avaliação
passíveis de escolha, pelo usuário da ferramenta. Conforme
experimentos anteriores [2], pode-se constatar uma melhor
adequação de determinadas funções de avaliação para
determinados tipos de base de dados. Neste trabalho foram
utilizadas sete das 10 funções disponíveis no Rule Evolver:
Número Atributos, Distãncia Ótima, Recompensa Atributos,
Cbayesianos, Número Registros, FAcurácia e FAbrangência.
A descrição de cada uma dessas funções e dos tipos de
Matlab
Clusterização usando
Mapa de Kohonen
Rule Evolver
Extração
de regras
Fig. 1 - Fluxo de atividades para a realização do trabalho
B. Configurações
A base de dados utilizada compunha-se de 1787 registros,
divididos em cinco grupos (clusters), definidos após o
processo de clusterização. O cluster 1 contém 431 registros, o
cluster 2 contém 248 registros, o cluster 3 contém 433
registros, o cluster 4 contém 249 registros e o cluster 5
contém 326 registros. Os experimento no Rule Evolver foram
executados para geração de regras que caracterizassem os
registros pertencentes ao cluster 1. Os atributos considerados
peçlo Rule Evolver no processo de descoberta de regras são
apresentados na figura 2.
III. RESULTADOS OBTIDOS
A. Regras encontradas
Para cada uma das combinações utilizadas na tabela
apresentada na figura 3, o Rule Evolver gerou um conjunto
de regras, cada regra contendo os atributos considerados e os
seus limites máximo e mínimo no contexto da regra. Além
disso, junto com cada regra são apresentados os valores da
acurácia e abrangência da regra. Um exemplo de regra gerada
pelo Rule Evolver é apresentado na figura 4.
Fig. 2 - Definição dos atributos usados pelo Rule Evolver
Número de
Número de
Tamanho da
rodadas: 50
gerações: 100
População: 200
Normalização
Mínimo: 1
Máximo: 1000
linear
Inicialização da
A partir do Banco de Dados
População:
(30% da população)
Elitismo:
1
Sementes:
0
Taxa de Template:
30%
Crossover de 1 ponto
Taxa: 65%
Probabilidade
Probabilidade
inicial: 30%
Final: 10%
Crossover 2 pontos
Taxa: 65%
Probabilidade
Probabilidade
inicial: 20%
Final: 10%
Crossover de Média
Taxa: 65%
Probabilidade
Probabilidade
inicial: 30%
Final: 10%
Crossover Uniforme
Taxa: 65%
Probabilidade
Probabilidade
inicial: 30%
Final: 10%
Mutação Básica
Taxa: 8%
Probabilidade
Probabilidade
Inicial: 10%
Final: 30%
Mutação Don´t Care
Taxa: 0%
Probabilidade
Probabilidade
Inicial: 0 %
Final: 0%
Fig. 3 – Configurações utilizadas para os experimentos
Fig. 4 – exemplo de regra gerada pelo Rule Evolver
FIG. 5 – EXEMPLO DE GRÁFICO DE ACURÁCIA E ABRANGÊNCIA
FIG. 6 – EXEMPLO DE GRÁFICO DE DESEMPENHO
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
100
100
100
100
99,68
99,77
99,70
99,71
100
100
100
100
99,77
99,70
100
100
IV. CONCLUSÕES
FIG. 7 – EXEMPLO DE GRÁFICO DE MÚLTIPLO DESEMPENHO
B. Tabela de Avaliação de desempenho
MELHOR MÉDIA
MELHOR
FUNÇÃO DE
Acurácia Abragência Acurácia Abragência
AVALIAÇÃO
(%)
(%)
(%)
(%)
Número
Atributos
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
Distância-Ótima
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
Recompensa
Atributos
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
Cbayesianos
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
Número
Registros
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
Facurácia
Sem recompensa
Acurácia
Abrangência
Acurácia e/ou
Abrangência
FAbrangência
FUNÇÃO 1
100
100
100
100
99,65
99,66
99,71
99,63
100
100
100
100
99,77
99,52
8,20
0,23
100
100
100
100
FUNÇÃO 2
100
100
100
100
99,77
100
100
100
99,70
99,77
100
0,23
FUNÇÃO 3
100
100
100
100
99,66
99,67
99,71
99,71
100
100
100
100
99,65
99,63
99,67
99,66
100
100
100
100
99,67
99,69
99,67
99,61
100
100
100
100
2,98
1,9
99,65
99,68
100
100
100
100
FUNÇÃO 4
100
100
100
100
100
100
100
100
100
100
99,77
100
FUNÇÃO 5
100
100
100
100
FUNÇÃO 6
100
100
100
100
FUNÇÃO 7
100
100
100
100
1,16
0,46
100
100
Analisando-se as condições do experimento e os resultados
obtidos, pode-se concluir que:
1. Em geral, o algoritmo apresentou resultados muiito
próximos para as funções de avaliação utilizadas. As
exceções foram a função de avaliação Distância-Ótima,
que apresentou baixos valores para as recompensas
Abrangência e Acurácia e/ou Abrangência e a função
Facurácia, que apresentou baixos valores para as
recompensas Sem Recompensa e Acurácia.
2. A utilização do Banco de dados como instrumento para
inicialização da população possibilitou melhor
desempenho ao algoritmo.
3. Nos experimentos considerados, foram geradas regras
que, apesar de apresentarem alta acurácia e abrangência,
ainda apresentavam muita semelhança entre si, tornando
necessário um trabalho de ajuste posterior para
aperfeiçoar as regras geradas.
4. O bom conhecimento da natureza dos dados é fator
relevante na hora de estabelecer os valores dos limites
dos atributos considerados.
5. O Rule Evolver mostrou-se uma ferramenta muito útil,
versátil e poderosa para a descoberta de regras no
processo de mineração de dados. Como sugestão para
trabalhos futuros está a idéia de integrar o Rule Evolver
a uma ferramenta de pré-processamento de dados, de
modo a tornar o processo de descoberta de conhecimento
mais rápido e confiável. Sugere-se também um
aperfeiçoamento de sua interface para torná-la mais
amigável, possibilitando sua utilização mais ampla.
REFERÊNCIAS BIBLIOGRÁFICAS
[1]
[2]
Freitas, Alex A, Data Mining and Knowledge Discovery with
Evolutionary Algorithms, New York:Springer-Verlag.
Pereira Lopes, Carlos Henrique, Classificação de registros em Banco
de Dados por evolução de regras de associação utilizando algoritmos
genéticos, Tese de Mestrado, PUC-Rio, 1999
Download