"de dados e" "mineração de"

Propaganda
FUNDAÇÃO EDUCACIONAL DE FERNANDÓPOLIS
FACULDADES INTEGRADAS DE FERNANDÓPOLIS
LUCAS ADÃO ZANARDI
ESTUDO E APLICAÇÃO DE ALGORITMO DE DATA MINING
FERNANDÓPOLIS
2007
FUNDAÇÃO EDUCACIONAL DE FERNANDÓPOLIS
FACULDADES INTEGRADAS DE FERNANDÓPOLIS
LUCAS ADÃO ZANARDI
ESTUDO E APLICAÇÃO DE ALGORITMO DE DATA MINING
FERNANDÓPOLIS
2007
LUCAS ADÃO ZANARDI
ESTUDO E APLICAÇÃO DE ALGORITMO DE DATA MINING
Monografia apresentada às Faculdades Integradas de
Fernandópolis, Fundação Educacional de Fernandópolis,
como requisito para a obtenção do título de Bacharel em
Sistemas de Informação.
Orientador: Prof. Dr. Evandro Araújo Jardini
FERNANDÓPOLIS
2007
Autorizo a reprodução e divulgação total ou parcial deste trabalho, por qualquer meio
convencional ou eletrônico, para fins de estudo e pesquisa, desde que citada a fonte.
Catalogação na publicação
Serviço de Documentação Universitária
Fundação Educacional de Fernandópolis
Zanardi, Lucas Adão.
Data mining: estudo e aplicação de algoritmos de data mining;
orientador: Prof. Dr. Evandro de Araújo Jardini. Fernandópolis, 2007. 100
f.
Monografia (Graduação em Sistemas de Informação) Faculdades Integradas de Fernandópolis, Fundação Educacional de
Fernandópolis.
1. Dados. 2. Preparação, mineração. 3. Estudo de caso. I. Título.
FOLHA DE APROVAÇÃO
LUCAS ADÃO ZANARDI
Estudo e aplicação de algoritmos de data mining
Monografia apresentada às Faculdades Integradas de
Fernandópolis, Fundação Educacional de Fernandópolis,
como requisito para a obtenção do título de Bacharel em
Sistemas de Informação.
Examinadores:
___________________________________________
Prof.
Instituição: Faculdades Integradas de Fernandópolis
Curso: Sistemas de Informação
___________________________________________
Prof.
Instituição: Faculdades Integradas de Fernandópolis
Curso: Sistemas de Informação
Aprovada em: ___/___/2007
Dedicatória
A minha família, por tudo quanto me pôde proporcionar,
principalmente carinho e afeto, dedicação e
desprendimento, proteção e amor.
Agradecimentos
Primeiramente, agradeço a Deus por estar aqui realizando o
sonho da minha vida com saúde e força de vontade.
Um agradecimento especial a toda a minha família, em
especial aos meus pais, pela forma como me criaram e a
educação que me deram, fatores fundamentais que fizeram
de mim a pessoa que hoje sou.
Aos professores do curso de “Sistemas de Informação” que,
com seus ensinamentos, forneceram os estímulos e as
orientações necessárias para a elaboração deste trabalho.
Ao amor da minha vida, Simone, que tive o privilégio de
conhecer durante a faculdade e que se tornou papel principal
na minha história de vida.
Epígrafe
A maior parte das dificuldades que nos aparecem não
provém das decisões que tomamos, mas das que deixamos
de tomar. Quase sempre deixamos em segundo plano
muitas decisões que ficaram sem solução porque não nos
atrevemos a resolvê-las definitivamente. Desconfiamos de
nós mesmos, dos nossos pensamentos e, quase sempre
achamos mais conveniência ou comodidade em deixar de
fazer transferindo o ato “Para Amanhã”.
(Chamfort).
RESUMO
ZANARDI, L. A. Estudo e aplicação de algoritmos de data mining. 2007. 100 f.
Monografia (Graduação em Sistemas de Informação) - Faculdades Integradas de
Fernandópolis, Fundação Educacional de Fernandópolis, Fernandópolis-SP, 2007.
A informática, apesar dos grandes feitos que já realizou, ainda tem muito a contribuir à
humanidade. Além disso, sua crescente inserção em tarefas comuns do cotidiano leva
o ser humano a uma dependência sem fronteiras, pois, a cada ano, companhias
acumulam mais e mais informações em seus bancos de dados. Como conseqüência,
esses bancos de dados passam a conter verdadeiros tesouros de informação sobre
vários dos procedimentos dessas companhias. Desse modo, toda essa informação
pode ser usada em vários procedimentos, permitindo que a empresa detecte
tendências e características disfarçadas e reaja rapidamente a um evento que ainda
pode estar por vir. No entanto, apesar do enorme valor desses dados, a maioria das
organizações é incapaz de aproveitar totalmente o que está armazenado em seus
arquivos. Essa informação preciosa está na verdade escondida sob uma montanha de
dados e não pode ser descoberta utilizando-se sistemas de gerenciamento de banco de
dados
convencionais.
Felizmente,
recursos
e
técnicas
computacionais
foram
desenvolvidos para analisar os dados, ou mesmo ajudar o analista a encontrar ordem
no caos: conhecimento. A utilização desses recursos e técnicas para a exploração em
bases de dados possibilitou o surgimento do que se chama mineração de dados (Data
Mining). Portanto, data mining constitui-se de uma tecnologia capaz de automatizar
processos de busca por informações predictivas que podem estar ocultas dentro de um
amontoado de banco de dados ou relatórios gerenciais. Questões que tradicionalmente
exigem um extensivo trabalho de análise podem agora ser resolvidas nos dados, direta
e instantaneamente, pois as ferramentas de mineração de dados são implementadas
em sistemas de processamento de alta performance e podem analisar grandes bancos
de dados em questões de minutos. Através de um processamento mais rápido, iremos
executar simulações com diferentes modelos, compreendendo dados ainda mais
complexos, obtendo predições mais aperfeiçoadas.
Palavras chave: mineração de dados, algoritmos, tomada de decisão.
ABSTRACT
ZANARDI, L. A. STUDY AND APPLICATION OF ALGORITHMS OF DATA MINING
2007. 100 f. Monograph (Graduation in Information Systems) - “Fundação Educational
de Fernandópolis (FEF)”, Fernandópolis, SP, 2007.
Although Informatics has already done great deeds in the world, it still has a lot to
contribute to humanity. Moreover, its increasing insertion in common everyday tasks
make the human being dependent on it. This dependence is without limits because each
and every year companies accumulate more and more information in their databases.
As a consequence, these databases start to contain veritable treasures of information
on several procedures of those companies. Thus, all information can be used in several
procedures, allowing the company to detect tendencies and disguised characteristics as
well as react quickly to any event to come. However, in spite of the enormous value of
those data, most of the organizations are unable to take full advantage of what is stored
in their files. Such precious information is actually hidden under a mountain of data and
it cannot be discovered using conventional database management systems. Fortunately,
computer techniques and resources were developed to analyze the data or even to help
the analyst to find order in the chaos: knowledge. The use of those resources and
techniques for the exploration in bases of data made possible the appearance of the socalled mining of data (Data Mining). Therefore, data mining is a key technology in order
to automate search processes for predictive information which can be occult on medium
or large-scale databases or managerial reports. Issues, which traditionally require
extensive analysis work, can be direct and instantly resolved in the data now since the
data mining tools are implemented in high-performance processing systems and they
can analyze big databases in a few minutes. Through faster processing, we will execute
simulations using different models, understanding even more complex data and
obtaining more improved predictions.
keywords: Data Mining, algorithms, decision taking.
LISTA DE ILUSTRAÇÕES
Figura 1 – Visão geral dos passos que compõem o processo KDD ...............
26
Figura 2 – Detectando outliers com a técnica da análise de agrupamentos...
33
Figura 3 – Conversão de dados nominais para booleanos..............................
37
Figura 4 – Conversão de dados numéricos para booleanos...........................
37
Figura 5 – Conversão de dados numéricos para booleanos
(usando faixas de valores)..............................................................
37
Figura 6 – Conversão de dados ordinais para booleanos
(usando faixas de valores).............................................................
38
Figura 7 – Conversão de dados de ocorrência para booleanos......................
39
Figura 8 – Classificação como identificação do que é “parecido”
no espaço de atributos...................................................................
48
Figura 9 – Algumas formas de calcular distâncias..........................................
49
Figura 10 – Exemplos de classificação com paralelepípedos.........................
51
Figura 11 – Exemplos de classificação com paralelepípedos
(com problemas potenciais de classificação)...............................
54
Figura 12 – Exemplos de classificação com menor distância a protótipo........
55
Figura 13 – Arquivo ARFF com os resultados da mega sena
configurado para ser usado em técnicas de associação.............
81
Figura 14 – Regras de associação utilizando o algoritmo APRIORI,
verificando o atributo “NÃO”.......................................................
85
Figura 15 – Regras de associação com valor de mínima métrica
alterado para 0.93........................................................................
86
Figura 16 – Regras de associação com valor de mínima métrica
alterado para 0.04........................................................................
87
Figura 17 – Arquivo ARFF com os resultados da mega sena configurado
para ser usado em técnicas de clusterização..............................
89
Figura 18 – Atributos utilizados na técnica de clusterização ..........................
91
Figura 19 – Atributos utilizados na clusterização com a adição
do cluster como atributo...............................................................
91
9
9
Figura 20 – Dados exibidos de forma gráfica incluindo os clusteres
adicionados ................................................................................
92
Figura 21 – Apresentação do grupos com seus respectivos cálculos.............
94
Figura 22 – Apresentação dos clusters gerados utilizando
o atributo “ganhadores_sena”......................................................
96
Figura 23 – Apresentação dos clusters gerados utilizando o atributo
“dezena 1”....................................................................................
96
Figura 24 – Apresentação dos clusters gerados utilizando
os atributos “ganhadores_sena” e “mês” com cores
representando os clusteres.........................................................
97
LISTA DE TABELAS
Tabela 1 – Exemplo da base de dados com as transações de compras
dos clientes e conjunto de itens (produtos)....................................
67
Tabela 2 – Conjunto de itens tamanho1..........................................................
70
6
Tabela 3 – Conjuntos candidatos formados a partir dos conjuntos
freqüentes de tamanho 1..............................................................
71
Tabela 4 – Candidatos de tamanho 3, gerados a partir dos conjuntos
freqüentes de tamanho 2...............................................................
72
Tabela 5 – Candidatos formados a partir dos conjuntos freqüentes
de tamanho 2.................................................................................
73
Tabela 6 – Regras possíveis para cada um dos conjuntos freqüentes...........
74
Tabela 7 – Exemplo da base de dados com os respectivos concursos
e seu conjunto de itens (dezenas).................................................
83
Tabela 8 – Regras de associação e seus significados literais.........................
84
SUMÁRIO
INTRODUÇÃO.....................................................................................................
18
CAPÍTULO I: PREPARAÇÃO DOS DADOS......................................................
21
1.1 Conceito da mineração de dados...................................................................
1.2 Data warehouse.............................................................................................
1.3 Processo KDD................................................................................................
1.3.1 Modelagem da descoberta de conhecimento
de dados......................................................................................................
1.3.2 As fases e os processos do processo KDD................................................
1.3.2.1 A Preparação dos dados..........................................................................
1.3.2.2 Limpeza dos dados (data cleaning).........................................................
1.4 Integração de dados.......................................................................................
1.4.1 integração de diversas fontes de dados......................................................
1.5 Transformação dos dados..............................................................................
1.6 Seleção de dados...........................................................................................
1.6.1 Redução de dados......................................................................................
21
22
24
CAPÍTULO II: MINERAÇÃO DE DADOS............................................................
43
2.1 Objetivos primários da mineração de dados..................................................
2.2 Tarefas primárias da mineração de dados ...................................................
2.2.1 Classificação...............................................................................................
2.2.1.1 Classificação supervisionada...................................................................
2.2.1.2 Medidas de distância................................................................................
2.2.1.3 Conceitos adicionais................................................................................
2.2.1.4 Métodos da classificação supervisionada................................................
2.2.1.4.1 Método do paralelepípedo.....................................................................
2.2.1.4.2 Fase de classificação supervisionada...................................................
2.2.1.4.3 Características......................................................................................
2.2.1.5 Menor distância a protótipo......................................................................
2.2.1.5.1 Fase de treinamento.............................................................................
2.2.1.5.2 Fase de classificação............................................................................
2.2.1.5.3 Características......................................................................................
2.2.2 Agrupamento (clustering)............................................................................
2.2.2.1 Medidas de distância................................................................................
2.2.2.1.1 Métricas.................................................................................................
2.2.2.1.2 Tipos de agrupamentos.........................................................................
2.2.3 Associação..................................................................................................
2.2.3.1 Exemplo de aplicação de técnicas de associação...................................
2.2.3.2 Regras de associação..............................................................................
2.2.3.3 Algoritmo..................................................................................................
45
46
46
47
48
50
50
50
51
53
54
55
56
57
58
60
61
61
62
64
65
69
25
25
29
30
34
34
36
39
41
2.2.3.3.1 APRIORI – obtenção dos conjuntos
Freqüentes...........................................................................................
2.2.3.3.2 Geração de regras a partir dos conjuntos
de itens freqüentes...............................................................................
69
CAPÍTULO III: ESTUDO DE CASO....................................................................
77
3.1 Técnica de associação...................................................................................
3.1.1 Dados..........................................................................................................
3.1.2 Metodologia (associação)...........................................................................
3.1.3 Descoberta de regras de associação..........................................................
3.2 Técnica de clusterização................................................................................
3.2.1 Dados..........................................................................................................
3.2.2 Metodologia (clusterização)........................................................................
78
79
81
84
88
88
89
CONCLUSÃO......................................................................................................
99
REFERÊNCIAS BIBLIOGRÁFICAS....................................................................
100
73
INTRODUÇÃO
A informática, apesar dos grandes feitos de que já é capaz, ainda tem muito a
apresentar e a acrescentar à humanidade. E sua crescente inserção em tarefas comuns
do cotidiano leva o ser humano a uma dependência sem fronteiras, pois, a cada ano,
companhias acumulam mais e mais informações em seus bancos de dados.
A quantidade de informações armazenadas em banco de dados é muito grande
e ultrapassa a habilidade técnica e a capacidade humana na sua interpretação. Bancos
de dados são medidos hoje em gigabytes ou até mesmo em terabytes. A necessidade
de transformarem esses terabytes de dados em informações significativas é óbvia.
Como conseqüência, esses bancos de dados passam a conter verdadeiros
tesouros de informação sobre vários dos procedimentos dessas companhias. Toda
essa informação pode ser usada em vários procedimentos, permitindo que a empresa
detecte tendências e características disfarçadas e reaja rapidamente a um evento que
ainda pode estar por vir.
A necessidade de se obter lucro em sua atividade leva o homem a uma busca
incansável de informações que podem ser utilizadas como diferencial, ou até mesmo
representadas como aspectos decisivos na tomada de decisões bem sucedidas e
lucrativas.
O acesso privilegiado a algumas informações pode ser o ponto chave de um
negócio sólido e rentável e, provavelmente, com um índice mínimo de erros que
eventualmente seria um entrave na sua realização. Devido a tais aspectos, é dada uma
ênfase muito significativa à busca e ao manuseio correto da informação.
No entanto, apesar do enorme valor desses dados, a maioria das organizações
é incapaz de aproveitar totalmente o que está armazenado em seus arquivos. Essa
informação preciosa está na verdade escondida sob uma montanha de dados e não
pode ser descoberta utilizando-se sistemas de gerenciamento de banco de dados
convencionais (AMARAL, 2001).
Felizmente, recursos e técnicas computacionais foram desenvolvidos para
analisar os dados, ou mesmo ajudar o analista a encontrar ordem no caos:
conhecimento.
A utilização desses recursos e técnicas para a exploração em bases de dados
possibilitou o surgimento do que se chama mineração de dados (Data Mining).
Data Mining pode ser definido como um processo não-trivial de identificar, em
dados, padrões válidos, novos, potencialmente úteis e ultimamente compreensíveis.
Esse
processo
vale-se
de
diversos
algoritmos
(muitos
deles
desenvolvidos
recentemente) que processam os dados e encontram esses "padrões válidos, novos e
valiosos".
Os dados são extraídos dos sistemas operacionais e após limpeza e
transformação, são carregados no Data Warehouse. É importante ressaltar que nunca
se deve alterar no Data Warehouse as informações contidas nos sistemas operacionais
sob o pretexto de que ficarão mais corretas no Data Warehouse. Quaisquer alterações
de erros e processos devem ser feitas nos sistemas operacionais. O Data Warehouse
tem que refletir o sistema operacional e deve ser único, pois precisa ser a única versão
da verdade e não pode estar em conflito com o sistema operacional. O Data
Warehouse deve conter o máximo de detalhes possível e ser desenvolvido em
ferramentas especiais para isso, ou seja, banco de dados relacionais ou
multidimensionais. Não se confunda transformação com alteração de dados:
transformar significa somente alinhar os dados entre vários sistemas ou mesmo
aprontá-los para que sejam mais bem utilizados no Data Warehouse.
Os processos de limpeza, transformação e carga são interativos, pois os dados
são modelados, transformados, limpos e analisados até que possam ser carregados em
definitivo.
21
CAPÍTULO I
PREPARAÇÃO DOS DADOS
1.1 Conceito da mineração de dados
A crescente inserção da informática em tarefas comuns do cotidiano leva os
seres humanos a uma dependência sem fronteiras. A utilização de seus recursos para
a exploração em bases de dados possibilitou o surgimento do que se chama mineração
de dados (Data Mining).
Data Mining constitui-se, segundo Amaral (2001) de uma tecnologia capaz de
automatizar processos de busca por informações predictivas que podem estar ocultas
dentro de um amontoado de banco de dados ou relatórios gerenciais. Questões que
tradicionalmente exigem um extensivo trabalho de análise podem agora ser resolvidas
nos dados, direta e instantaneamente, pois as ferramentas do Data Mining são
implementadas em sistemas de processamento de alta performance e podem analisar
massivos bancos de dados em questões de minutos. Através de um processamento
mais rápido, os usuários podem executar simulações com diferentes modelos,
compreendendo dados ainda mais complexos, obtendo predições mais aperfeiçoadas.
22
1.2 Data Warehouse
No seu nível mais fundamental, Data Warehouse é um repositório de
informações para suportar decisões. Ele coleta dados a partir de diversas aplicações de
uma organização, integra os dados em áreas lógicas de assuntos de negócios,
armazena a informação de forma que ela fique acessível e compreensível a pessoas
não técnicas responsáveis pela tomada de decisão através da organização e de várias
ferramentas.
O desenvolvimento do Data Warehouse segue uma metodologia própria,
distinta da que é normalmente aplicada ao projeto de bancos de dados para fins
transacionais. Seu objetivo é casar as expectativas dos usuários em termos de análise
e tomada de decisão com os dados disponíveis. A modelagem adotada prioriza o
desempenho nas consultas, adotando modelos mais simples, a chamada modelagem
dimensional, ou esquema estrela. Sua construção inclui ainda a limpeza de dados, que
leva a um estado mais consistente dos dados utilizados para a tomada de decisão.
Por definição, um projeto de Data Warehouse tem por objetivo organizar os
dados operacionais de uma empresa em um local onde o ambiente operacional não
seja afetado, da melhor forma possível, para que possam ser aplicadas técnicas de
análise e extração de dados.
Devido à característica de se armazenarem dados operacionais, pode-se dizer
que um Data Warehouse é, na verdade, uma coleção de dados derivados dos dados
operacionais para sistemas de suporte a decisão. Tais dados derivados são, muitas
vezes, referidos como dados “gerenciais”, “informacionais” ou “analíticos”.
23
Um Data Warehouse armazena dados analíticos, destinados ás necessidades
da gerência no processo de tomada de decisões. Isso pode envolver consultas
complexas que necessitam acessar um grande número de registros, por isso é
importante a existência de muitos índices criados para acessar as informações da
maneira mais rápida possível. Um Data Warehouse armazena informações de maneira
histórica de muito anos e por isso deve ter uma grande capacidade de processamento e
armazenamento dos dados que se encontram de duas maneiras, detalhados e
resumidos.
Com base nesses conceitos, o Data Warehouse é um conjunto de técnicas e
bancos de dados integrados, projetados para suportar as funções do sistemas de apoio
a decisão, onde cada unidade de dados está relacionada a um determinado assunto, ou
fato (SANTOS, 2007). Esses bancos são os que darão subsídio de informações aos
gerentes e diretores da empresa, para analisarem tendências históricas dos seus
clientes e, com isso melhorarem os processos que aumentem a satisfação e fidelidade
dos mesmos.
Data Warehouses são construídos para que tais dados possam ser
armazenados e acessados de forma que não sejam limitados por tabelas e linhas
estritamente relacionadas. Os dados de um Data Warehouse podem ser compostos por
um ou mais sistemas distintos e sempre estarão separados de qualquer outro sistema
transacional, ou seja, deve existir um local físico onde os dados desses sistemas serão
armazenados.
Além disso, considera que os analistas precisam de informações para montar
seus planos táticos e estratégicos. Por exemplo, um sistema operacional, para
funcionamento, não precisa da taxa do dólar do ano passado; o analítico, porém, pode
24
querer avaliar a evolução do dólar diante do volume de compras de seus produtos e,
portanto, precisará uma informação (taxa do dólar) para a tomada de decisão.
1.3 Processo KDD
A mineração de dados pode ser considerada como uma parte do processo de
descoberta de conhecimento em banco de dados (KDD – Knowledge Discovery in
Databases). O termo KDD é usado para representar o processo de tornar dados de
baixo nível em conhecimento de alto nível, enquanto mineração de dados pode ser
definida como a extração de padrões ou modelos de dados observados, ou seja,
mineração de dados é a exploração e a análise, por meio automático ou semiautomático, de grandes quantidades de dados, a fim de descobrir padrões e regras
significativas.
Os principais objetivos da mineração de dados são descobrir relacionamentos
entre dados e fornecer subsídios para que possa ser feita uma previsão de tendências
futuras baseadas no passado.
Os resultados obtidos com a mineração dos dados podem ser usados no
gerenciamento da informação, processamento de pedidos de informação, tomada de
decisão, controle de processo e muitas outras aplicações.
A mineração de dados pode ser aplicada de duas formas: como um processo
de verificação e como um processo de descoberta. No processo de verificação, o
usuário sugere uma hipótese acerca da relação entre os dados e tenta prová-la
aplicando técnicas como análise estatística e multidimensional sobre um banco de
25
dados contendo informações passadas. No processo de descoberta não é feita
nenhuma suposição antecipada.
1.3.1 Modelagem da descoberta de conhecimento de dados – KDD
Pode-se dizer que o processo KDD é a descoberta de novos conhecimentos,
sejam padrões, tendências, associações, probabilidades ou fatos, que são óbvios ou de
fácil identificação.
O KDD é o processo de uso dos métodos de mineração de dados para extrair
conhecimento de acordo com a especificação de medidas e limites, aplicados à base de
dados com o pré-processamento exigido.
1.3.2 As fases e os passos do processo KDD
O processo KDD envolve duas grandes fases: preparação de dados e
mineração de dados. Essas fases possuem inúmeros passos, os quais envolvem um
número elevado de decisões a serem tomadas pelo usuário, ou seja, é um processo
interativo. É também um processo iterativo, pois, ao longo do processo KDD, um passo
será repetido tantas vezes quantas se fizerem necessárias para que se chegue a um
resultado satisfatório.
O processo KDD é também um processo multi-step (AMARAL, 2001), cujos
passos serão apresentados na figura 1:
26
Figura 1 Visão geral dos passos que compõem o processo KDD.
Fonte: Amaral, 2001, p. 14.
A fase de preparação de dados envolve os seguintes passos (AMARAL,
2001):
1. O primeiro é a definição do objetivo do problema, que é o conhecimento
desejado pelo usuário final, ou seja, é definido o tipo de conhecimento que se
deseja extrair do banco de dados. Nessa fase, é feito um reconhecimento da
aplicação e a verificação do conhecimento anterior;
2. O segundo passo é a criação de um conjunto de dados-alvo. Nessa fase,
seleciona-se um conjunto de dados ou focaliza-se um subconjunto de atributos
ou de instâncias de dados, em que a descoberta deverá ser efetuada. Muitas
vezes, o sucesso desse processo depende da correta escolha dos dados que
formam o conjunto de dados-alvo. Para isso, são usadas técnicas, linguagens,
ferramentas e comandos convencionais de banco de dados, como o SQL
(Structured Query Language);
3. O terceiro passo é a limpeza e o pré-processamento dos dados. Nesse caso,
deve-se fazer a limpeza dos dados, de maneira que os incorretos ou incompletos
27
sejam desprezados. Com isso, é feita uma purificação dos dados usando
operações básicas, como as de eliminação de ruído. Nela são coletadas as
informações necessárias para a modelagem e correção do ruído e para
estratégias de manipulação de campos de dados perdidos, considerando as
seqüências de informações de tempo e as mudanças de conhecimento;
4. O quarto passo é a redução e projeção de dados. Esse processo consiste em
encontrar as características úteis que representam as dependências dos dados
no objetivo do processo. Muitas vezes, pode não ser necessário representar
todas as faixas de valores de um determinado problema. Assim, podem-se
reagrupar esses valores em faixas mais abrangentes, de modo a diminuir o
número de faixas de valores e, conseqüentemente, a complexidade do problema.
Dando continuidade ao processo KDD a fase de mineração de dados envolve
os seguintes passos:
5. O quinto passo é a escolha das tarefas de mineração de dados. Nesse passo,
decide-se qual o objetivo do processo de mineração de dados. Os objetivos são
diversificados, tais como: classificação, regressão, clusterização etc.;
6. O sexto passo é a escolha dos algoritmos de mineração de dados. Nele, são
selecionados os métodos para serem usados na busca de padrões dos dados.
Isso inclui decidir que modelos e parâmetros são mais apropriados para a
aquisição do tipo de conhecimento desejado. Por meio da submissão dos dados
aos algoritmos de mineração de dados selecionados, chega-se ao conhecimento.
Esses passos, se usados corretamente, serão de grande ajuda para a etapa
seguinte;
28
7. O sétimo passo é a mineração de dados, que é caracterizada pela busca de
padrões de interesse em uma forma particularmente representativa ou em um
conjunto dessas representações. Como exemplos, podem-se citar: regras de
classificação, árvores de decisão, regressão, clusterização. Nesse passo, é
realizada a extração de informação dos dados até então processados;
8. O oitavo passo é a interpretação de padrões da exploração. Os dados de saída
definidos no passo anterior são analisados e interpretados pelos especialistas do
domínio. Caso seja necessário, pode-se repetir qualquer um dos sete passos
anteriores para se obter a correta interpretação dos padrões;
9. O nono passo é a consolidação do conhecimento descoberto. Trata-se,
portanto, da incorporação desse conhecimento no desempenho do sistema, na
documentação do conhecimento e no relatório para as partes interessadas.
Nesse passo, fazem-se também a verificação e a resolução de conflitos
potenciais com o prévio conhecimento extraído.
O processo KDD pode envolver interações significativas e retornar a qualquer
dos passos, independentemente da fase a que ele pertença. Apesar da seqüência
apresentada na figura 1 ser a mais comum, ela pode ser alterada. O maior trabalho esta
situado entre os processos um e quatro, pois nessas etapas os dados estão sendo
preparados para o processo de exploração, embora as demais sejam também
importantes para o sucesso da aplicação como um todo.
Com relação à eficiência desse processo, ela não deve sem medida em termos
de rapidez do processamento das conclusões. Para um processo KDD ser considerado
eficiente, o valor da informação encontrada deverá exceder o alto custo de sua
implementação e do processamento dos dados. Pode-se dizer que a eficiência do
29
processo tem uma relação custo beneficio elevada. Geralmente, os resultados de um
processo KDD têm alto valor estratégico.
1.3.2.1 A preparação dos dados
A fase de preparação dos dados (AMARAL, 2001) capta uma boa parte do
tempo do processo KDD, consumindo aproximadamente 70 por cento desse trabalho,
além de ser de grande importância. Nela são identificados os dados relevantes para a
solução satisfatória do problema. Na verdade, apenas ter os dados não é suficiente,
pois é necessário que eles estejam suficientemente corretos, adequados e tenham sido
corretamente selecionados para que preencham todas as características desejadas.
Mesmo assim, sempre existirá a pergunta: os dados existentes preenchem essas
características?
Outra característica importante é o tipo de armazenamento de dados usado. No
caso de processos informatizados, o armazenamento deve ser feito em arquivos ou
bancos de dados; no caso de processos não informatizados, em fichas ou anotações.
Independentemente do tipo de armazenamento dos dados utilizados, sua importância
continua sendo a mesma. Para que o processo KDD obtenha sucesso, é necessário
que os dados estejam disponíveis para o processamento e em condições de uso.
A quantidade de informações disponíveis deverá, sempre que possível, ser
excedente e não estar em falta, pois uma solução satisfatória exige todas as
informações importantes para a solução de um determinado problema. A falta de
informação pode dificultar e, em alguns casos, até mesmo impedir que se chegue a um
resultado confiável.
30
Somente a posse dos dados permite avaliar de forma confiável aqueles que
são realmente relevantes para a solução do problema proposto.
A quantidade de dados será definida de acordo com os métodos utilizados
durante o processo KDD.
Outro ponto a ser observado está relacionado à quantidade de dados para o
teste. Na totalidade dos dados, deve-se separar um terço para ser usado como dados
de teste. Esses dados devem ser cuidadosamente escolhidos para representar todas as
situações possíveis de serem encontradas. Em alguns casos, deve-se também separar
um terceiro conjunto de dados para a validação. Estes são utilizados para a realização
de um teste preliminar de verificação do desempenho do método de mineração de
dados antes de submetê-lo ao teste final.
1.3.2.2 Limpeza dos dados (data cleaning)
Os dados no mundo real tendem a ser incompletos, fora de padrões e
inconsistentes. As rotinas de limpeza de dados empreendem esforços no sentido de
preencher os valores ausentes, aplainar dados enquanto identificam valores fora de
padrões e corrigem inconsistências nos dados.
Na realidade, os dados fornecidos pelo cliente sempre têm problemas. Uma
vez que a procedência dos dados não é muito confiável, trazendo campos não
preenchidos em registros, erros de entrada de dados, entre outros, o processo KDD
não pode ter sucesso sem um esforço para purificá-los. Portanto, o trabalho necessário
para colocar esses dados de forma a serem usados deve ser considerado.
A limpeza dos dados é, na realidade, um processo ambíguo. Devido à baixa
qualidade dos dados, um cuidado especial deve ser tomado para não confundir um
31
fenômeno interessante do domínio com uma anomalia ocasional. Em outras palavras, o
que parece ser uma anomalia ocasional dispensável pode vir a ser a chave dos pontos
centrais.
Por exemplo, enquanto os pagamentos das parcelas do empréstimo são
analisados, pode-se eliminar a loja recebedora que nada recebeu, pois as outras lojas
receberam muito, desde que se atribua um valor zero ao problema da qualidade dos
dados. Por outro lado, não se pode esquecer que, em algumas instâncias, a loja com
recebimento zero pode conduzir a um conhecimento sobre determinadas condições que
a tornem não funcional, embora isso possa ser uma limpeza correta dos dados. Podemse remover todas as transações vazias de uma base de dados. Entretanto, registros
vazios são cruciais para medir a produtividade do encarregado do caixa e, algumas
vezes, ajudam a localizar as fraudes.

Valores ausentes
Valores ausentes se caracterizam (SANTOS, 2007) por existirem em diversas
tuplas (ou registros) atributos (campos) que não possuem valores armazenados, os
quais podem ser importantes para o processo de mineração de dados. Como exemplo,
o atributo rendimento em uma instância de uma entidade cliente. A seguir serão
apresentados alguns métodos que podem ser utilizados para preencher valores a esses
atributos:
1. Ignorar o registro – usualmente utilizada quando o conteúdo da variável está
ausente. Não é muito efetivo, a menos que a tupla possua muitos atributos com
valores ausentes. É especialmente pobre quando o percentual de valores
ausentes varia consideravelmente;
32
2. Preencher o valor manualmente – em geral essa abordagem consome muito
tempo e pode não ser possível em grandes bases de dados com muitos valores
ausentes;
3. Usar uma constante global para preencher os valores ausentes – atualizar todos
os valores ausentes com um único valor constante. Embora simples, não é muito
recomendado;
4. Utilizar um atributo médio pertencente à mesma classe à qual a tupla pertença utilizado quando o atributo é do tipo numérico e seu significado é passível de
utilização de um valor médio. Calcular valores médios do atributo em estudo
segundo os valores (classificação) de um outro atributo (por exemplo, profissão
do cliente) e atribuir esse valor a todos os valores ausentes do atributo (por
exemplo, rendimento do cliente), segundo a classificação do atributo;
5. Utilizar o valor de maior probabilidade para preencher os valores ausentes - este
valor pode ser determinado através da aplicação de uma técnica de regressão,
ferramentas de inferência básica, utilizando um formalismo bayesiano ou indução
por árvores de decisão. Por exemplo, utilizar outros atributos do conjunto de
dados de clientes para construir uma árvore de decisão para predizer seu
rendimento.
A utilização de outros atributos na estimação dos valores ausentes, nos dá
uma grande chance de preservar o relacionamento entre o atributo estimado e os
demais atributos utilizados no processo de estimação.

Valores fora de padrão
Noisy data (valores extremos) são um erro aleatório ou uma variação
acentuada na medição de uma variável. Ocorrem em varáveis numéricas do tipo
33
rendimento, faturamento etc., que precisam ser aplainadas, retirando-se erro de
medição. A seguir são apresentados alguns métodos que podem ser utilizados para
corrigir esses valores:
1. Binning – esse método ordena os valores do atributo para utilizar o conceito de
vizinhança entre os dados. Após a ordenação os valores são distribuídos por
grupos, e cada grupo deverá ter o mesmo número de elementos (valores). Em
cada grupo aplica-se um critério na escolha de uma medida para ajustar os
valores dos grupos, tais como as medidas aritméticas, a mediana ou um valor de
limite. Assim, substituem-se os valores pelas medidas calculadas em cada grupo,
ajustando, assim, os valores da série. Diversos métodos podem ser utilizados
para ajustar os valores dos grupos.
2. Agrupamento (clustering) - Outliers podem ser detectados quando valores
similares são organizados em grupos ou clusters. Intuitivamente, valores que
estão fora dos clusters podem ser considerados como outliers. A figura 2 mostra
a aplicação da técnica de agrupamento para detecção de outliers.
Figura 2 Detectando outliers com a técnica da análise de agrupamentos. Seleção do
autor.
Fonte: WECA, 2007.
34
3. Combinação de inspeção humana e computador - outliers podem ser
identificados através da combinação de inspeção humana e do uso do
computador. Em uma aplicação, uma medida teórica pode ser utilizada para
ajudar a identificar padrões de outliers. Uma vez identificados os padrões de
outliers e sendo considerados lixo, podem ser excluídos da utilização na etapa
de mineração de dados;
4. Regressão – dados podem ser ajustados por funções de ajustamentos de dados,
tais como funções de regressão. Regressão linear busca encontrar a melhor
linha de ajustamento para duas variáveis, desde que uma possa ser estimada
(predita) pela outra. Regressão linear múltipla é uma extensão da regressão
linear, onde duas ou mais variáveis são envolvidas e os dados combinados numa
superfície (plano) multidimensional.

Dados inconsistentes
Pode haver inúmeras inconsistências nos dados armazenados. Alguns dos
dados inconsistentes são corrigidos manualmente utilizando referências externas, como
erros causados por entrada de dados manual. Ferramentas de software de engenharia
de conhecimento podem também ser utilizadas para detectar violações nas restrições
de integridades dos dados, tais como funções de dependência entre atributos. Podem,
também, existir inconsistências causadas por integrações de dados, onde um atributo
pode possui nomes diferentes em seus bancos de dados. Podemos ter redundância
dos dados.
1.4 Integração de dados
35
O processo de mineração de dados freqüentemente requer a integração (união,
consolidação, fusão) de várias bases de dados. Nesse processo, provavelmente,
também existirá a necessidade de transformar os dados integrados em um formato
apropriado para o processo de mineração de dados.
1.4.1 Integração de diversas fontes de dados
A integração de dados geralmente envolve a combinação de várias fontes de
dados em um único armazenamento coerente, semelhante as bases de dados
geradas no processo de construção de um data warehouse. Essas fontes de dados
podem incluir vários bancos de dados, arquivos textos, flat files entre outros tipos de
armazenamento. Existem, segundo Santos (2007), três pontos importantes na
integração de esquemas:

Integração de esquemas internos – diversas entidades do mundo real podem
ser semelhantes e estarem definidas em diversos esquemas com nomes e
atributos diferentes, recaindo num problema típico de identificação de
entidades. Quando se têm apenas bancos de dados operacionais e/ou data
warehouses para integração, essa atividade se torna mais fácil, uma vez que
esses armazenamentos devem possuir metadados, os quais ajudam a evitar
esse tipo de problema.

Redundância de dados - um atributo pode ser redundante se ele puder ser
derivado de outro armazenamento (tabela), tal como o atributo agregado
salário anual. Inconsistências em atributos ou nome de dimensões (salário,
salário anual etc.) podem ser a causa de redundância em conjunto de dados.
Uma técnica muito interessante para verificar redundância em conjunto de
36
dados é a utilização da análise de correlação, a qual medirá o quanto dois
atributos são correlatos. A redundância no atributo também pode ser
identificada através da geração de registros (tuplas) idênticos gerados numa
mesma entrada de dados.

Detecção e resolução de valores conflitantes - para as mesmas entidades do
mundo real, os valores dos atributos podem diferir em diversas fontes de
dados. Preços de produtos, diárias de hotéis, salários de empregados etc.,
numa mesma empresa, podem ser registrados em unidades e moedas
diferentes, incluindo ou não parcelas de valores tais quais impostos ou taxas.
A heterogeneidade semântica dos dados pode causar grandes desafios na
integração dos dados.
Outros fatores como os vários formatos de armazenamento dos dados, tais
como armazenamentos e bancos de dados relacionais, de rede e hierárquico, arquivos
textos, campos fixos e variáveis, entre outros formatos irão afetar a forma como se
recuperam e integram os dados. A variedade dos sistemas operacionais e plataformas
de hardware também são fatores que dificultam o acesso aos inúmeros protocolos para
a recuperação e integração dos dados.
Os cuidados na integração dos dados oriundos de várias fontes podem ajudar
a reduzir e evitar redundâncias e inconsistências no resultado do conjunto de dados
gerado na integração.
Certamente irá melhorar a precisão dos resultados e a velocidade das fases
subseqüentes dos processos de garimpagem.
1.5 Transformação dos dados
37
Se houver atributos cuja representação deva ser modificada, podem-se fazer
algumas manipulações nos dados para o melhor processamento (SANTOS, 2007).
Têm-se, como exemplo, os dados do problema “jogar golfe”:
Figura 3 Conversão de dados nominais para booleanos.
Fonte: Santos, 2007, p. 4 (dm02).
Um outro exemplo de transformação ilustra a “normalização” de uma base de
dados de ocorrência de eventos:
Figura 4 Conversão de dados numéricos para booleanos.
Fonte: Santos, 2007, p. 5 (dm02).
Figura 5 Conversão de dados numéricos para booleanos (usando faixas de valores).
Fonte: Santos, 2007, p. 5 (dm02).
38
Figura 6 Conversão de dados ordinais para booleanos (usando faixas de valores).
Fonte: Santos, 2007, p. 6 (dm02).
Loja Caixa
03
05
03
05
03
06
03
05
Transação
011672
011673
010169
011674
01
01
01
03
01
03
01
14
14
13
05
14
05
14
003752
003758
003001
011685
003764
011688
003765
03
06
010188
Compras
‘Pão francês’
‘Pão francês’
‘Pão francês’
‘Pão francês’,‘Pimentão’,’leite
Pasteurizado’,‘Danone’,’adoçante’
‘Pão francês’,’Leite pasteurizado’
‘Coca-cola’,‘Pão francês’,’Leite pasteurizado’
‘Leite pasteurizado’,‘Pão francês’
‘Pão francês’,‘Pão francês’
‘Açúcar União’,’Feijão Taruma’,‘Pão francês’
‘Pão francês’
‘Biscoito triunfo’,’Bisc. Bauducco’,‘Pão
francês’,’açúcar refinado’,’Mortadela Marba’
‘Pão francês’,‘açúcar refinado’
39
Loja
03
03
03
03
01
01
01
03
01
03
01
Caixa
05
05
06
05
14
14
13
05
14
05
14
Trans.
001672
011673
010169
011674
003752
003758
003001
011685
003764
011688
003765
PF
FLVPV
LPSS
DDC
ADML
RFCC1
LPPT
ARU
FPT1
T
T
T
T
T
T
T
T
T
T
T
F
F
F
T
F
F
F
F
F
F
F
F
F
F
T
T
F
F
F
F
F
F
F
F
F
T
F
F
F
F
F
F
F
F
F
F
T
F
F
F
F
F
F
F
F
F
F
F
F
T
F
F
F
F
F
F
F
F
F
F
T
T
F
F
F
F
F
F
F
F
F
F
F
T
F
F
F
F
F
F
F
F
F
F
T
F
F
F
...
Figura 7 Conversão de dados de ocorrência para booleanos.
Fonte: Santos, 2007, p. 6 (dm02).
A segunda parte da tabela 7 mostra que ocorrências existiam como booleanos.
Outra possível forma de transformar a primeira parte da tabela seria contar o número de
itens ao invés de simplesmente indicar a existência.
É importante observar que transformações em dados devem ser feitas
considerando que tipo de dados podem ser entrados em um determinado algoritmo e
qual é o significado da mudança do tipo de dado. Quem deve responder essa segunda
pergunta é quem conhece os dados e pode estimar o impacto da transformação.
1.6 Seleção de dados
Nesta etapa serão identificados todos os dados necessários para o processo
de mineração de dados. Vale a pena ressaltar que esta etapa, acorrendo após a etapa
de integração, possibilita a seleção somente do conjunto de dados que possa ser
40
efetivamente utilizado e cuja integração já garantiu a coerência entre as diversas fontes
de dados utilizados.
Uma vez preparados e transformados os dados para um formato padrão, a
expectativa para a mineração de dados é muito grande. Para uma quantidade de dados
moderada, a tabela já está pronta para que se faça a exploração, mas para uma grande
amostra existe um passo intermediário, a redução de dados, que deve ser seguido
antes da aplicação de programas de pré-elaboração (SANTOS, 2007).
Muitas vezes a tabela usada tem mais de cem campos, mas apenas 10 deles
são usados para uma decisão. A seleção dos dados a serem utilizados no processo
KDD deve ser feita de forma que somente os dados não relevantes sejam retirados. É
muito importante a identificação correta dos dados relevantes. No caso de uma análise
incorreta no decorrer do processo, os dados descartados podem ser necessários
posteriormente.
O objetivo da seleção de atributos é encontrar um subconjunto de atributos
com desempenho editável comparável ao conjunto original. Dado um conjunto de
atributos m, o número de subconjuntos a serem analisados é finito, e o procedimento
que procura encontrar a solução é feito sempre com base no conjunto original. Os
resultados são avaliados, e o subconjunto de atributos com o melhor desempenho é
selecionado. Entretanto, há dificuldades óbvias nessa abordagem:

Para uma quantidade grande de atributos, o número de subconjuntos que
pode ser enumerado é algo impossível de ser manipulado;

O padrão de uma avaliação é o erro encontrado. Para uma vasta amostra, a
maioria dos métodos editáveis gasta muito tempo para encontrar uma
solução e estimar o erro.
41
Diversas abordagens têm sido descritas para filtrar ou transformar atributos em
um conjunto menor. A idéia de separar seleção de atributos de pré-elaboração foi
criada pelo fato de o espaço de busca e o tempo computacional gasto serem bastante
diferentes de uma tarefa para outra. Os métodos lógicos apresentam uma perspectiva
inovadora para a seleção de atributos, constituindo-se em um processo dinâmico e
coordenado pela busca de soluções. Esses particionam os dados em grupos de casos
menores, examinando os valores dos atributos, porém em ordem não randômica. Têmse duas tarefas essenciais para o desempenho desses métodos:

Ordenar os valores;

Analisar o erro para cada valor.
Com uma quantidade de dados moderada, a ordenação de valores não é um
processo complexo. Já com o uso de uma amostra maior, a ordenação desses valores
torna-se uma tarefa árdua. Os outros métodos, entretanto, são estatísticos, pois o
aprendizado é feito separadamente da seleção.
1.6.1 Redução de dados
Redução de dados é uma técnica que pode ser aplicada para obtenção de uma
representação reduzida (compactada) de um conjunto de dados, muito menor em
volume, mantendo a integridade do conjunto de dados original. Garimpar nesse
conjunto de dados reduzidos pode produzir resultados mais eficientes do que no
conjunto de dados originais. Podem-se aplicar, conforme propõe Santos (2007) as
seguintes técnicas para a redução de dados:
42

Agregação de dados em cubo - operações de agregação de dados são
aplicadas para a construção de cubos de dados (estrutura multidimensional
para análise de dados);

Redução de dimensão – atributos ou dimensões irrelevantes, fracos ou
redundantes são identificados e retirados;

Compressão de dados – mecanismos de codificação são aplicados para
reduzir o tamanho do conjunto de dados;

Redução de numerosidade – dados são alterados ou estimados por valores
alternativos,
menores
representações
de
dados
tal
como
modelos
paramétricos ou métodos não paramétricos tais como clustering, amostras e
uso de histogramas;

Discretização e geração de conceitos hierárquicos – valores de atributos em
linhas ou registros são alterados por intervalos ou níveis de conceitos mais
elevados. Conceitos hierárquicos permitem a garimpagem de dados em
vários níveis de abstração e são fortemente utilizados em ferramentas de
mineração de dados.
43
CAPÍTULO II
MINERAÇÃO DE DADOS
A etapa de mineração de dados envolve as fases de identificação dos objetivos
da mineração (sua funcionalidade), a identificação da melhor técnica e da abordagem
da aplicação de seus processos, ou seja, mineração de dados é o processo de busca
de relacionamentos e padrões globais existentes nas bases de dados (CARVALHO,
2005).
Devido à grande quantidade de dados dos sistemas de bancos de dados
atuais, esses relacionamentos estão escondidos, mas representam o valioso
conhecimento e seus objetos nos bancos de dados existentes.
Os bancos de dados devem representar um espelho sincero do mundo real
registrado.
A definição de mineração de dados aceita por diversos pesquisadores foi
elaborada como sendo: “Extração de conhecimento de base de dados é o processo de
identificações válidas, potencialmente úteis e compreensíveis embutidos nos dados”
(SANTOS, 2007).
Para se compreender melhor o conteúdo dessa definição, ainda referindo
Santos (2007), deve-se olhar individualmente cada componente seu:
44

Dados – conjunto de fatos ou casos em que há um repositório de
dados. Por exemplo, os dados correspondem aos valores dos campos
de um registro de vendas em uma base de dados qualquer;

Padrões – denotam alguma abstração de um subconjunto dos dados
em alguma linguagem descritiva de conceitos;

Processo – a extração de conhecimento da base de dados envolve
diversas etapas como a preparação dos dados, busca por padrões e
avaliação do conhecimento;

Válidos - os padrões descobertos devem possuir algum grau de
certeza, ou seja, devem satisfazer funções ou limiares que garantam
que os exemplos cobertos e os casos relacionados ao padrão
encontrado sejam aceitáveis;

Novos – um padrão encontrado deve fornecer novas informações
sobre os dados. O grau de novidade serve para determinar quão novo
ou inédito é um padrão. Pode ser medido por meio de comparações
entre as mudanças ocorridas nos dados ou no conhecimento anterior;

Úteis – os padrões descobertos devem ser incorporados para serem
utilizados;

Compreensíveis - um dos objetivos de se realizar a mineração dos
dados é encontrar padrões descritos em alguma linguagem que pode
ser compreendida pelos usuários, permitindo uma análise mais
profunda nos dados;
45

Conhecimento – é definido em termos dependentes do domínio
relacionados fortemente com medidas de utilidade, originalidade e
compreensão.
O processo de extração de conhecimento tem o objetivo de encontrá-lo a partir
de um conjunto de dados para ser utilizado em um processo decisório. Portanto, um
requisito importante é que esse conhecimento descoberto seja compreensível a
humanos, além de útil e interessante para os usuários finais do processo, que
geralmente são tomadores de decisão, de forma que ele forneça um suporte a esses
usuários no processo de decisão.
2.1 Objetivos primários da mineração de dados
Os objetivos primários da mineração de dados, na prática, são: a descrição e a
pré-elaboração.
Na descrição, encontram-se os padrões de interpretação humana a partir da
descrição dos dados. Como exemplo, a produção de determinado cereal na última
colheita pode ser apontada a partir de um conjunto de dados armazenados. Nesse
caso, o valor da produção pode ou não ser confinado prontamente.
Por pré-elaboração entende-se a utilização de algumas variáveis ou campos na
base de dados para predizer o desconhecido ou valores futuros em variáveis de
interesse. Como exemplo, tem-se a previsão da produção do mesmo cereal na próxima
colheita a partir do conjunto de dados usado na descrição. Como a produção só será
determinada no final da colheita, esse dado não pode ser confirmado de imediato.
46
A importância de cada uma dessas definições varia consideravelmente com a
aplicação em questão.
Independentemente dos objetivos primários da mineração de dados, as tarefas
primárias são as mesmas.
2.2 Tarefas primárias da mineração de dados
A mineração de dados necessita basicamente de técnicas (tarefas) para a sua
realização. Essas tarefas são de caráter genérico e podem ser implementadas através
de ferramentas diferentes como redes neuronais artificiais, estatística ou inteligência
artificial simbolista. São apresentadas muitas técnicas básicas, mas cinco delas
abraçam didaticamente todas as outras formas de apresentação e permitem uma visão
mais global e aproximada para uma introdução ao assunto.
2.2.1 Classificação
Para Carvalho (2005), a classificação é uma das mais utilizadas técnicas do
data mining, simplesmente porque é uma das mais realizadas tarefas cognitivas
humanas no auxílio à compreensão da ambiente em que vivemos. O ser humano está
sempre classificando o que percebe à sua volta: criando classes de relações humanas
diferentes (colegas de trabalho, amigos, familiares etc.) e dando a cada classe uma
forma diferente de tratamento, formada de protocolos de comportamento em diferentes
ambientes, definindo as classes sociais, estabelecendo preconceitos e tratando as
pessoas segundo esses estereótipos, entre outras formas de classificação. O homem,
ao receber qualquer estímulo do meio-ambiente e preparando-se para uma resposta a
47
ele, busca, por analogia, classificar esse estímulo em categorias de outros estímulos já
recebidos no passado e para os quais possui uma resposta pronta e imediata. Assim,
não precisa produzir laboriosamente cada resposta aos estímulos do ambiente a cada
instante, pois possui classes de estímulos com suas respostas estereotipadas
construídas no passado e prontas para o uso. Como o mundo físico nada é exatamente
igual, por mais semelhante que pareça, para se criarem classes, é preciso afrouxar as
exigências de igualdade e permitir que detalhes sejam desprezados, e somente as
características principais sejam observadas. A tarefa de classificar normalmente exige a
comparação de um objeto ou dado com outros dados ou objetos, que supostamente
pertençam a classes anteriormente definidas. Para comparar dados ou objetos, utilizase uma métrica ou forma de medidas de diferenças entre eles.
No data mining são comuns às tarefas de classificação de clientes em baixo,
médio ou alto risco de empréstimos bancários, de clientes potencialmente
consumidores de um determinado produto a julgar pelo seu perfil, de transações
financeiras como legais, ilegais ou suspeitas em sistemas de proteção e fiscalização do
mercado financeiro internacional, de ações de bolsas de valores com lucros potenciais
baixos, médios e altos, entre outras.
2.2.1.1 Classificação supervisionada
Na classificação supervisionada, já se sabem quantas classes se têm no
problema, com amostras rotuladas que permitem o treinamento do classificador.
Nessa fase, já se tem uma idéia de como a diferença entre as classes pode ser
modelada, por exemplo, através da análise do espaço de atributos.
48
Essa
classificação
conta
com
algoritmos
que
podem
criar
funções
discriminantes ou métodos que permitem indicar, para os dados de uma instância, à
qual classe eles devem pertencer. Os modelos, classificadores, atributos, parâmetros a
serem usados dependem da tarefa em questão, pois, dependendo da complexidade de
espaço de atributos, têm-se algoritmos simples e rápidos, e complexos e lentos.
2.2.1.2 Medidas de distância
Algoritmos para treinamento e classificação envolvem o cálculo de uma
distância entre dois ou mais pontos no espaço de atributos (com isso, identifica-se o
que é “parecido” no espaço de atributos).
Algumas medidas de distância (entre a origem e o ponto em questão), segundo
Santos (2007), são:

Distância manhattan ou City block - soma das distâncias, calculadas no
espaço de atributos, entre cada atributo da origem e do ponto em
questão. Simples e rápida para calcular, pode ter pouca precisão;
Figura 8 Classificação como identificação do que é “parecido” no espaço de atributos.
Fonte: Santos, 2007, p. 4 (dm03).
49

Distância
euclidiana
–
distância
mínima
entre
os
dois
pontos
considerando todas as coordenadas do espaço de atributos. Simples de
calcular, pode ser acelerada se o cálculo for somente para comparação;

Distância de Mahalanobis ou máxima verossimilhança – distância
calculada considerando o espalhamento dos dados, inclusive orientação
de amostras de uma determinada classe. Deve ser calculada entre um
ponto e um conjunto de amostras.
Figura 9 Algumas formas de calcular distâncias.
Fonte: Santos, 2007, p. 4 (dm03).
As medidas de distância são simples. Podem-se considerar algumas extensões
e exceções:

Se todos os atributos forem numéricos e da mesma dimensão/magnitude,
podem-se usar as medidas da forma como estão;

Se alguns atributos forem nominais ou ordinais, o pré-processamento poderá ser
necessário.
Ainda
como
alternativa,
regras
(condicionais, pesos etc.) podem ser usadas;
de
cálculo
de
distâncias
50

Pesos para diferentes atributos podem ser usados.
2.2.1.3 Conceitos adicionais
O treinamento de um classificador supervisionado pode gerar assinaturas
(conjunto de valores que caracterizam uma classe no espaço de atributos), regras
(conjunto de condições para determinar se uma instância pertence a uma classe),
protótipos (exemplos de instâncias, reais ou não, que representam uma classe).
Vale a pena lembrar que as instâncias serão usadas no treinamento e para a
classificação em si. As instâncias usadas devem conter rótulos das classes conhecidas,
e as classes usadas para a classificação terão seus rótulos de classes determinados
pelo algoritmo.
Para se obterem resultados mais precisos, uma instância pode ser rejeitada
pelo classificador se o resultado não for satisfatório (depende do algoritmo e da
implementação).
2.2.1.4
Métodos da classificação supervisionada
2.2.1.4.1 Método do paralelepípedo
Santos (2007) refere que o método de classificação supervisionada precisa de
amostras ou instâncias com classes ou rótulos.Usa limiares ou extremos dessas como
assinaturas, compara atributos de uma instância para ver se estão dentro dos limiares e
resolve as classes.
A figura 10 ilustra a classificação pelo método paralelepípedo. Usando os
dados da figura, pode-se considerar que a instância pertence à classe lilás se o seu
atributo 1 está entre a e b e o seu atributo 2 está entre c e d, e que uma instância
51
pertence à classe verde se o atributo 1 está entre e e f e o seu atributo 2 está entre g e
h.
Figura 10 Exemplos de classificação com paralelepípedos.
Fonte: Santos, 2007, p. 6 (apostila 03).
Verifica-se, então, quais são os valores extremos para cada classe e para cada
atributo.
Armazenam-se como assinaturas os valores extremos por classe e atributos,
para se verificar a qualidade, reclassificam-se os dados usados para criar as
assinaturas com os extremos criados.
2.2.1.4.2 Fase de classificação supervisionada
Para essa fase, consideram-se os seguintes critérios:

Para cada instância com classe desconhecida, verifica-se se os valores
dos atributos estão contidos nos extremos para a classe, marcando a
classe como sendo selecionável;
52

Se somente uma classe for selecionável, ela será escolhida; caso
contrário, usa-se um critério de desempate ou rejeição.
Assinaturas:
IRÍS-SETOSA:
Comprimento da sépala entre 4.3 e 5.8
Largura da sépala entre 2.3 e 4.4
Comprimento da pétala entre 1.0 e 1.9
Largura da pétala entre 0.1 e 0.6
IRÍS-VERSICOLOR:
Comprimento da sépala entre 4.9 e 7.0
Largura da sépala entre 2.0 e 3.4
Comprimento da pétala entre 3.0 e 5.1
Largura da pétala entre 1.0 e 1.8
IRÍS-VIRGINICA:
Comprimento da sépala entre 4.9 e 7.9
Largura da sépala entre 2.2 e 3.8
Comprimento da pétala entre 4.5 e 6.9
Largura da pétala entre 1.4 e 2.5
Classificação:
Amostra 1: classe original é Iris-setosa Iris-setosa
Amostra 2: classe original é Iris-setosa Iris-setosa
Amostra 3: classe original é Iris-setosa Iris-setosa
...
Amostra 49: classe original é Iris-setosa Iris-setosa
Amostra 50: classe original é Iris-setosa Iris-setosa
Amostra 51: classe original é Iris-versicolor: múltiplas classes:
Iris-versicolor Iris-virginica
53
Amostra 52: classe original é Iris-versicolor: múltiplas classes:
Iris-versicolor Iris-virginica
Amostra 53: classe original é Iris-versicolor: múltiplas classes:
Iris-versicolor Iris-virginica
Amostra 54: classe original é Iris-versicolor Iris-versicolor
...
Amostra 98: classe original é Iris-versicolor Iris-versicolor
Amostra 99: classe original é Iris-versicolor Iris-versicolor
Amostra 100: classe original é Iris-versicolor Iris-versicolor
Amostra 101: classe original é Iris-virginica Iris-virginica
...
Amostra 148: classe original é Iris-virginica Iris-virginica
Amostra 149: classe original é Iris-virginica Iris-virginica
Amostra 150: classe original é Iris-virginica: múltiplas classes:
Iris-versicolor Iris-virginica
Classificações corretas: 124
Classificações incorretas: 0
Classificações múltiplas: 26
Classificações que não puderam ser feitas: 0
2.2.1.4.3 Características
Entre elas destacam-se:

Método simples e rápido;

Usa cortes ortogonais no espaço de atributos para determinar regiões para
classificação. As regiões são hiperparalepípedas;

As assinaturas geradas são facilmente compreensíveis, semelhantes a um
sistema especialista;
54

Rejeição pode ocorrer se a instância não pertencer a nenhum dos
hiperparalepípedos correspondentes às classes;

Atributos nominais e ordinais podem ser usados diretamente (comparação de
ordinais e numéricos com > , >= , < , <=, e de nominais categóricos como = e ≠ );

Pesos na comparação são facilmente implementados;

Interoperabilidade com sistemas especialistas e árvores de decisão;

Pode causar problemas de classificação, pois é possível que instâncias sejam
pertencentes a mais de um hiperparalelepípedo. Na figura 11, tem-se uma classe
cujo paralelepípedo está praticamente dentro do de outra classe.
Figura 11 Exemplos de classificação com paralelepípedos (com problemas potenciais de
classificação).
Fonte: Santos, 2007, p. 8 (apostila 3).
2.2.1.5
Menor distância a protótipo
Outro método simples de classificação supervisionada que usa a mínima
distância euclidiana é o protótipo de uma classe como assinatura.
55
Comparando-se atributos de uma instância com o protótipo mais próximo
(considerando a distância euclidiana), indica-se a classe.
A figura 12 ilustra a classificação pelo método da menor distância a protótipo.
Para cada classe tem-se um protótipo (neste exemplo, o ponto central ou médio das
instâncias reconhecidas como sendo de cada classe). Considera-se que uma instância
pertence a uma classe X se a distância euclidiana entre a instância e o protótipo da
classe X for menor que as distâncias entre a instância e os protótipos das outras
classes.
Figura 12 Exemplos de classificação com menor distância a protótipo.
Fonte: Santos, 2007, p. 9 (apostila 3).
2.2.1.5.1
Fase de treinamento
Para se caracterizar tal fase:

Calcula-se a média (e/ou outras informações) para cada classe, usando-se as
amostras rotuladas de instâncias para as respectivas classes;
56

Armazenam-se como assinaturas as médias (e/ou outras informações) como
protótipos das classes.
2.2.1.5.2
Fase de classificação
Nesta fase, pode-se referir que:

Para cada instância com classe desconhecida, verifica-se a menor distância
entre instâncias e os protótipos das classes;

Atribuem-se a instâncias as classes cujo protótipo tiver menor distância;

Raramente se tem empate, mas se pode estabelecer distância máxima para
criar rejeição.
Como exemplo, usa-se novamente a classificação das flores íris:
Assinaturas:
IRÍS-SETOSA:
Comprimento médio da sépala médio: 5.0059996
Largura média da sépala: 3.4180002
Comprimento médio da pétala: 1.464
Largura média da pétala: 0.24399997
IRÍS-VERSICOLOR:
Comprimento médio da sépala médio: 5.936002
Largura média da sépala: 2.77
Comprimento médio da pétala: 4.26
Largura média da pétala: 1.3259999
57
IRÍS-VIRGINICA:
Comprimento médio da sépala média: 6.5879993
Largura média da sépala: 2.9740002
Comprimento médio da pétala: 5.5520005
Largura média da pétala: 2.0260003
Classificação:
Amostra 1: (Iris-setosa) dist: 0.15 3.27 4.80 = Iris-setosa
Amostra 2: (Iris-setosa) dist: 0.44 3.25 4.84 = Iris-setosa
Amostra 3: (Iris-setosa) dist: 0.41 3.43 5.00 = Iris-setosa
...
Amostra 49: (Iris-setosa) dist: 0.41 3.19 4.68 = Iris-setosa
Amostra 50: (Iris-setosa) dist: 0.14 3.26 4.82 = Iris-setosa
Amostra 51: (Iris-versicolor) dist: 3.98 1.23 1.16 = Iris-virginica
...Rafael Santos - www.lac.inpe.br/~rafael.santos
Amostra 52: (Iris-versicolor) dist: 3.58 0.70 1.21 = Iris-versicolor
Amostra 53: (Iris-versicolor) dist: 4.13 1.22 0.90 = Iris-virginica
...
Amostra 99: (Iris-versicolor) dist: 1.99 1.55 3.13 = Iris-versicolor
Amostra 100: (Iris-versicolor) dist: 2.99 0.29 1.86 = Iris-versicolor
...
Amostra 149: (Iris-virginica) dist: 4.60 1.65 0.66 = Iris-virginica
Amostra 150: (Iris-virginica) dist: 4.08 0.99 0.85 = Iris-virginica
Classificações corretas: 139
Classificações incorretas: 11
2.2.1.5.3
Características
São elas:

Método simples e rápido, assinaturas compactas, facilmente compreensíveis;
58

Possibilita rejeição com parâmetro adicional (máxima distância tolerada);

Intuito: qual protótipo é o mais próximo, ou seja, qual classe é a mais próxima
no espaço de atributos;

Considera que as classes têm distribuição hiperesférica no espaço de atributos;
 Assume-se que o empate (duas classes cujos protótipos tem distâncias iguais
a uma instância) é raro.
2.2.2 Agrupamento (clustering)
A análise de agrupamento possui vários algoritmos diferentes e métodos por se
agruparem objetos de tipo semelhante em categorias respectivas. Uma pergunta geral
de investigadores em muitas áreas de investigação é como organizar dados
observados em estruturas significantes, quer dizer, desenvolver taxonomias. Em outras
palavras, a análise de agrupamento é uma ferramenta de análise de dados exploratória
que busca ordenar objetos diferentes (de certo modo) em grupos requerindo o grau de
associação entre dois objetos: no máximo se eles pertencerem ao mesmo grupo e
mínimo caso contrário. Dado o anterior, a análise de agrupamento pode ser usada para
descobrir estruturas em dados sem prover uma interpretação da explicação.
Lida-se com “crescer em cachos” em quase todos os aspectos de vida diária.
Por exemplo, um grupo de pessoas que compartilham a mesma mesa em um
restaurante pode ser considerado como um agrupamento das pessoas. Em comida,
armazena artigos de natureza semelhante, como tipos diferentes de carne ou legumes;
é exibido nos mesmos ou em locais. Próximo exemplo: biólogos têm que organizar as
espécies diferentes de animais antes de uma descrição significante das diferenças
59
entre animais. De acordo com o sistema moderno empregado em biologia, homem
pertence aos primatas, os mamíferos, os vertebrados e os animais. Nesta classificação
se te: o mais alto, o nível de agregação; o menos semelhante são os sócios na classe
respectiva. Homem tem mais em comum com todos os outros primatas (por exemplo,
macacos), o que faz com os sócios mais distantes dos mamíferos (por exemplo,
cachorros). Em resumo, qualquer que seja a natureza de um negócio, cedo ou tarde se
terá um problema agrupando de uma forma ou outra.
Essa funcionalidade visa segmentar um conjunto de dados num número de
subgrupos homogêneos ou clustering. Seu objetivo é formar grupos baseados nos
princípios de que esses grupos devem ser o mais homogêneos em si e mais
heterogêneos entre si. A diferença fundamental entre a formação de agrupamento e a
classificação é que, no agrupamento, não existem classes predefinidas para classificar
os registros em estudo. Os registros são agrupados em função de suas similaridades
básicas, ou seja, quando se desejam formar agrupamentos, seleciona-se um conjunto
de atributos (variáveis) e, em função da similaridade desses atributos, são formados os
grupos.
A tarefa consiste em identificar agrupamentos de objetos, que identificam uma
classe. Por exemplo, pode-se aplicar análise de clusters sobre o banco de dados de um
supermercado a fim de se identificarem grupos homogêneos de clientes, por exemplo:
clientes aglutinados em determinados pontos da cidade costumam vir ao supermercado
aos domingos, enquanto clientes aglutinados em outros pontos da cidade costumam
fazer suas compras às segundas-feiras.
Os algoritmos não-supervisionados criam grupos de dados onde:

Cada instância pertence a um grupo;
60

Instâncias em um grupo são semelhantes entre si;

Instâncias em grupos diferentes são diferentes entre si.
Esses algoritmos são conhecidos também como algoritmos de classificação
não-supervisionada ou de aprendizado auto-organizado.
2.2.2.1 Medidas de distâncias
A ligação ou árvore que agrupam métodos usam, seguindo Santos (2007),
dessemelhanças
(semelhanças)
ou
distâncias
entre
objetos
ao
formar
os
agrupamentos. Semelhanças são um jogo de regras que servem como critérios por se
agruparem ou separarem artigos. Por exemplo, usa-se uma regra para se agruparem
vários jantares e ver se eles compartilharam a mesma mesa ou não. Essas distâncias
(semelhanças) podem estar baseadas em uma única dimensão ou dimensões múltiplas,
com cada dimensão que representa uma regra ou condiciona por se agruparem
objetos. Por exemplo, se agruparem comidas rápidas, pode-se levar em conta o número
de calorias que elas contêm, o preço deles/delas, avaliações subjetivas de gosto etc. O
modo mais direto de computar distâncias entre objetos em um espaço multi-dimensional
é computar distâncias euclidianas. Se houvesse dois objetos, ou espaço tridimensional,
essa medida é a distância geométrica atual entre objetos no espaço (como se medido
como uma regra). O algoritmo de ligação, porém, não se preocupa se as distâncias
alimentadas são reais distâncias atuais, ou alguma outra medida derivada de distância
que é mais significante ao investigador.
Os métodos de clustering normalmente utilizam uma medida de dissimilaridade
para avaliar o grau de semelhança entre dois objetos durante o processo de
agrupamento. Muitas vezes, essa media é apresentada como sendo a distância entre
61
dois objetos. A combinação entre a escolha das variáveis, transformações das variáveis
(homogeneização) e as medidas de dissimilaridade escolhidas é que traduz
operacionalmente o termo “associação natural” entre objetos (Santos 2007).
2.2.2.1.1 Métricas
As métricas mais utilizadas são:

Distância euclidiana;

Distância quarteirão.
Os algoritmos de clustering podem ser classificados em duas categorias
principais: método hierárquico e método de particionamento ou relocação interariva.
2.2.2.1.2 Tipos de agrupamentos
As técnicas de agrupamento mais conhecidas são: o agrupamento por
particionamento e o agrupamento hierárquico.

Agrupamento por particionamento – o algoritmo das K-means é o
mais utilizado e divide o grupo total de itens em subgrupos. O dataset é
tratado como um vetor e, cada informação é considerada uma
componente vetorial. Se o banco de dados não for numérico, a técnica
não funciona, portanto os dados qualitativos devem ser transformados
em variáveis numéricas, pois o algoritmo trabalha com distâncias entre
os pontos. Pontos próximos formam um grupo. Para plotagem dos
dados, lança-se mão de uma função de distância, e a mais utilizada é a
função euclidiana e a função Manhattan. Faz-se necessário definir
62
previamente o número de grupos a ser criado, e esse número é
denominado de K, daí o nome de K-médias. Inicia-se, então, com o
algoritmo dividindo o dataset em K grupos e plotando um ponto
chamado centróide (mean) no meio de cada grupo. Na seqüência,
reposicionam-se os centróides de acordo com a sua distância em
relação aos outros pontos do grupo. Com o centróide reposicionado, os
grupos são novamente plotados. Em seguida, os centróides são
novamente recalculados e o processo se repete até que os grupos
estejam bem definidos.

Agrupamento hierárquico – nesse tipo de agrupamento, o algoritmo
mais utilizado é o HAC. Essa técnica trabalha de duas formas:
1. Processo
divisivo:
começa
com
um
cluster
único
e
vai
particionando-o em clusters menores, em processos iterativos;
2. Processo aglomerativo: faz o processo ao contrário: inicia em
cluster pequeno e vai-se agrupando em clusters maiores.
Após o processo de agrupamento, o analista deve estudar os padrões
identificados procurando verificar se esses podem ser transformados em conhecimento
estratégico. O agrupamento não responde porque os padrões existem, apenas os
identifica.
2.2.3 Associação
As associações visam determinar relacionamentos entre conjuntos de itens,
tais como “90% de pessoas que compram pão também levam leite”. Exemplos de uso
de regras de associação são projetos de catálogos, projeto de layout de
63
lojas/prateleiras, segmentação de clientela baseada em padrões de compra, etc., onde
itens podem ser agrupados, por exemplo, em catálogos ou espaços físicos, de modo a
induzir a venda de artigos relacionados.
As seqüências visam determinar padrões de ordenação entre dados, tais como
ordenações temporais, ou ordenação de classificação, por exemplo, “42% das pessoas
que viram De Volta para o Futuro: Parte I” voltaram ao cinema para assistir “De Volta
para o Futuro: Parte II”. As seqüências são um tipo especial de associação, onde os
itens associados são resultantes de transações diferentes. As seqüências podem ser
amplamente empregadas em mala direta, sistemas médicos, sistemas meteorológicos.
A classificação de séries de tempo visa definir grupos com séries de tempo
similares, ou seja, mesmo padrão de comportamento numa dada fatia de tempo, com
inúmeras possibilidades de aplicação prática, tais como identificação de produtos com
mesmos padrões de vendas, detecção de comportamento similar de instrumentos
financeiros.
O algoritmo de descoberta de regra de associação identifica afinidades entre
itens de um subconjunto de dados. Essas afinidades dão expressas em forma de
regras: “72% de todos os registros que contêm os itens A, B e C também contém D e
E”. A porcentagem de ocorrência (72, no caso) representa o fator de confiança da regra
e costuma ser usado para eliminar tendências fracas, mantendo apenas as regras mais
fortes. Dependências funcionais podem ser vistas como regra de associação com fator
de confiança igual a 100%.
Trata-se de um algoritmo tipicamente endereçado à análise de mercado, em
que o objetivo é encontrar tendências dentro de um grande número de registros de
compras, por exemplo, expressas como transações. Essas tendências podem ajudar a
64
entender e a explorar padrões de compras naturais e podem ser usadas para ajudar
mostruários, modificar prateleiras ou propagandas e introduzir atividades promocionais
específicas.
Um exemplo distinto, em que a mesma técnica pode ser utilizada, é o caso de
um banco de dados escolar, relacionando alunos e disciplinas. Uma regra do tipo “84%
dos alunos inscritos em „Introdução a Linux‟ também estão inscritos em „Programação
em Java‟” pode ser usada pela direção ou secretaria para planejar o currículo anual, ou
alocar recursos como salas de aula e professores.
Uma variante do problema de regras de associação é a análise de seqüências,
onde as regras encontradas entre as relações podem ser usadas para identificar
seqüências interessantes, que serão utilizadas para predizer acontecimentos
subseqüentes. Nesse caso, não apenas a coexistência de itens dentro de cada
transação é importante, mas também a ordem em que aparecem e o intervalo entre
elas. As seqüências podem ser úteis para identificar padrões temporais, por exemplo,
entre compras em uma loja, ou utilização de cartões de crédito, ou ainda tratamentos
médicos.
2.2.3.1 Exemplo de aplicação de técnicas de associação
Quando determinados padrões de comportamento, como associação de
produtos durante um processo de compras, por exemplo, começam a se repetir com
freqüência, as ferramentas data mining indicam a presença de oportunidades em
relação àquele público consumidor.
Um exemplo clássico de data mining foi desenvolvido pela Wal-Mart. A
empresa descobriu que o perfil do consumidor de cervejas era semelhante ao de
65
fraldas. Eram homens casados, entre 25 e 30 anos, que compravam fraldas e/ou
cervejas às sextas-feiras à tarde no caminho do trabalho para a casa. Com base na
verificação dessas hipóteses, a Wal-Mart optou por uma otimização das atividades junto
às gôndolas nos pontos de vendas, colocando as fraldas ao lado das cervejas.
Resultado: o consumo cresceu 30% às sextas-feiras com a redefinição de
layout baseada na conexão de hipóteses desenvolvidas pelo data mining.
2.2.3.2 Regras de associação
O grande problema da descoberta de associações é que elas podem ter
ocorrido ao acaso. Como exemplo, considere-se a hipótese de que mais cegonhas
determinam um maior número de nascimento de crianças. Isso pode ser confirmado ao
serem analisadas correlações nos dados sobre ninhos de cegonhas e taxa de
natalidade de algumas regiões. Existe, porém, uma terceira variável que foi
desconsiderada na análise: a quantidade de chaminés. As áreas urbanas têm taxas de
nascimento mais altas e também mais chaminés, onde as cegonhas fazem seus ninhos,
daí, o grande número de cegonhas.
Logo, é necessário estudar corretamente a teoria da associação antes de
tentar medir, ou provar alguma coisa.
Na estatística, trabalha-se dessa forma, ou seja, a partir de uma hipótese
busca-se verificar se ela é valida ou não. Na mineração de dados, apesar de ser
necessária a definição da tarefa a ser realizada e dos dados a serem analisados,
normalmente não existe uma hipótese prévia a ser verificada.
Para Graça, Semaan e Dias, a partir dos conceitos apresentados, a extração
da regra de associação corresponde à obtenção de regra do tipo “se X ocorre então Y
66
ocorre”, ou seja, X → Y, onde X e Y correspondem a conjuntos de eventos que ocorrem
com certa freqüência na base de dados. O algoritmo mais usado é o APRIORI, que foi
desenvolvido com o objetivo de tratar o problema de encontrar padrões referentes a
produtos que são comprados juntos com certa freqüência (a análise da cesta de
compras). A resolução desse problema pode ser aplicada a qualquer base de dados de
transações de vendas de uma empresa. Um exemplo clássico, e sempre lembrado
quando se fala em mineração de dados, é o de uma grande empresa varejista que, a
partir da utilização de um algoritmo de extração de associação, obteve a regra “às
sextas-feiras no horário noturno, jovens do sexo masculino que compram fraldas
também compram cerveja”. A partir da regra obtida, a empresa pode tomar decisões
estratégicas, como ajustar mostruários, modificar prateleiras ou propagandas, e
introduzir atividades promocionais específicas na tentativa de melhorar o foco do
negócio.
Dessa forma, o algoritmo APRIORI identifica dependências na ocorrência de
itens de um subconjunto de dados, que é expressa na forma das regras de associação.
Considera-se uma base de dados de um supermercado com apenas dez
transações, como apresentada na tabela 1. Os itens comprados nas transações
correspondem aos produtos arroz [A], detergente [D], lasanha congelada [L], macarrão
[M] e pasta de dente [P]. Para cada transação são indicados os itens comprados
naquela transação. Como exemplo, na transação 1 foram comprados os itens arroz,
lasanha congelada e macarrão, o que é representado no conjunto {A,L,M}.
67
Tabela 1 - Exemplo da base de dados com as transações de compras dos clientes e conjuntos
de itens (produtos)
Transações (Compras)
Número da transação
Conjuntos de itens (produtos)
1
{A,L,M}
2
{D,L}
3
{D,L}
4
{A,L,M}
5
{A,D,L,M}
6
{A,D,M}
7
{A,D}
8
{A,D,L,M}
9
{A,P}
10
{A,D,L,M}
Fonte: Graça; Semaan; Dias, p. 26.
Como foi dito, após a execução do algoritmo de associação sobre a base de
dados, serão obtidas regras do tipo X → Y. É importante observar que X, chamado de
antecedente da regra, corresponde a um conjunto de itens que pode variar de “um” a
vários itens. O mesmo vale para o conjunto Y, chamado de conseqüente da regra. Vale
ressaltar que nenhum item poderá pertencer, em uma mesma regra, aos conjuntos X e
Y.
Assim, a partir da base de dados do exemplo, podem ser encontradas regras
diferentes a padrões de comportamento de compras dos clientes como as
apresentadas no quadro 1. Nessa tabela, são apresentadas apenas algumas regras
dentre várias possíveis.
68
Quadro 1 - Regras de associação e seus significados literais
Número
Regra obtida
Significado
1
M→L
SE compra macarrão ENTÃO compra lasanha
congelada
2
A,D → M
SE compra arroz E detergente ENTÃO compra macarrão
3
A → M,L
SE compra arroz ENTÃO compra macarrão E lasanha
congelada
4
A,L →M,D
SE compra arroz E lasanha congelada ENTÃO compra
macarrão E detergente
Fonte: Graça; Semaan; Dias, p. 26.
Cada uma das regras obtidas só poderá ser considerada como sendo um
padrão caso obtenha alguns critérios. O primeiro critério é o número de transações em
que o padrão obtido pode ser confirmado na base de dados. Esse critério, conhecido
como suporte da regra, corresponde à freqüência com que todos os itens presentes na
regra aparecem juntos em uma mesma transação da base de dados, mesmo que eles
apareçam com outros itens não presentes na regra. Assim, se o conjunto de itens de
uma regra ocorre em 50% das transações, seu suporte é igual a 0,5. Na base de dados
do exemplo, o suporte da regra A → L,M é igual a 0,5 (ou 50%), pois o conjunto de
itens da regra, ou seja {A,L,M} está presente nas transações 1, 4, 5, 8 e 10. Assim, para
que sejam obtidas regras que correspondam a padrões de comportamento, devem ser
obtidas apenas as regras que possuam o valor de suporte igual ou acima de um valor
mínimo, um que será referida como suporte mínimo ou SupMin.
É comum, ao utilizar um algoritmo de regras de associação em grandes bases
de dados, que o valor para suporte mínimo seja próximo a 3% (ou 0,03). Vale observar
que, quanto menor o valor escolhido para o suporte, mais conjuntos diferentes de itens
69
irão satisfazê-lo e, conseqüentemente, mais regras poderão ser geradas; por outro
lado, quanto menor o valor do suporte, menos relevantes se tornarão as regras obtidas.
Esses conjuntos de itens são chamados de conjuntos freqüentes de itens
(itensets). A partir dos conjuntos freqüentes, as regras poderão ser obtidas. Como
exemplo, verifica-se que, a partir do conjunto freqüente {A,L,M}, podem ser obtidas as
regras indicadas no quadro 2.
Quadro 2 - Regras possíveis a partir do conjunto freqüente {A,L,M}
A → L,M
L → A,M
M → A,L
A,L → M
A,M → L
M,A → M
Fonte: Graça; Semaan; Dias, p. 26.
2.2.3.3 Algoritmo
2.2.3.3.1 APRIORI - Obtenção dos conjuntos freqüentes
O problema de se obterem os conjuntos freqüentes de itens de uma base de
dados de transações vem sendo tratado com bastante interesse pela comunidade
acadêmica nos últimos anos (GRAÇA; SEMAAN; DIAS).
O interesse é grande porque, a cada dia, as bases de dados se tornam maiores
e é necessário reduzir o tempo gasto pelo algoritmo para realizar o processamento das
transações durante a mineração. Apesar de os diferentes algoritmos fornecerem
tempos de execução diferentes para uma mesma base de dados, principalmente devido
à otimização nas estruturas de dados manipuladas internamente, as idéias principais do
algoritmo APRIORI ainda são utilizadas.
Quando o algoritmo APRIORI foi proposto, foi apresentada uma importante
propriedade dos conjuntos no contexto da obtenção de conjuntos freqüentes. Essa
70
propriedade diz que “todo subconjunto de um conjunto freqüente também é freqüente”
(GRAÇA; SEMAAN; DIAS).
Com essa propriedade, o problema de encontrar um conjunto freqüente
contendo n itens (referenciando também como conjunto freqüente de tamanho n) passa
a ser o problema de encontrar primeiro os seus subconjuntos freqüentes. Como o
menor subconjunto com algum item é o subconjunto de tamanho 1 (contendo apenas 1
produto), então o primeiro passo é encontrar todos os produtos que ocorrem na base de
dados com freqüência igual ou superior ao valor do SupMin. A partir daqui, considerese a base de dados da tabela 1 e o valor SupMin como sendo igual a 0,5 (50%), que
corresponde a cinco transações da base da dados em questão, ou seja, deseja-se
encontrar os conjuntos freqüentes com suporte maior ou igual a 0,5.
Assim, para se obterem os conjuntos freqüentes será necessário varrer toda a
base de dados contando o número de transações em que cada item aparece. O
resultado desta contagem é apresentado na tabela 2:
Tabela 2 - Conjunto de itens tamanho 1
Conjunto de itens (ns)
Nº de transações
Suporte
%
{A}
8
0,8
80
{D}
7
0,7
70
{L}
7
0,7
70
{M}
6
0,6
60
{P}
1
0,1
10
Fonte: Graça; Semaan; Dias, p. 27.
Pode, então, ser verificado que os itens A, D, L e M atendem ao suporte
mínimo definido, portanto, esses são os conjuntos freqüentes de tamanho 1. Nesse
71
caso, qualquer conjunto freqüente maior do que 1 não poderá conter algum item
diferente desses quatro itens.
De forma geral, a partir dos conjuntos freqüentes de tamanho K, no APRIORI o
próximo passo é a geração dos possíveis conjuntos de tamanho K + 1 (chamados de
“conjuntos candidatos”), para que, em seguida, seja verificado se eles são freqüentes
ou não. Os conjuntos candidatos são todos os conjuntos de tamanho K + 1 que podem
ser formados com os itens presentes nos conjuntos freqüentes de tamanho K. No
exemplo, K = 1 e os candidatos de tamanho K + 1 são as combinações dois a dois dos
quatros itens freqüentes obtidos. Após a geração desses candidatos, deve-se contar o
número de transações em que cada um dos pares de itens está presente. Para a base
de dados do exemplo, os pares obtidos e os respectivos valores de suporte após a
contagem são apresentados na tabela 3.
Tabela 3 - Conjuntos candidatos formados a partir dos conjuntos freqüentes de tamanho 1
Conjunto de itens
Número de transações
Suporte
%
{A,M}
6
0,6
60
{A,D}
5
0,5
50
{A,L}
5
0,5
50
{D,L}
5
0,5
50
{D,M}
4
0,4
40
{L,M}
5
0,5
50
Fonte: Graça; Semaan; Dias, p. 27.
Conforme apresentado na tabela 3, considerando o SupMin igual a 0,5, os
conjuntos freqüentes de tamanho dois são {A,M}, {A,D}, {A,L}, {D,L} e {L,M}. Como visto
anteriormente, o próximo passo do algoritmo APRIORI será obter os conjuntos
72
candidatos de tamanho 3. Como os itens presentes nos conjuntos freqüentes de
tamanho 2 são A, D, L e M, as combinações 3 a 3 desses itens formam os conjuntos
candidatos apresentados na tabela 4.
Tabela 4 - Candidatos de tamanho 3, gerados a partir dos conjuntos freqüentes de tamanho 2
Conjuntos de itens
{A,D,L}
{A,D,M}
{A,L,M}
{D,L.M}
Fonte: Graça; Semaan; Dias, p. 27.
Observando-se a tabela 4, verifica-se que existem conjuntos candidatos nos
quais estão contidos subconjuntos de tamanho 2 que não foram considerados
freqüentes. Esses conjuntos candidatos são o conjunto {A, D, M}, que possui o
subconjunto não freqüente {D, M} e o subconjunto {D, M, L} que também possui o
subconjunto não freqüente {D, M}. Portanto, esses conjuntos candidatos também
podem ser considerados não freqüentes sem a necessidade de realizar a contagem de
ocorrências na base de dados. Tal procedimento de eliminação de candidatos que
possuam subconjuntos não freqüentes é chamado de “poda” e evita consumir recursos
computacionais com a contagem de conjuntos que já se sabe, em princípio, não serem
freqüentes.
Em seguida, através de contagem na base de dados, deve ser determinado o
suporte de cada um dos conjuntos candidatos que não foram podados. Os conjuntos
73
candidatos não podados e seus valores de suporte, referentes à base de dados do
exemplo, são apresentados na tabela 5.
Tabela 5 - Candidatos formados a partir dos conjuntos freqüentes de tamanho 2
Conjunto de itens
Número de transações
Suporte
%
{A, D, L}
3
0,3
30
{A, L, M}
5
0,5
50
Fonte: Graça; Semaan; Dias, p. 27.
No algoritmo APRIORI, com os conjuntos freqüentes de tamanho 3, devem-se
gerar candidatos de tamanho 4, realizar a poda e calcular os seus valores de suporte.
Em seguida, com os conjuntos freqüentes de tamanho 5, e assim por diante,
até que não seja possível gerar candidatos K a partir dos conjuntos freqüentes de
tamanho K – 1.
Voltando ao exemplo, após a contagem do suporte dos conjuntos candidatos
de tamanho 3 (Tabela 5), verifica-se que apenas o conjunto {A, L, M} é freqüente (com
o valor do suporte igual ao SupMin). Assim, a elaboração dos conjuntos freqüentes se
encerra aqui, tendo-se em vista que, com apenas os itens A, L e M, não é possível
obter conjuntos candidatos de tamanho 4.
2.2.3.3.2 Geração de regras a partir dos conjuntos de itens freqüentes
Após a conclusão da etapa de obtenção dos conjuntos de itens freqüentes na
base de dados, devem ser geradas as regras de associação. Essa nova etapa é critica,
tendo-se em vista que podem ter sido obtidos muitos conjuntos freqüentes e, para cada
74
um deles, podem-se obter várias regras através das combinações de seus itens no
antecedente e conseqüente de cada regra.
No exemplo, foram obtidos os conjuntos freqüentes apresentados na tabela 6,
a partir dos quais podem ser geradas as regras de associação. Deve-se observar que,
para a geração de regras, só são utilizados os conjuntos freqüentes de tamanho maior
ou igual a 2. Na segunda coluna da tabela 6 são apresentados as possíveis regras para
cada um dos conjuntos freqüentes de itens.
Tabela 6 - Regras possíveis para cada um dos conjuntos freqüentes
Conjuntos
freqüentes
{A, M}
A M; M A
{A, D}
A D; D A
{A, L}
A L; L A
{L, M}
L M; M L
{D, L}
D L; L D
{A, L, M}
A L, M; L A, M; M A, L; A, L M; A,M L; L, M A
Regras
Fonte: Graça; Semaan; Dias, p. 27.
É fácil concluir que o número de regras possíveis pode tornar- se muito grande,
principalmente quando se têm muitos conjuntos freqüentes de tamanho superior a dois,
inviabilizando qualquer análise por parte dos usuários de mineração de dados. Assim,
são necessários critérios, ou medidas, que possam identificar, das possíveis regras de
associação, quais são as mais interessantes.
Com esse intuito, várias medidas de interesse vêm sendo pesquisadas e
algumas são muito utilizadas na literatura do que as outras. Segundo Graça, Semaan e
Dias, a partir da escolha de uma medida de interesse, cada regra de associação
75
possível de ser gerada é avaliada e aquelas que não atendam a um valor mínimo
definido serão descartadas. Outra alternativa é o algoritmo apresentar as regras
geradas em ordem de valor para a medida de interesse utilizada, o que permitirá ao
usuário verificar as regras geradas por ordem de relevância.
Dada uma regra X → Y, onde X é o conjunto de itens do antecedente da regra,
Y é o conjunto de itens do seu conseqüente e X U Y é o conjunto de todos os itens
presentes no antecedente e no conseqüente, têm-se as seguintes medidas de interesse
sobre a regra, considerando P(X) igual ao número de transações contendo os itens de
X, dividindo pelo número total de transações da base de dados.
Dentre as medidas de interesse, serão mostradas as 4 mais utilizadas:
confiança, lift, coverage e leverage:
a) Confiança: através dessa medida, verifica-se a ocorrência de
transações em que todos os itens da regra aparecem, sobre as
transações em que os itens do antecedente estão presentes;
b) Lift: foi chamada inicialmente de interest e é utilizada para avaliar o grau
de dependência do conseqüente em relação ao antecedente de uma
regra. A lift indica quão mais freqüente torna-se B quando A ocorre. Se
lift (X → Y) = 1, a ocorrência dos itens do conseqüente é estatisticamente
independente da ocorrência dos itens do antecedente, e vice-versa. Se
lift (X → Y) > 1, então os itens do antecedente e conseqüente são
positivamente dependentes. Se lift (X → Y) < 1, os itens do antecedente
e conseqüente são negativamente dependentes;
c) Coverage: indica a proporção de transações em que estão presentes os
itens que compõem o antecedente da regra;
76
d) Leverage: corresponde à diferença entre as ocorrências dos itens do
antecessor X e do conseqüente Y, juntos em uma mesma transação, e a
ocorrência esperada dos itens de X e Y, caso esses sejam
estatisticamente independentes.
No exemplo apresentado, será considerada apenas a medida “confiança”. A
medida confiança é a mais utilizada na aplicação do algoritmo APRIORI. Entretanto, a
maioria das ferramentas de mineração de dados que utilizam o APRIORI permitem
também a escolha de outras medidas para a geração das regras.
77
CAPÍTULO III
ESTUDO DE CASO
Apresentados alguns resultados de técnicas aplicadas à mineração de dados
(data mining), serão usadas, em especial, a visualização e obtenção de regras de
associação e clusterização, aplicadas à análise dos sorteios da mega sena.
A mega sena é uma das loterias mais populares no Brasil, onde são sorteadas
6 dezenas semanalmente, e os valores dos prêmios podem chegar à casa dos milhares
ou milhões.
Com todos os dados dos sorteios que ocorreram de março de 1996 a julho de
2007, totalizando 888 concursos, será feita uma análise para extrair todas as
informações interessantes, tentando demonstrar a viabilidade e aplicabilidade de
técnicas de mineração de dados à análise dos resultados dos sorteios teoricamente
equiprováveis, ou seja, não se assume a possibilidade de obtenção de qualquer
informação realmente aplicável para a seleção das dezenas.
Este estudo visa apenas revelar informações que possam guiar os apostadores
para a escolha das dezenas.
Será utilizado o software WECA, onde serão apresentadas as técnicas que
podem ser usadas e também os seus respectivos resultados; para que aconteça a
mineração, os dados coletados devem ser pré-processados, ou seja, os dados originais
são transformados para o formato .arff para que possam ser processados pelos
algoritmos de data mining.
78
Em seguida, serão aplicadas algumas metodologias e os algoritmos utilizados
para a técnica da associação e clusterização, fornecendo seus respectivos resultados.
3.1 Técnica de associação
As associações visam determinar relacionamentos entre conjuntos de itens,
tais como “94% de confiança de que, quando a dezena 26 não saiu, a dezena 54
também não saiu”.
As seqüências visam determinar padrões de ordenação entre dados, onde os
itens associados são resultantes de transações diferentes. A técnica de associação visa
definir grupos similares, ou seja, mesmo padrão de comportamento numa dada fatia de
tempo, problema igual com inúmeras possibilidades de aplicação prática, tais como
identificação de dezenas que acontecem com a mesma freqüência dentro do banco de
dados, detecção do comportamento das dezenas sorteadas.
O algoritmo de descoberta de regra de associação identifica afinidades entre
itens de um subconjunto de dados. Essas afinidades dão expressas as formas de
regras: “94% dos registros que contêm as dezenas 48 e 54, também contêm a dezena
26”. A porcentagem de ocorrência (94, no caso) representa o fator de confiança da
regra, e costuma ser usado para eliminar tendências fracas, mantendo apenas as
regras mais fortes. Dependências funcionais podem ser vistas como regra de
associação com fator de confiança igual a 100%.
Trata-se de um algoritmo tipicamente endereçado à análise da base de dados,
onde o objetivo é encontrar tendências dentro de um grande número de registros, por
exemplo, expressas como os concursos e suas dezenas. Essas tendências podem,
79
também, ajudar a entender e a explorar padrões de compras naturais, e ser usadas
para ajustar mostruários, modificar prateleiras ou propagandas e introduzir atividades
promocionais específicas.
Um exemplo distinto, onde a mesma técnica pode ser utilizada, é o caso de um
banco de dados escolar, relacionando alunos e disciplinas. Uma regra como “84% dos
alunos inscritos em „Introdução a Linux‟ também estão inscritos em „Programação em
Java‟” pode ser usada pela direção ou secretaria para planejar o currículo anual, ou
alocar recursos como salas de aula e professores.
Uma variante do problema de regras de associação é a análise de seqüências,
onde as regras encontradas entre as relações podem ser usadas para identificar
seqüências
interessantes,
a
serem
utilizadas
para
predizer
acontecimentos
subseqüentes. Nesse caso, não apenas a coexistência de itens dentro de cada
transação é importante, mas também a ordem em que aparecem e o intervalo entre
elas. Seqüências podem ser úteis para identificar padrões temporais, por exemplo,
entre compras em uma loja, ou utilização de cartões de crédito, ou tratamentos médicos
e também, no caso, as dezenas sorteadas da mega sena.
3.1.1 Dados
Antes de executar a aplicação, precisa-se formatar os dados para o formato
.ARFF (attribute-Relation File Format), que é o formato esperado pelos componentes do
software WECA.
O arquivo no formato ARFF é um arquivo de texto puro, composto de três
partes:
80
 Relação – a primeira linha do arquivo, que deve ser igual a @relation,
seguida de uma palavra-chave que identifique a relação ou a tarefa
estudada;
 Atributos – um conjunto de linhas onde cada uma inicia com @attribute
seguida do nome do atributo e do seu tipo, que pode ser nominal ou
numérico;
 Dados – depois de uma linha contendo @data. Cada linha deve
corresponder a uma instância e ter valores separados por vírgula
correspondente (e na mesma ordem) dos atributos da seção Atributos.
Os dados foram coletados no site da Caixa Econômica Federal, com
possibilidade de download no formato HTML, e foram reformatados para o formato
ARFF.
O arquivo formatado será apresentado na figura 13:
81
Figura 13 Arquivo ARFF com os resultados da mega sena configurado para ser usado em
técnicas de associação.
Fonte: WECA, 2007.
3.1.2 Metodologia (associação)
Com os dados coletados e armazenados no formato correto, fai-se-á uma
primeira análise usando as técnicas de associação para verificar que tipo de regras se
encontrará.
Como as associações visam determinar relacionamentos entre os conjuntos de
dezenas sorteadas, serão indicados quais elementos ocorrem nos registros com
freqüência e, para o estudo em questão, podem indicar que dezenas não são
freqüentemente sorteadas, tais como “com 94% de certeza de que, das 736 vezes em
que a dezena 26 não saiu, a dezena 54 também não saiu em 787 vezes”.
82
Uma variante do problema de regras de associação á a análise de seqüencias,
onde as regras encontradas entre as relações podem ser usadas para identificar
seqüências
interessantes,
a
serem
utilizadas
para
predizer
acontecimentos
subseqüentes.
A extração da regra de associação corresponde à obtenção de regra do tipo “se
X ocorre, então Y ocorre”, ou seja, X → Y, onde X e Y correspondem a conjuntos de
eventos que ocorrem com certa freqüência na base de dados. É importante observar
que X, chamado de antecedente da regra, corresponde a um conjunto de itens que
pode variar de “um” a vários itens. O mesmo vale para o conjunto Y, chamado de
conseqüente da regra, ressaltando que nenhum item poderá pertencer, em uma mesma
regra, aos conjuntos X e Y.
Para essa técnica, o algoritmo mais usado é o APRIORI, que foi desenvolvido
com o objetivo de tratar o problema de encontrar padrões referentes a dezenas que são
jogadas junto com certa freqüência.
Logo, é necessário estudar corretamente a teoria da associação antes de
tentar medir, ou provar alguma coisa.
Na estatística, trabalha-se dessa forma, ou seja, a partir de uma hipótese,
busca-se verificar se ela é valida ou não. Na mineração de dados, apesar de ser
necessária a definição da tarefa a ser realizada e dos dados a serem analisados,
normalmente não existe uma hipótese prévia a ser verificada.
Considere-se uma base de dados dos sorteios da mega sena com 888
concursos, como apresentada na tabela 7. As dezenas sorteadas nos concursos
correspondem às dezenas de 01 a 60. Para cada concurso são indicadas as dezenas
83
sorteadas. Como exemplo, no concurso 1, foram sorteadas as dezenas 04, 05, 30, 33,
41, 52, o que é representado no conjunto {04, 05, 30 33, 41, 52}.
Tabela 7 - Exemplo da base de dados com os respectivos concursos e seu conjunto de itens
(dezenas)
Concursos mega sena
Concursos
Conjunto de itens (dezenas)
01
{04, 05, 30 33, 41, 52}
02
{09, 37, 39, 41, 43, 49}
03
{10, 11, 29, 30, 36, 47}
04
{01, 05, 06, 27, 42, 59}
05
{01, 02, 06, 16, 19, 46}
06
{07, 13, 19, 22, 40, 47}
...
886
{17, 33, 37, 50, 55, 59}
887
{01, 12, 21, 32, 34, 44}
888
{24, 40, 50, 52, 54, 60}
Fonte: WECA, 2007.
Assim, a partir da base de dados do exemplo podem ser encontradas regras
diferentes a padrões de comportamento das dezenas sorteadas como apresentadas na
tabela 8. Nessa tabela, são apresentadas apenas algumas regras dentre várias
possíveis.
Cada uma das regras obtidas só poderá ser considerada como sendo um
padrão caso obedeça a alguns critérios. Um dos critérios é o número de transações em
que o padrão obtido pode ser confirmado na base de dados. Esse critério, conhecido
como suporte da regra, corresponde à freqüência com que todos os itens presentes na
84
regra aparecem juntos em uma mesma transação da base de dados, mesmo que eles
apareçam com outros itens não presentes na regra. Assim, se o conjunto de itens de
uma regra ocorre em 50% das transações, seu suporte é igual a 0,5.
Tabela 8 - Regras de associação e seus significados literais
R
R. obtida
1
54 → 26
Se não sorteou a dezena 26, então não sorteou a dezena 54.
2
17 → 39
Se não sorteou a dezena 39, então não sorteou a dezena 17.
3
4
Significado
48, 54 → 26 Se não sorteou a dezena 26, então não sorteou as dezenas 48 e
54.
52, 54 → 26 Se não sorteou a dezena 26, então não sorteou as dezenas 52 e
54
Fonte: WECA, 2007.
Para
que
sejam
obtidas
regras
que
correspondem
a
padrões
de
comportamento, devem ser obtidas apenas as regras que possuam o valor de suporte
igual ou acima de um valor mínimo, onde será referenciado como suporte mínimo.
3.1.3 Descobertas de regras de associação
Essa técnica pode mostrar informações sobre as dezenas sorteadas, pois
indicam as dezenas que ocorrem com maior freqüência na base de dados.
Para indicar as dezenas que ocorreram com menor freqüência, será usado o
algoritmo APRIORI e os seguintes parâmetros: -N 10 –T 0 –C 0.9 –D 0.05 –U 1.0 –M
0.1 -S 1.0, onde foi solicitado que fossem geradas 10 regras (-N 10), em que a medida
de interesse seja a de confiança (-T 0), pois, através de tal medida de interesse,
verifica-se a ocorrência de transações em que todos os itens da regra aparecem. Sobre
85
as transações em que os itens do antecedente estão presentes, no valor da mínima
métrica (-C 0.9) estipula-se que o valor de suporte mínino seja de 90%, ou seja, devem
ser obtidas regras cujo valor de suporte seja igual ou acima de 90%. No valor de delta,
utiliza-se 0.05 (-D 0.05), que reduz o apoio até que o suporte mínimo ou o número de
regras seja alcançado; já o valor de lowerBoundMinSupport (-U 1.0) diminui o limite do
suporte mínimo, o valor do mínimo suporte (-M 0.1) considera só regras com contagens
mais altas que este valor de 0.1 e, por fim, o valor do nível de significação (-S 1.0),
medindo somente a confiança.
Para que se consiga visualizar as relações que menos ocorreram, serão usados
valores mais altos para os parâmetros –D (delta), -M (mínimo suporte), -C (mínima
métrica), pois se espera muitas associações com o valor “NÃO”.
O resultado dessa experiência é mostrado na figura 14:
Figura 14 Regras de associação utilizando o algoritmo APRIORI, verificando o atributo “NÃO”.
Fonte: WECA, 2007.
As regras de associação listadas na figura 14 mostram as dezenas que saíram
com menor freqüência e se pode dizer, com 94 % de confiança, que, dos 888
86
concursos da mega sena, em 736 concursos a dezena 26 não saiu, assim como a
dezena 54.
Usando-se como valores de parâmetro: -N 10 -T 0 -C 0.93 -D 0.05 -U 1.0 -M 0.1
-S -1.0, onde se altera apenas o valor de mínima métrica, troca-se o -C 0.9 para –C
0.93; com isso, solicita-se para o algoritmo que ele mostre apenas as regras que
possuem valor de confiança igual ou maior que 93%.
Os resultados dessa mudança de parâmetros serão mostrados na figura 15:
Figura 15 Regras de associação com valor de mínima métrica alterado para 0.93.
Fonte: WECA, 2007.
As regras encontradas na figura 15 mostram regras que foram geradas a partir
de conjuntos freqüentes devido ao fato de que a mínima métrica força a gerar apenas
regras em que o valor de confiança seja igual ou maior que o valor da mínima métrica.
Obtiveram-se muitos conjuntos freqüentes e, para cada um deles, podem-se
obter várias regras através das combinações de seus itens no antecedente e
conseqüente de cada regra.
Pode-se afirmar, então, que, com 94% de confiança, a dezena 26 não saiu em
674 concursos e que as dezenas 48 e 54 também não saíram.
87
É comum, ao utilizar um algoritmo de regras de associação em grandes bases
de dados, que o valor para suporte mínimo seja próximo a 3% (ou 0,03). Vale observar
que, quanto menor o valor escolhido para o suporte, mais conjuntos diferentes de itens
irão satisfazê-lo e, conseqüentemente, mais regras poderão ser geradas; por outro
lado, quanto menor o valor do suporte, menos relevantes se tornarão as regras obtidas.
Altera-se então, os parâmetros para -N 10 -T 0 -C 0.04 -D 0.01 -U 0.2 -M 1.0E-4
-S -1.0, trocando-se valor de mínima métrica para 0.04 (-C 0.04), o valor de delta para
0.01 (-D 0.01), o valor de lowerBoundMinSupport para 0.2 (-U 0.2), o valor do mínimo
suporte para 0.0001 (-M 1.0E-4), geram-se as regras que serão apresentadas a figura
16.
As regras de associação listadas na figura 16 mostram quais dezenas
apareceram em conjunto com outras. Somente associações de duas dezenas foram
encontradas entre as dez regras mais relevantes e dentre essas regras, a primeira
regra pode ser interpretada como “25% de confiança, a dezena 54 foi sorteada em 17
concursos e a dezena 26 também foi sorteada”.
Figura 16 Regras de associação com valor de mínima métrica alterado para 0.04.
Fonte: WECA, 2007.
88
3.2 Técnica de clusterização
De uma forma geral, obter a solução para um algoritmo de clusterização
corresponde ao processo de agrupar os elementos (objetos) de uma base de dados
(conjunto) de tal forma que os grupos formados, ou clusters, representem uma
configuração em que cada elemento possua uma maior similaridade com qualquer
elemento do mesmo cluster do que os elementos de outros clusters.
As técnicas de clusterização vêm sendo tratadas com freqüência na literatura
para a solução de vários problemas de aplicações práticas em diversas áreas do
conhecimento.
O objetivo principal do clustering é separar os objetos ou observações em
classes naturais, de forma que os elementos pertencentes a um mesmo grupo tenham
um alto grau de semelhança ou similaridade, enquanto quaisquer elementos
pertencentes a grupos distintos tenham pouca semelhança entre si.
Os critérios mais comuns adotados em clustering são homogeneidade e
separação:
 Homogeneidade refere-se a objetos pertencentes a um mesmo cluster,
que devem ser tão similares quanto possível;
 Separação está relacionada a objetos de diferentes clusters, que devem
ser distintos entre si, tanto quanto possível.
3.2.1 Dados
Explorando a base de dados da mega sena, será agora, utilizada a técnica de
clusterização para se extraírem novos conhecimentos. Para se utilizar o software Weca,
89
precisa-se que a base de dados esteja também com as configurações necessárias no
formato .ARFF, como mostra a figura 17:
Figura 17 Arquivo ARFF com os resultados da mega sena configurado para ser usado em
técnicas de clusterização.
Fonte: WECA, 2007.
3.2.2 Metodologia (clusterização)
Com os dados coletados e armazenados no formato correto, procede-se a uma
primeira análise usando a técnica de clusterização para se verificar quais são os
agrupamentos formados.
Quando se faz clusterização de dados numéricos, normalmente isso é realizado
assumindo que os pesos de um vetor de características definem um ponto no espaço e
90
encontrado a distância entre os pontos (número de pontos é medido pelo número de
clusters solicitados).
No
estudo preliminar realizado, as etapas iniciais de
seleção,
pré-
processamento e transformação já fornecerem informações relevantes.
Como o objetivo deste estudo é identificar qual é o melhor algoritmo a ser
utilizado para determinadas técnicas, devem-se atribuir ao item atributos dois clusters
para que haja uma melhor visualização dos agrupamentos formados, utilizando o
algoritmo Simple K-means, que cria um conjunto de K clusters e distribui o conjunto de
dados entre esses clusters usando a similaridade entre os vetores e os centróides
desses clusters (um centróide é um vetor médio de todos os vetores no respectivo
cluster).
Considerando ainda a base dos concursos da mega sena, têm-se os seguintes
atributos: concurso, data do sorteio, dezena 1, dezena 2, dezena 3, dezena 4, dezena
5, dezena 6, ganhadores da sena, rateio da sena, ganhadores da quina, rateio da
quina, ganhadores da quadra, rateio da quadra, mega sena acumulou, valor
acumulado, os dados são apresentados como mostra a figura 18:
Figura 18 Atributos utilizados na técnica de clusterização.
Fonte: WECA, 2007.
91
Para que se consigam visualizar, graficamente, os clusteres criados, devem-se
adicioná-los a essa lista de atributos, como mostra a figura 19:
Figura 19 Atributos utilizados na clusterização com a adição do cluster como atributo.
Fonte: WECA, 2007.
Na inserção dos clusters, eles devem ser previamente configurados, indicando
que o algoritmo utilizado será o Simple K-Means e, também, o número de clusteres que
deverão ser criados. O cluster foi configurado para se criar dois clusteres.
Criado o atributo cluster, já se pode visualizá-lo graficamente de uma forma
bem simplificada, mas já mostrando valores relevantes para que se consigam obter
informações, como mostra a figura 20:
92
Figura 20 Dados exibidos de forma gráfica incluindo os clusteres adicionados.
Fonte: WECA, 2007.
As cores solicitadas para a plotagem do gráfico é a do atributo “mega sena
acumulou”, onde a cor azul informa que a mega sena acumulou e a cor vermelha
informa que a mega sena não acumulou.
Analisando-se superficialmente a figura 20, podem-se visualizar algumas
informações interessantes como: as dezenas que mais foram sorteadas, quantas vezes
a mega sena acumulou ou não, e observa-se também o atributo cluster que gerou dois
grupos (objetos) onde os elementos desses grupos possuem maior semelhança ou
similaridade entre si.
Executando a técnica de clusterização, calcula-se a métrica para a
separabilidade e compactação dos grupos.
93
Têm-se, como saída, os grupos (centróide, desvio padrão), medidas (contagem
de dados, erro quadrático total), e o objetivo principal é minimizar o erro quadrático, pois
para cada grupo calcula-se a distância entre todos os pontos pertencentes a um grupo
e aos seus centróides, divide-se pelo número de dados para aquele grupo e somam-se
as distâncias para todos os agrupamentos gerados.
Cada grupo identificado é caracterizado por todos os dados numéricos
presentes na base de dados.
Utilizando o algoritmo Simple K-means, o software WECA executa todos os
cálculos necessários para que os dados sejam agrupados, como se vê na figura 21.
A figura 21 informa alguns pontos de interesse, tais como:
 Nas linhas 31 e 32, são mostrados alguns resultados do processo de
agrupamento: número de iterações até convergência e medida objetivo
minimizadas (soma dos erros quadráticos entre clusters);
 Nas linhas 34 até a 48, são mostrados os centróides e os desvios
padrões de cada cluster;
 Finalmente, a partir da linha 50, mostra-se o número de instâncias que
foram atribuídas para cada cluster.
1. === Run information ===
2.
3. Scheme:
weka.clusterers.SimpleKMeans -N 2 -S 10
4. Relation: megasena-weka.filters.unsupervised.attribute.AddCluster-Wweka.clusterers.SimpleKMeans -N 2 -S 10
5. Instances: 888
6. Attributes: 17
7.
concurso
8.
mes
9.
dezena1
10.
dezena2
11.
dezena3
12.
dezena4
13.
dezena5
14.
dezena6
15.
ganhadores_sena
16.
rateio_sena
17.
ganhadores_quina
94
18.
rateio_quina
19.
ganhadores_quadra
20.
rateio_quadra
21.
megasena_acumulou
22.
valor_acumulado
23.
cluster
24. Test mode: evaluate on training data
25.
26. === Model and evaluation on training set ===
27.
28. kMeans
29. ======
30.
31. Number of iterations: 2
32. Within cluster sum of squared errors: 1209.9923995593467
33.
34. Cluster centroids:
35.
36. Cluster 0
37. Mean/Mode:
623.4263 Dezembro
8.5201
16.3036
25.6942
34.5402
42.971
38. 52.3772
0.2656 2925472.869
89.6049 17046.0506 6035.1295
222.1696 SIM 10331153.6358
39.
40. Std Devs:
182.4736 N/A
6.8142
8.7092
10.0932
9.984
9.1025
6.6553
41. 0.6192 8849724.5517
78.8103 8535.3345 4500.1602
72.3929 N/A
10029684.0415 N/A
42.
43. Cluster 1
44. Mean/Mode:
262.3205 Janeiro
9.1114
18.6818
27.675
36.4318
44.9545
52.9818
45. 0.2977
2263665.3256
104.8864 16991.5439 6560.1364
231.8595 SIM
6075128.6382
46.
47. Std Devs:
181.8828 N/A
6.7957
8.879
9.8185
8.944
8.3836
6.0927
48.0.9304 7758338.2809
182.1007 29339.438
6484.4269
627.5157 N/A
7591867.185 N/A
49.
50. Clustered Instances
51.
52. 0
448 ( 50%)
53. 1
440 ( 50%)
Figura 21 Apresentação dos grupos com seus respectivos cálculos.
Fonte: WECA, 2007.
O funcionamento do algoritmo Simple K-Means exige a definição prévia do
número de clusters e o posicionamento do centro dos clusters, chamado de centróide,
que é o ponto médio do cluster é calculado pelo algoritmo.
Esse algoritmo é sensível ao ruído, mas em termos de desempenho, é
relativamente eficiente para grandes bases de dados.
Os passos básicos do algoritmo Simple K-Means são:
 Passo 1: seleção de n objetos para serem centros iniciais dos K clusters;
95
 Passo 2: cada objeto é associado a um cluster, para o qual a
dissimilaridade entre o objeto e o centro do cluster é menor que as
demais;
 Passo 3: os centros dos clusteres são recalculados, redefinindo cada um
em função dos atributos de todos os objetos pertencentes ao cluster;
 Passo 4: retorna ao passo 2 até que os centros dos clusters se
estabilizem.
A cada interação os objetos são agrupados em função do centro do cluster mais
próximo e, por conseqüência, os centros dos clusters são reavaliados (passo 3). Isso
provoca, no espaço, o deslocamento dos centros médios. O algoritmo é interrompido
quando as médias não mais são deslocadas, ou há uma insignificante realocação de
objetos entre os clusters, e o cluster gerado pelo algoritmo na base da mega sena é
mostrado na figura 22.
A figura 22 mostra os clusters gerados, utilizando o atributo “ganhadores_sena”
e através desse, pode-se visualizar que o maior agrupamento de ganhadores acontece
entre os números 1 e 2 ganhadores; o mesmo pode ser feito para todos os outros
atributos; podem-se visualizar os agrupamentos dos outros atributos como mostra a
figura 23:
96
Figura 22 Apresentação dos clusters gerados utilizando o atributo “ganhadores_sena”.
Fonte: WECA, 2007.
Figura 23 Apresentação dos clusters gerados utilizando o atributo “dezena 1”.
Fonte: WECA, 2007.
A figura 23 mostra os clusters gerados, utilizando o atributo “dezena 1” e
através deste, pode-se visualizar a maior incidência de números sorteados na primeira
dezena acontece entre as dezenas 1 e 20; nota-se, também, que, em todos os
concursos, nunca foi mostrada alguma dezena maior que o número 39.
97
Aplicando a técnica de clusterização, pode-se analisar toda a base de dados
procurando os dados que obtiveram maior semelhança entre si, ou seja, agrupar é
simplesmente classificar uma massa de dados em classes desconhecidas a priori em
número ou forma.
Uma tarefa é, dadas várias categorias ou classes conhecidas, dizer a qual delas
um certo dado pertence; outra tarefa semelhante em objetivo, porém muito mais
complexa, é, de posse de uma massa de dados, dizer em quantas classes esses dados
se distribuem e como são essas classes.
A dificuldade reside inclusive no fato de que pode não haver tais classes, ou
seja, os dados se distribuem eqüitativamente por todo o espaço possível não
caracterizando nenhuma categoria, como mostra a figura 24. Na análise dos clusteres,
os grupos ou classes são construídos com base na semelhança entre os elementos,
cabendo ao analisador das classes resultantes avaliar se essas significam algo de útil.
Figura 24 Apresentação dos clusters gerados utilizando os atributos “ganhadores_sena” e
“mês” com cores representando os clusteres.
Fonte: WECA, 2007.
98
A análise dos clusters normalmente é uma técnica preliminar utilizada quando
nada ou pouco se sabe sobre os dados, como na metodologia da descoberta nãosupervisionada de relações.
CONCLUSÃO
99
Todas as etapas do processo de mineração de dados, desde a preparação dos
dados até a exploração em si, são de extrema importância e exigem que a mesma
atenção seja dispensada para cada uma delas.
O sucesso de uma etapa depende exclusivamente do bom desenvolvimento
das etapas anteriores, daí a importância de uma disciplina evidente na realização de
um processo KDD.
No mundo atual, um sistema de descoberta de conhecimento que funciona
sozinho pode não ser muito útil; é necessário que ele seja integrado a outros sistemas
para que, em conjunto, explorem todas as fases do processo e as conclua com
sucesso.
O objetivo é encontrar padrões que possam ser facilmente entendidos pelos
analistas dos dados e pelos usuários, extraindo dos dados informações relevantes para
a geração do conhecimento, auxiliando assim a tomada de decisão.
100
REFERÊNCIAS BIBLIOGRÁFICAS
AMARAL, Fernanda. Data Mining – Técnicas e aplicações para o marketing direto. São
Paulo: Berkeley, 2001.
CARVALHO, Luís. Data Mining – A mineração de dados no marketing, medicina,
economia, engenharia e administração. Rio de Janeiro: Ciência Moderna, 2005.
SANTOS, Rafael (2007). Princípios e aplicações de mineração de dados. Disponível
em: <http://www.lac.inpe.br/~rafael.santos>. Acesso em: 15 jan. 2007.
GRAÇA, A. A.; SEMAAN, G. S.; DIAS, C. R. Data mining e a descoberta de
associações em dados. SQL Magazine, ed. 26, ano 2, p. 22-30.
Download