2.1 tarefas de kdd - ICA - PUC-Rio

Propaganda
CARLOS HENRIQUE PEREIRA LOPES
CLASSIFICAÇÃO DE REGISTROS EM BANCO DE DADOS POR
EVOLUÇÃO DE REGRAS DE ASSOCIAÇÃO UTILIZANDO
ALGORITMOS GENÉTICOS
Dissertação apresentada ao Departamento de
Engenharia Elétrica da PUC/Rio como parte
dos requisitos para a obtenção do título de
Mestre em Engenharia Elétrica : Sistemas de
Computação.
Orientadores: Marley M. B. R. Vellasco
Marco Aurélio C. Pacheco
Departamento de Engenharia Elétrica
Pontifícia Universidade Católica do Rio de Janeiro
Abril de 1999
Dedicatória
à minha família
Agradecimentos
 Ao CNPq, pelo apoio financeiro;
 Aos Profs. ...;
 A ...;
 Aos colegas do ICA e da oficina de manutenção;
 Aos ...;
 A minha família, que próxima ou distante, me incentivou nessa jornada;
 A ...;
 A ....
RESUMO
Esta dissertação investiga a utilização de Algoritmos Genéticos (AG) no processo de descoberta de
conhecimento implícito em Banco de Dados (KDD - Knowledge Discovery Database). O objetivo do trabalho foi
avaliar o desempenho de Algoritmos Genéticos no processo de classificação de registros em Bancos de Dados (BD).
O processo de classificação no contexto de Algoritmos Genéticos consiste na evolução de regras de associação que
melhor caracterizem, através de sua acurácia e abrangência, um determinado grupo de registros do BD. O trabalho
consistiu de 4 etapas principais: um estudo sobre a área de Knowledge Discovery Database (KDD); a definição de
um modelo de AG aplicado à Mineração de Dados (Data Mining); a implementação de uma ferramenta (RuleEvolver) de Mineração de Dados; e o estudo de casos.
O estudo sobre a área de KDD envolveu todo o processo de descoberta de conhecimento útil em banco de
dados: definição do problema; seleção dos dados; limpeza dos dados; pré-processamento dos dados; codificação dos
dados; enriquecimento dos dados; mineração dos dados e a interpretação dos resultados. Em particular, o estudo
destacou a fase de Mineração de Dados e os algoritmos e técnicas empregadas (Redes Neurais, Indução de regras,
Modelos Estatísticos e Algoritmos Genéticos). Deste estudo resultou um “survey” sobre os principais projetos de
pesquisa na área.
A modelagem do Algoritmo Genético consistiu fundamentalmente na definição de uma representação dos
cromossomas, da função de avaliação e dos operadores genéticos. Em mineração de dados por regras de associação
é necessário considerar-se atributos quantitativos e categóricos. Atributos quantitativos representam variáveis
contínuas (faixa de valores) e atributos categóricos variáveis discretas. Na representação definida, cada cromossoma
representa uma regra e cada gene corresponde a um atributo do BD, que pode ser quantitativo ou categórico
conforme a aplicação. A função de avaliação associa um valor numérico à regra encontrada, refletindo assim uma
medida da qualidade desta solução. 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, em alguns casos, se mantém nulas durante parte da evolução. Assim, a função de avaliação deve ser
uma medida que destaca cromossomas contendo regras promissoras em apresentar acurácia e abrangência diferentes
de zero. Foram implementadas 10 funções de avaliação. Os operadores genéticos utilizados (crossover e mutação)
buscam recombinar as cláusulas das regras, de modo a procurar obter novas regras com maior acurácia e
abrangência dentre as já encontradas. Foram implementados e testados 4 operadores de cruzamento e 2 de mutação.
A implementação de uma ferramenta de modelagem de AG aplicada à Mineração de Dados, denominada
Rule-Evolver, avaliou o modelo proposto para o problema de classificação de registros. O Rule-Evolver analisa um
Banco de Dados e extrai as regras de associação que melhor diferenciem um grupo de registros em relação a todos
os registros do Banco de Dados. Suas características principais são: seleção de atributos do BD; informações
estatísticas dos atributos; escolha de uma função de avaliação entre as 10 implementadas; escolha dos operadores
genéticos; visualização gráfica de desempenho do sistema; e interpretação de regras. Um operador genético é
escolhido a cada reprodução em função de uma taxa preestabelecida pelo usuário. Esta taxa pode permanecer fixa ou
variar durante o processo evolutivo. As funções de avaliação também podem ser alteradas (acrescidas de uma
recompensa) em função da abrangência e da acurácia da regra. O Rule-Evolver possui uma interface entre o BD e o
AG, necessária para tornar o processo de KDD e a fase de mineração dos dados mais ágeis. Para otimizar o processo
de busca de regras e obter regras de melhor qualidade, foram implementadas técnicas evolucionárias (normalização
linear, elitismo entre gerações e entre experimentos) e métodos aleatórios de inicialização dos valores dos genes da
população, incluindo: o valor médio global, o valor mediano global e valores dos registros do BD.
No estudo de casos, buscou-se avaliar o desempenho do modelo e da ferramenta em diversos BDs:
benchmark e reais. A mineração em banco de dados benchmark permitiu uma análise comparativa com outros
métodos de extração de regras implícitas, tais como Redes Neurais Artificiais e Modelos Estatísticos. Na aplicação
em BD reais, o objetivo foi submeter os resultados do Rule-Evolver a analistas de dados da área de educação.
Com este trabalho comprovou-se a viabilidade da utilização de AG em mineração de dados. Verificou-se que
a definição da melhor função de avaliação é dependente do tipo dos dados, isto é, da aplicação em que se está
trabalhando. As diversas funções de avaliação estudadas se mostraram mais eficientes em alguns BDs do que em
outros. Isso demonstra que no processo de KDD a iteratividade e a interatividade são extremamente necessárias para
a execução da tarefa proposta. O Rule-Evolver mostrou-se eficiente nesta etapa, dado os recursos de análise de
resultados e a facilidade de alteração do modelo.
ABSTRACT
This dissertation investigates the application of Genetic Algorithms (GAs) to the process of implicit
knowledge discovery over databases ( KDD – Knowledge Discovery Database). The objective of the work has been
the assessment of the Genetic Algorithms (GA) performance in the classification process of database registers. In
the context of Genetic Algorithms, this classification process consists in the evolution of association rules that
characterise, through its accuracy and range, a particular group of database registers. This work has encompassed
four main steps: a study over the area of Knowledge Discovery Databases; the GA model definition applied to Data
Mining; the implementation of the Data Mining Rule Evolver; and the case studies.
The study over the KDD area included the overall process of useful knowledge discovery; the problem
definition; data organisation; data pre-processing; data encoding; data improvement; data mining; and results’
interpretation. Particularly, this investigation emphasised the data mining procedure, techniques and algorithms
(Neural Networks, Rule Induction, Statistics Models and Genetic Algorithms). A survey over the main research
projects in this area was developed from this work.
The Genetic Algorithm modelling encompassed, fundamentally, the definition of the chromosome
representation, the fitness evaluation function and the genetic operators. Quantitative and categorical attributes must
be taken into account within data mining through association rules. Quantitative attributes represent continuous
variables (range of values), whereas categorical attributes are discrete variables. In the representation employed in
this work, each chromosome represents a rule and each gene corresponds to a database attribute, which can be
quantitative or categorical, depending on the application. The evaluation function associates a numerical value to
the discovered rule, reflecting, therefore, a quality measure of the particular solution. Data mining through GA is an
optimisation problem, where the evaluation function should drive the process towards the best association rules. The
accuracy and range are performance statistics and, in some cases, their values stay nil during part of the evolutionary
process. Therefore, the fitness evaluation function should reward chromosomes containing promising rules, which
present accuracy and range different of zero. Ten fitness evaluation functions have been implemented. The genetic
operators used in this work, crossover and mutation, seek to recombine rules’ clauses in such a way to achieve rules
of more accuracy and broader range when comparing the ones already sampled. Four splicing operators and two
mutation operators have been experimented.
The GA modelling tool implementation applied to Data Mining, called Rule Evolver, evaluated the proposed
model to the problem of register classification. The Rule Evolver analyses the database and extracts association
rules that can better differentiate a group of registers comparing to the overall database registers. Its main features
are: database attributes’ selection; attributes’ statistical information; evaluation function selection among ten
implemented ones; genetic operators’ selection; graphical visualisation of the system performance; and rules’
interpretation. A particular genetic operator is selected at each reproduction step, according to a previously defined
rate set by the user. This rate may be kept fix or may vary along the evolutionary process. The evaluation functions
may also be changed (a rewarding may be included) according to the rule’s range and accuracy. The Rule Evolver
implements an interface between the database and the GA, endowing the KDD process and the Data Mining phase
with flexibility. In order to optimise the rules’ search process and to achieve better quality rules, some evolutionary
techniques have been implemented (linear rank and elitism), and different random initialisation methods have been
used as well: global average value; global median value; and database registers’ values.
The performance assessment of the system over many databases has been accomplished in the case studies.
The Data Mining benchmark allowed the comparison with other implicit rules extraction methods, such as Artificial
Neural Networks and Statistical Models. When applying to real databases, the aim has been to submit the Rule
Evolver results to experts of the educational area.
This work proved the viability of using GAs in Data Mining. It has been verified that the best evaluation
function depends on the kind of data being processed in the particular application. The evaluation functions
investigated in this work have delivered different performances, in terms of efficiency, according to the particular
databases. This shows that interaction and iteration are rather important in the KDD process. Given the analysis
resources and the flexibility to perform changes in the model, the Rule Evolver turned out to be an efficient system.
LISTA DE ILUSTRAÇÕES............................................................................. IV
LISTA DE TABELAS........................................................................................ V
1 INTRODUÇÃO ............................................................................................. 1
1.1
1.2
1.3
1.4
MOTIVAÇÃO .............................................................................................................. 1
OBJETIVOS DO TRABALHO .................................................................................... 1
DESCRIÇÃO DO TRABALHO ................................................................................... 2
ORGANIZAÇÃO DA DISSERTAÇÃO ...................................................................... 2
2 PROCESSO DE KDD (KNOWLEDGE DISCOVERY DATABASE) .... 3
2.1 TAREFAS DE KDD ..................................................................................................... 3
2.1.1 Regras de Associação ................................................................................................ 4
2.1.2 Classificação .............................................................................................................. 4
2.2 FASES DE KDD ........................................................................................................... 5
2.2.1 Data Warehousing: Organização de grandes volumes de dados ............................ 5
2.2.1.1 OLAP: Processamento Analítico On-Line (On-Line Analytical Processing) ..... 5
2.2.2 Pré-processamento dos dados .................................................................................... 6
2.2.2.1 Limpeza dos dados .............................................................................................. 6
2.2.2.2 Seleção dos dados................................................................................................ 6
2.2.3 Enriquecimento dos dados ......................................................................................... 6
3 MINERAÇÃO DE DADOS .......................................................................... 7
3.1 INTRODUÇÃO ............................................................................................................ 7
3.2 TÉCNICAS E ALGORITMOS PARA A MINERAÇÃO DE DADOS ....................... 7
3.2.1 Redes Neurais Artificiais ........................................................................................... 7
3.2.1.1 Introdução às Redes Neurais Artificiais .............................................................. 7
3.2.1.2 Modelagem de Redes Neurais Artificiais em Mineração de Dados .................... 7
3.2.2 Algoritmos Genéticos ................................................................................................ 8
3.2.2.1 Introdução a Algoritmos genéticos ..................................................................... 8
3.2.2.2 Modelagem de Algoritmos Genéticos para a Mineração de Dados .................... 8
4 ESTUDO DE CASOS .................................................................................... 9
5 CONCLUSÕES E TRABALHOS FUTUROS ......................................... 10
5.1
5.2
CONCLUSÕES ........................................................................................................... 10
TRABALHOS FUTUROS.......................................................................................... 10
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................ 12
- III -
LISTA DE ILUSTRAÇÕES
Figura 1:Taxonomia do processo de KDD ................................................................................. 3
- IV -
LISTA DE TABELAS
Tabela 1: Entrada de dados para a descoberta de regras de associação. .................................... 4
-V-
-1-
1 INTRODUÇÃO
1.1 MOTIVAÇÃO
Durante os últimos anos tem se verificado um crescimento substancial da quantidade de
dados armazenados em meios magnéticos. Estes dados, produzidos e armazenados em larga
escala, são inviáveis de serem lidos ou analisados por especialistas através de métodos
manuais tradicionais [PIAT91], tais como planilhas de cálculos e relatórios informativos
operacionais, onde o especialista testa sua hipótese contra a base de dados. Por outro lado,
sabe-se que grandes quantidades de dados equivalem a um maior potencial de informação.
Entretanto, as informações contidas nos dados não estão caracterizadas explicitamente, uma
vez que sendo dados operacionais, não interessam quando estudados individualmente....
{Nesta seção devem ser apresentados todos os argumentos que motivam o trabalho, o que
existe na literatura ou que está acontecendo no ambiente, e o que você propõe, modo
resumido}
1.2 OBJETIVOS DO TRABALHO
Os objetivos principais deste trabalho são...
... {Esta seção sintetiza a meta do trabalho de forma clara e objetiva, não prolixa

Avaliar o desenpenho do GA

...}
-2-
1.3 DESCRIÇÃO DO TRABALHO
Esta pesquisa foi elaborada nas seguintes etapas: estudar a área de Knowledge
Discovery Database (KDD) e as etapas que a constituem; definir um modelo de Algoritmo
Genético aplicado à mineração de dados (Data Mining) para o problema de classificação de
registros em banco de dados; implementar uma ferramenta (Rule-Evolver) de mineração de
dados que fornecesse subsídios para avaliar o modelo; e o estudo de casos.
... {Agora é feito um apanhado geral de todo o trabalho. Nesta seção são dados mais
detalhes, ainda sem grandes aprofundamentos, porém mais específico do que está escrito
no resumo. Aqui deve-se mostrar trabalho, deixando claro para o leitor tudo que foi feito
na elaboração dessa dissertação}
1.4 ORGANIZAÇÃO DA DISSERTAÇÃO
Esta dissertação está dividida em seis capítulos adicionais, descritos a seguir:
O capítulo 2 resume o processo de descoberta de conhecimento, descrevendo de forma
detalhada as tarefas principais e as fases envolvidas no KDD.
... {Cada capítulo do trabalho deve ser mencionado de forma clara e sucinta, de modo
que o leitor saiba em síntese o que vem pela frente}
-3-
2 PROCESSO DE KDD (KNOWLEDGE
DISCOVERY DATABASE)
2.1 TAREFAS DE KDD
A Figura 1 representa de forma hierárquica uma visão sistemática do processo de KDD.
Nessa figura percebe-se as fases e as principais tarefas do processo de KDD, envolvendo:
tarefas e algoritmos empregados; fases; e etapas do pré processamento.
Figura 1:Taxonomia do processo de KDD
O desenvolvimento de sistemas de KDD esta relacionado com diversos domínios de
aplicações: marketing, análises corporativas, astronomia, medicina, biologia, entre outros.
-4-
Deste modo, pode-se identificar diversas tarefas de KDD que são, principalmente,
dependentes do domínio da aplicação e do interesse do usuário. De modo geral, cada tarefa de
KDD extrai um tipo diferente de conhecimento do banco de dados, logo cada tarefa requer um
algoritmo diferente para a extração de conhecimento. A seguir descreve-se algumas das
principais tarefas de KDD.
.... {A partir desse capítulo são mostradas especificamente cada uma das etapas
necessárias para fazer com que o leitor compreenda, ou ao menos, forme uma base de
conhecimento para um entendimento global do trabalho apresentado}
2.1.1 Regras de Associação
A tarefa de descobrir regras de associação foi introduzida por Agrawal. Daí...
Tabela 1: Entrada de dados para a descoberta de regras de associação.
ID
1
2
3
4
5
6
7
8
9
10
LEITE
Não
Sim
Não
Sim
Não
Não
Não
Não
Não
Não
...
2.1.2 Classificação
CAFÉ
Sim
Não
Sim
Sim
Não
Não
Não
Não
Não
Não
CERVEJA
Não
Sim
Não
Não
Sim
Não
Não
Não
Não
Não
PÃO
Sim
Sim
Sim
Sim
Não
Não
Sim
Não
Não
Não
MANTEIGA
Sim
Sim
Sim
Sim
Não
Sim
Não
Não
Não
Não
ARROZ
Não
Não
Não
Não
Não
Não
Não
Não
Sim
Sim
FEIJÃO
Não
Não
Não
Não
Não
Não
Não
Sim
Sim
Não
-5-
É a tarefa mais estudada em KDD. Nessa tarefa cada tupla pertence a uma classe entre
um conjunto pré-definido de classes. A classe de uma tupla, ou registro, é indicada por um
valor especificado pelo usuário em um atributo meta, ou atributo objetivo.
2.2 FASES DE KDD
No processo de KDD cada fase pode possuir uma interseção com as demais. Desse
modo, os resultados produzidos numa fase podem ser utilizados para melhorar os resultados
das próximas fases. Esse cenário indica que o processo de KDD é iterativo, buscando sempre
aprimorar os resultados a cada iteração. Na execução do processo de KDD o usuário analisa
as informações geradas em cada fase e procura incorporar sua experiência de analista de
dados para obter cada vez mais melhores resultados.
2.2.1 Data Warehousing: Organização de grandes volumes de dados
O processo de KDD deve iniciar a construção de um Data Warehousing (DW).
...
2.2.1.1 OLAP: Processamento Analítico On-Line (On-Line Analytical Processing)
O Processo Analítico On-Line motiva-se pela necessidade de minerar conhecimento e
padrões em diferentes níveis de abstração através de análises multidimensionais dos dados, ou
seja, uma visão lógica dos dados.
...
-6-
2.2.2 Pré-processamento dos dados
...
2.2.2.1 Limpeza dos dados
A limpeza dos dados envolve uma verificação da consistência das informações, a
correção de possíveis erros e o preenchimento ou a eliminação de valores nulos e redundantes.
...
2.2.2.2 Seleção dos dados
Na seleção dos dados deseja-se escolher apenas atributos relevantes do conjunto de
atributos do banco de dados.
...
2.2.3 Enriquecimento dos dados
-7-
3 MINERAÇÃO DE DADOS
3.1 INTRODUÇÃO
Conforme mencionado no Capítulo 2, a mineração de dados é considerada a principal
fase do processo de KDD.
...
3.2 TÉCNICAS E ALGORITMOS PARA A MINERAÇÃO DE DADOS
A mineração de dados possui não só um amplo espectro de aplicações, mas também de
técnicas, algoritmos e procedimentos. Nas seções a seguir são mostrados, resumidamente, os
fundamentos das principais técnicas e a sua modelagem para a mineração de dados.
3.2.1 Redes Neurais Artificiais
3.2.1.1 Introdução às Redes Neurais Artificiais
Uma Rede Neural Artificial (RNA) é uma técnica computacional que constrói um
modelo matemático, emulado por computador, de um sistema neural biológico simplificado,
com capacidade de aprendizado, generalização, associação e abstração.
...
3.2.1.2 Modelagem de Redes Neurais Artificiais em Mineração de Dados
-8-
As principais aplicações de Redes Neurais em mineração são classificação, clustering,
aproximação de funções, previsão e verificação de tendências.
...
3.2.2 Algoritmos Genéticos
Algoritmos Genéticos são modelos estocásticos e probabilísticos de busca e otimização,
inspirados na evolução natural e na genética, aplicados a problemas complexos de otimização.
...
3.2.2.1 Introdução a Algoritmos genéticos
Um Algoritmo Genético (AG) é um modelo de otimização inspirado na teoria biológica,
mais precisamente, no conceito evolucionário da sobrevivência do mais apto, a seleção
natural.
...
3.2.2.2 Modelagem de Algoritmos Genéticos para a Mineração de Dados
Os AGs têm sido empregados em mineração de dados para as tarefas de classificação e
descrição de registros de uma base de dados, além da seleção de atributos de bases de dados
que melhor caracterizem o objetivo da tarefa de KDD proposta.
-9-
4 ESTUDO DE CASOS
...
- 10 -
5 CONCLUSÕES E TRABALHOS FUTUROS
5.1 CONCLUSÕES
O objetivo do trabalho apresentado foi mostrar, através da criação de um modelo
baseado em Algoritmos Genéticos, que para a fase de mineração de dados, parte fundamental
do processo de KDD, esse é mais um método viável para extração de conhecimento. Para isso
...
5.2 TRABALHOS FUTUROS
Algumas direções podem ser apontadas para a continuidade desse trabalho. Detalhes
sobre essas direções são fornecidas em seguida.
1. Criação de operadores genéticos mais afinados com o problema proposto, por
exemplo, um operador de incremento (CREEP).
2. Análise mais profunda sobre as funções de avaliação.
A criação de operadores genéticos mais afinados com o problema ajudará na
convergência da evolução genética e numa melhor qualidade das regras encontradas.
Este trabalho motivou o estudo de funções de avaliação em Algoritmos Genéticos
aplicados à Mineração de Dados. Entretanto, esse tópico por si só é motivo para outras
pesquisas, e após essa etapa agora finalizada, acredita-se que existam funções que sejam
- 11 -
“boas” em qualquer banco de dados e funções mais específicas para um determinado tipo de
base de dados.
- 12 -
REFERÊNCIAS BIBLIOGRÁFICAS
[PIAT91] G. Piatetsky-Shapiro. Knowledge discovery in real databases: A report on the
IJCAI-89 Workshop. AI Magazine, Vol. 11, No. 5, Jan. 1991, Special issue, 68-70.
{As referências são criadas inserindo notas de fim de arquivo personalizadas. O padrao
utilizado foi 4 letras do sobrenome e o ano da publicacao}
Download