UMA FERRAMENTA DE DATA MINING

Propaganda
MINERANDO REGRAS DE ASSOCIAÇÃO
(UMA FERRAMENTA DE DATA MINING)
Autores:
ANDRÉ BATISTA SALGADO
DIEGO DE OLIVEIRA UZAI
HÉLIO AUGUSTO MAIA SALEMA
JOANNE MANHÃES NETTO
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE CAMPOS
CEFET CAMPOS
CURSO SUPERIOR DE TECNOLOGIA EM INFORMÁTICA
CAMPOS DOS GOYTCAZES – RJ
ABRIL – 2007
MINERANDO REGRAS DE ASSOCIAÇÃO
(UMA FERRAMENTA DE DATA MINING)
Autores:
ANDRÉ BATISTA SALGADO
DIEGO DE OLIVEIRA UZAI
HÉLIO AUGUSTO MAIA SALEMA
JOANNE MANHÃES NETTO
“Monografia apresentada ao Centro Federal de Educação Tecnológica de Campos
como parte das exigências para a conclusão do Curso Superior de Tecnologia em
Informática”
Orientador: Prof. Sandro Reis
CAMPOS DOS GOYTCAZES – RJ
ABRIL – 2007
MINERANDO REGRAS DE ASSOCIAÇÃO
(UMA FERRAMENTA DE DATA MINING)
ii
Autores:
ANDRÉ BATISTA SALGADO
DIEGO DE OLIVEIRA UZAI
HÉLIO AUGUSTO MAIA SALEMA
JOANNE MANHÃES NETTO
“Monografia apresentada ao Centro Federal de Educação Tecnológica de Campos
como parte das exigências para a conclusão do Curso Superior de Tecnologia em
Informática”.
Aprovado em 02 de Abril de 2007.
Comissão Examinadora:
Orientador – Sandro Reis Rocha Barros, M. Sc.
Professor - Breno Fabrício Terra Azevedo, M. Sc.
Professor – Maurício José Viana Amorim, M. Sc.
iii
DEDICATÓRIA
Dedicamos este trabalho aos nossos familiares, que
nos incentivaram para que pudéssemos alcançar
mais essa vitória em nossas vidas.
iv
AGRADECIMENTOS
Em primeiro lugar, a Deus.
Aos nossos pais, que nos incentivaram a concluir um dos nossos passos mais
importantes para a carreira profissional.
Ao Centro Federal de Educação Tecnológica de Campos, por ter nos acolhido e
pela qualidade do curso ministrado.
Ao professor Sandro Reis, pela dedicação e confiança como orientador e amigo.
Aos colegas de turma, pelo companheirismo e amizade demonstrados ao longo
deste curso.
Aos colegas do grupo, que se mostraram muito mais amigos do que simples colegas
de profissão.
Finalmente, a todos aqueles que, direta ou indiretamente, contribuíram na
elaboração deste trabalho.
v
RESUMO
O volume de dados existentes no mundo dos negócios é algo que não pode
deixar de requerer uma grande atenção. O fato é que nem todos os dados
presentes em uma grande base de dados são importantes para o objetivo que se
quer atingir.
Por este motivo, torna-se essencial uma ferramenta que possa extrair
conhecimento desses dados e, assim, auxiliar no aumento considerável da
produtividade de uma empresa, bem como nos lucros da mesma. Apresentaremos,
neste trabalho, uma solução em Data Mining.
O sistema visa encontrar padrões existentes em uma base de dados através
de regras de associação, possibilitando o suporte à tomada de decisões. O nosso
sistema utiliza como linguagem o Delphi e a base de dados em SQL Server.
Também é utilizado o algoritmo Apriori para encontrar os padrões mais freqüentes
existentes dentre os registros.
vi
SUMÁRIO
Lista de Figuras..................................................................................................... x
Lista de Siglas........................................................................................................ xi
CAPÍTULO I – INTRODUÇÃO ...................................................................................1
1.1 – Apresentação....................................................................................................1
1.2 – Objetivo..............................................................................................................2
1.3 - Estrutura do Trabalho........................................................................................2
CAPÍTULO II – FUNDAMENTAÇÃO TEÓRICA .........................................................4
2.1- Dado X Informação X Conhecimento ................................................................. 4
2.1.1 - Business Intelligence(BI) …………………………………………………...5
2.2 - Data Warehouse ...............................................................................................4
2.2.1 - Proporcionando acesso aos dados da empresa....................................4
2.2.2 – Conceitos..............................................................................................8
2.2.2.1 - O que é Data Warehouse.....................................................8
2.2.2.2 - Implicações Práticas ..........................................................10
2.2.2.3 - Por que um Data Warehouse? ...........................................11
2.2.2.4 – Benefícios do Data Warehouse.........................................12
2.2.2.5 – Necessidade de um Data Warehouse................................13
2.2.3 – Acesso à informação ........................................................................16
vii
2.3 - Data Mining .....................................................................................................17
2.3.1 – Introdução .........................................................................................17
2.3.2 – Relevância do Estudo de Data Mining ..............................................18
2.3.3 – Análise dos Dados ..........................................................................19
2.3.4 – Modelos ..........................................................................................20
2.3.4.1 – Modelo de Verificação........................................................20
2.3.4.2 – Modelo de Descoberta.......................................................20
2.3.5 – Utilizadores......................................................................................21
2.3.6 – Fases do Processo de Data Mining.................................................21
2.3.6.1 – Preparação.........................................................................21
2.3.6.2 – Mineração...........................................................................22
2.3.6.3 – Análise................................................................................22
2.3.6.4 – Aplicação............................................................................23
2.3.7-Técnicas de Data Mining....................................................................23
2.3.8 – Áreas de Aplicação de Técnicas de Mineração de Dados...............24
2.3.8.1 - Marketing............................................................................24
2.3.8.2 - Banco..................................................................................25
2.3.8.3 – Seguradoras ou Planos de Saúde......................................25
2.3.8.4 – Medicina.............................................................................25
2.3.8.5 - Controle de Processos e Controle de Qualidade.................26
2.4 - Regras de Associação.................................................................................27
2.4.1 - A Descoberta de Conhecimento em Bancos de Dados....................27
viii
2.4.2 - Regras e seus Algoritmos.................................................................29
2.4.2.1 - O Algoritmo Apriori..............................................................32
CAPÍTULO III - O ESTADO DA ARTE .....................................................................41
3.1 ”A descoberta do perfil do aluno de graduação que interrompe seus estudos
no campus central da Universidade Luterana do Brasil”...........................................43
3.2 ”Estudo em Mineração de dados aplicado a uma base de dados de materiais
de estoque da indústria siderúrgica” ........................................................................45
3.3 ”Algoritmo SSDM para mineração de dados semanticamente similares”.....47
3.4 ”Extração de Regras de Associação em uma base de dados relacional”.....50
CAPÍTULO IV - O SOFTWARE DE MINERAÇÃO Weka ........................................52
4.1 – Introdução........................................................................................................52
CAPÍTULO V – DESENVOLVIMENTO ...................................................................56
5.1 – Descrição das Funções do Sistema.................................................................57
5.2 – O protótipo no KDD (Caso de Uso)..................................................................59
5.3 – Protótipo x Weka.............................................................................................62
CAPÍTULO VI – CONCLUSÃO E RECOMENDAÇÕES .........................................64
CAPÍTULO VII – BIBLIOGRAFIA ..........................................................................65
ix
Lista de Figuras
Figura 1 – Arquitetura de Business Intelligence........................................................05
Figura 2 – O processo de KDD................................................................................28
Figura 3 – Espaço de busca para o conjunto de itens I={1,2,3,4}............................31
Figura 4 – Tela de Apresentação do Weka..............................................................53
Figura 5 – Tela Explorer do Weka............................................................................54
Figura 6 – Tela principal do Protótipo ..................................................................... 57
Figura 7 - Tela de Exibição dos Resultados............................................................ 58
Figura 8 – Tela de exibição dos resultados..............................................................58
Figura 9 – Relatório de Mineração – Informações sobre o Banco de Dados...........60
Figura 10 - Relatório de Mineração – Informações dos parâmetros do Algoritmo...61
Figura 11 - Relatório de Mineração – Regras encontradas.....................................61
Figura 12 – Tela de Padrões Encontrados pelo Protótipo......................................62
Figura 13 - Tela de Padrões Encontrados pelo Weka 10 regras..........................62
Figura 14 - Tela de Padrões Encontrados pelo Weka 20 regras...........................63
x
Lista de Siglas
ACR – Avaliação de Controles e Resultados
BI – Business Intelligence
CART - Classification and Regression Trees (Árvores de Classificação e
Regressão).
CHAID - Chi Square Automation Interaction Detection.
DBMS - Database Management Systems (Sistema de Gerenciamento de Banco de
Dados).
DM - Data Mining (Mineração de Dados).
DW - Data Warehouses (Armazém de Dados).
EIS - Executive Information Systems (Sistema de Informações Executivas).
MIS - Management Information System (Sistema de Informação Gerencial).
OLAP - On Line Analytical Processing (Processamento Analítico On Line).
OLTP – On Line Transaction Processing (Processamento On Line de Transações).
PC - Personal Computers (Computadores Pessoais).
RDBMS – Relational DataBase Management System (Sistema de Gerenciamento
de Banco de Dados Relacional).
xi
SABESP – Companhia de Saneamento Básico do Estado de São Paulo
SGBD - Sistemas de Gerenciamento de Banco de Dados.
SQL – Structured Query Language (Linguagem Estruturada de Consulta).
SSDM - Semantically Similar Data Miner (Mineração de Dados Semanticamente
Similares).
TI - Tecnologia da Informação.
xii
CAPÍTULO I - INTRODUÇÃO
1.1 – Apresentação
A cada ano, companhias acumulam mais e mais informações em seus
bancos de dados. Como conseqüência, estes bancos de dados passam a conter
verdadeiros tesouros de informação sobre vários dos procedimentos dessas
companhias. Toda esta informação pode ser usada para melhorar seus
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. Esta
informação preciosa está, na verdade, implícita, escondida sob uma montanha de
dados e não pode ser descoberta utilizando-se sistemas de gerenciamento de
banco de dados convencionais. A solução existe e chama-se Data Mining.
A quantidade de informação armazenada em bancos de dados está
explodindo e ultrapassa a habilidade técnica e a capacidade humana na sua
interpretação. Bancos de dados são medidos, hoje, em gigabytes e terabytes. A
necessidade de transformar estes terabytes de dados em informações significativas
é óbvia. Felizmente, técnicas computacionais foram desenvolvidas para analisar os
dados ou, ao menos, ajudar o analista a encontrar ordem no caos: conhecimento.
Mineração de dados, ou Data Mining (DM), é o termo utilizado para nomear o
processo de análise de conjuntos de dados com o objetivo de encontrar padrões
-1-
que representem informações úteis e não triviais. Para tanto, utiliza-se de métodos
matemáticos, heurísticos e algoritmos.
A mineração de dados é parte de um processo maior e mais abrangente, o
de descoberta de conhecimento em bancos de dados. Pode ser entendida como a
exploração e análise de grandes quantidades de dados, de maneira automática ou
semi-automática, com o objetivo de revelar regras e padrões significativos [1]. Para
uma empresa, o conhecimento desses padrões permite melhorar a sua estratégia
de marketing, personalizar seu atendimento, aprimorar seu relacionamento com os
consumidores, etc. Para uma entidade pública, os conhecimentos adquiridos por
uma mineração de dados podem subsidiar as suas ações políticas. Para o sistema
financeiro, o conhecimento gerado pela base de dados de seus clientes permite
obter critérios objetivos com vistas a discriminar e classificar bons e maus
pagadores.
1.2 – Objetivo
O objetivo principal deste trabalho é o desenvolvimento de um software de
mineração de dados que, utilizando um algoritmo baseado em Regras de
Associação, reconheça os padrões (dados) mais freqüentes numa determinada
base de dados, previamente selecionada, auxiliando assim no suporte à decisão, já
que reduz significativamente o volume dos dados que são relevantes na tomada de
decisão.
1.3 – Estrutura do Trabalho
Este trabalho está organizado da seguinte maneira:
 No capítulo II é apresentada a teoria básica de Data Warehouse, Data Mining e
mineração de dados, um estudo sobre regras de associação e uma
apresentação básica do algoritmo Apriori que será utilizado no nosso projeto;
-2-
 No capítulo III são apresentados trabalhos que versam sobre a atual situação do
uso da Mineração de Dados e suas principais vantagens e desvantagens;
 No capítulo IV é apresentado o software Weka, que será utilizado para efeito de
comparação de resultados com o nosso software;
 No capítulo V é apresentado todo o desenvolvimento da nossa ferramenta de
Data Mining;
 No capítulo VI é apresentada a conclusão deste trabalho, com seus resultados e
recomendações;
 No capítulo VII é apresentada toda a bibliografia utilizada como fonte de
conhecimento e preparação deste trabalho.
-3-
CAPÍTULO II - FUNDAMENTAÇÃO TEÓRICA
2.1- Dado X Informação X Conhecimento
Antes de serem apresentados todos os conceitos e ferramentas desse
trabalho, é necessário que fique clara a diferença entre os conceitos de Dado,
Informação e Conhecimento, para melhor compreensão do trabalho.
Segundo[2],
O dado é entendido como um elemento da informação, um conjunto de
letras, números ou dígitos que, tomado isoladamente, não transmite nenhum
conhecimento, ou seja, não contém um significado claro.
Para conceituação inicial, a informação é todo dado trabalhado, útil,
tratado, com valor significativo atribuído ou agregado a ele e com um sentido
natural e lógico para quem usa a informação.
Quando a informação é trabalhada por pessoas e pelos recursos
computacionais, possibilitando a geração de cenários, simulações e oportunidades,
pode ser chamada de conhecimento. São argumentos e explicações que
interpretam um conjunto de informações.
-4-
2.1.1- Business Intelligence(BI)
O conceito de BI pode ser entendido, numa das suas vertentes, como diretamente
relacionado ao apoio e subsídio aos processos de tomada de decisão baseados em dados
trabalhados especificamente para a busca de vantagens competitivas
A figura
1 mostra esquematicamente os componentes de Data Warehouse, Data Marts, ODS e
Ferramentas (entre as quais as de Mining), compondo o mosaico de BI.
Figura 1 – Arquitetura de Business Intelligence.
2.2- Data Warehouse (DW)
2.2.1- Proporcionando Acesso aos Dados da Empresa
Com a evolução de um conjunto de novos conceitos e ferramentas,
atualmente, a tecnologia emergente permite que pessoas-chave sejam capazes de
acessar qualquer nível de informação necessário para organizar, sobreviver e
prosperar em um mundo cada vez mais competitivo. O termo utilizado para definir
esta nova tecnologia é Data Warehouse.
-5-
Em busca de um meio flexível, eficaz e eficiente de obter conjunto de dados,
que se tornaram os bens mais importantes e valiosos da empresa, o data
warehouse surgiu das várias tentativas realizadas por pesquisadores e organizações
com esse mesmo objetivo.
O data warehouse é um campo que se originou da integração de diversos
recursos e experimentos ao longo das duas últimas décadas. Esses experimentos
permitiram à indústria identificar os principais problemas que necessitam de solução.
É uma arquitetura, não uma infra-estrutura. O primeiro passo para
desenvolver um Data Warehouse é definir o warehouse (armazém) em termos de
arquitetura e infra-estrutura. A arquitetura é um conjunto de regras ou estruturas que
fornece a base para o projeto de um sistema ou produto enquanto que a infraestrutura refere-se às plataformas, bancos de dados, gateways, ferramentas frontend e outros componentes necessários para fazer a arquitetura funcional.
Como o principal componente é um banco de dados read-only, o DW é
desenvolvido para fins de suporte à decisão. A extração dos dados é realizada a
partir de sistemas-fonte, bancos de dados e arquivos. Esses dados são integrados e
transformados antes de serem carregados no armazém. Um banco de dados readonly separado armazena os dados de suporte à decisão e acessa o data warehouse
através de ferramentas front-end ou de um aplicativo.
Todas as pessoas envolvidas na tecnologia de suporte à decisão, devem
ser treinadas, incluindo desenvolvedores e administradores de banco de dados em
banco de dados relacionais, em ferramentas para integração e transformação de
dados, em software front-end e ferramentas de navegação para metadados.
Há 30 anos, o MIS (Management Information System), ao final do dia ou da
semana, proporcionava acesso aos dados através de ferramentas que filtravam e
agregavam os registros de detalhe, porém, as respostas em batch 1 eram, na
maioria, inadequadas não somente pela demora da resposta mas pela quantidade
de interações que eram necessárias para isolar o nível apropriado dos dados para
uma determinada consulta.
1
Denominação dos arquivos de lote que podem, com um único comando, realizar uma seqüência de
tarefas programadas anteriormente. É identificado pela extensão BAT no nome dos arquivos.
-6-
Há 20 anos, parte dos problemas foram solucionados, quando os dados
estratégicos tornaram-se disponíveis interativamente, entretanto, com o aumento do
volume de dados e usuários, surgiu o problema de capacidade. Os usuários finais
estavam insatisfeitos com o tempo requerido para desenvolver um aplicativo de
relatórios estratégicos e adequá-lo às novas exigências, isso porque estes não
reagiam com a mesma rapidez em que ocorriam mudanças no negócio.
Há 10 anos, o uso dos PCs (Personal Computers) nas organizações cresceu
exponencialmente e os usuários passaram a construir suas próprias aplicações com
banco de dados e planilhas eletrônicas, passando a inserir e extrair informações de
dados históricos do computador central, possibilitando uma análise com o uso dos
rápidos aplicativos que criavam.
No lado tecnológico, os Data Warehouses estão explorando um poder de
processamento mais barato na forma de multi-processadores simétricos baseados
em Unix2, processadores paralelos, computadores pessoais e mainframes.
Para o armazenamento dos dados, dispositivos maiores e mais rápidos
permitem reter e analisar históricos extensos. Os SGBDs (Sistemas de
Gerenciamento de Banco de Dados) apresentam maior desempenho e capacidade
e, recentemente, têm atendido a requisitos específicos de data warehouse como
processamento paralelo e replicação. Os data warehouses também estão sendo
usados pelas organizações como passos iniciais para migrar de ambientes
centralizados para distribuídos.
Com a distribuição do poder da informática e com o conhecimento gerado
pelos PCs, o uso de banco de dados passou a ser comum para vários usuários,
portanto, conseguem acesso imediato aos dados históricos e analisam tendências,
causas e exceções.
O antigo modelo do MIS, retornando relatórios padronizados semanas após
receber a solicitação, não é mais aceitável pelas organizações.
2
UNIX é um Sistema Operativo (ou sistema operacional) portável, multitarefa e multiusuário,
originalmente criado por um grupo de programadores da AT&T e dos Bell Labs, que inclui Ken
Thompson, Dennis Ritchie e Douglas McIlroy.
-7-
2.2.2 – Conceitos
2.2.2.1 - O que é Data Warehouse?
É o processo de integração dos dados corporativos de uma empresa em
um único repositório a partir do qual os usuários finais podem facilmente executar
consultas, gerar relatórios e fazer análises. [3] Um ambiente de suporte à decisão
que alavanca dados armazenados em diferentes fontes e os organiza e entrega aos
tomadores de decisões da empresa, independente da plataforma que utilizam ou de
seu nível de qualificação técnica. Resumindo, data warehouse é uma tecnologia de
gestão e análise de dados.
Devemos entender a diferença exata entre um data warehouse e um banco
de dados.
Um data warehouse é, supostamente, um lugar em que os dados ficam
armazenados de forma que as aplicações possam acessá-los e compartilhá-los
facilmente. Mas um banco de dados já faz isso! Fornecedores de DB2, Informix,
Oracle, Sybase e de outras incontáveis legiões de DBMSs ( Database Management
Systems) têm vendido seus produtos com base nessa simples definição funcional.
Então, o que torna o DW tão diferente?
O primeiro critério sobre o qual todos parecem concordar para uma
definição é que o data warehouse armazena dados no formato read-only (somente
leitura). De fato, esta é a primeira regra. A teoria por trás disso é que os bancos de
dados “normais” armazenam dados das operações de negócio e que muitas das
aplicações de suporte à decisão associadas ao data warehouse exigem muito dos
bancos de dados que os executam. Então, data warehouse é nada mais que um
nome bonito para um sistema operacional de negócio replicado? (Pelo fato de
sabermos que replicação de dados é algo ruim, chamamos de data warehouse?).
Definir simplesmente como um banco de dados read-only não é suficiente.
Infelizmente, esta visão bastante limitada sobre o que é um data warehouse não
inclui todos os recursos e características que as pessoas costumam lhe associar.
-8-
Por exemplo, se você fizer uma cópia dos dados de um sistema de âmbito
operacional e associá-la a algum tipo de ferramenta de consulta, banco de dado
multidimensional ou rede neural, estará transformando esse banco de dados readonly em um data warehouse? Deve ser preciso mais do que isso!
Mesmo se aceitarmos a regra “somente-leitura” como parte da definição de
um DW, não podemos parar por aí. Se você tirar apenas um data mining3 ou um
sistema de informações executivas para rodar, não estará construindo um data
warehouse; apenas um tipo específico de banco de dados – algo que já fazemos há
anos.
Precisamos estabelecer o próximo critério para nossa definição de data
warehouse, a menos que nós também:
 Coletemos informações de várias fontes diferentes e as utilizemos como o local
em que essas diferenças se tornam compatíveis;
 Coloquemos os dados em um warehouse porque pretendemos permitir que
vários aplicativos usem as mesmas informações.
Esses critérios aproximam o termo data warehouse do que consideramos
sua real definição – um lugar em que armazenamos várias coisas diferentes em prol
da conveniência. Ao entendermos nossa definição para incluir a conciliação de
diversas fontes de dados e tornar essas informações disponíveis para uma
variedade de aplicações, começamos a chegar perto do poder e do valor agregado
que as pessoas costumam associar ao termo data warehouse.
3
Técnica de mineração de dados que será explicada no item 2.2 deste capítulo.
-9-
2.2.2.2 - Implicações Práticas
Construir um DW de produção não é apenas mais um exercício de
integração de sistemas. A metodologia e os princípios de projeto necessários são
muito diferentes daqueles utilizados no desenvolvimento de aplicações para o
processamento de transações on-line tradicional.
Em sua luta pela sobrevivência, as empresas enfrentam a árdua tarefa de
remodelar sua arquitetura de informação de forma a alavancar, sem corromper,
seus sistemas de processamento analítico on-line (OLAP). Muitas recorreram ao
data warehouse, uma arquitetura que coleta dados corporativos valiosos dos
sistemas OLTP (On-Line Transaction Processing – processamento on-line de
transações) e os prepara para responder às consultas do usuário.
Usualmente construído em um sistema de gerenciamento de banco de
dados relacional (RDBMS), o data warehouse destina-se a liberar sistemas OLAP
da missão crítica das consultas consumidoras de recurso. Esses, igualmente de
missão crítica, contêm dados que foram extraídos, limpos, e transformados a partir
de sistemas legados e OLTP. Eles consistem, em resumo, de uma coleção on-line
de informações corporativas que foram otimizadas para fins de suporte à decisão. O
data warehouse posiciona a empresa para atender a quatro exigências corporativas
inter-relacionadas:

Preparar seus sistemas e usuários para uma evolução constante;

Melhorar a contribuição de cada funcionário na produtividade e na receita;

Maximizar os lucros, desempenhando os principais processos do negócio de
forma melhor que os competidores e eliminando o maior número possível de
práticas consumidoras de recursos;

Aplicar ciência à informação.
- 10 -
Possivelmente, a explosão de informações seja a ocorrência que afeta o
data warehouse de forma mais significativa. As organizações perceberam que,
dada a relação fundamental entre conhecimento e poder, o uso dessas informações
é imprescindível para sua vantagem competitiva. Nesta virada de século altamente
competitiva, o OLTP e o data warehousing proporcionaram soluções de negócio
poderosas com retornos rápidos sobre o investimento.
2.2.2.3 - Por que um Data Warehouse?
No ambiente competitivo atual, entender e gerenciar informações torna-se
crucial para que as empresas possam tomar decisões oportunas e responder às
mudanças nas condições do negócio. Nas últimas décadas, a proliferação de
aplicativos de processamento de dados para os diversos sistemas aplicativos de
negócio complicou a tarefa de localizar e integrar dados para o suporte à decisão.
Além disso, à medida que o poder para a tomada de decisões é distribuído a todos
os níveis da organização, mais pessoas precisam ter acesso a informações para
esse fim. Como resultado, muitas organizações estão construindo data warehouses
para gerenciar e usar as informações do negócio competitivamente.
O DW dá suporte à análise e à tomada de decisões do negócio, criando um
banco de dados integrado com informações históricas, consistentes, orientadas
para o assunto. Ele integra dados de vários sistemas incompatíveis em um banco
de dados consolidado. Ao transformar os dados em informações expressivas,
permite aos administradores fazer uma análise mais substancial, precisa e
consistente.
O uso de um data warehouse para processamento de informações está
associado a consideráveis benefícios de custo, economia de tempo e aumento de
produtividade. Primeiro, os dados podem ser acessados e analisados facilmente
sem perda de tempo com manipulação e processamento. As decisões podem ser
tomadas mais rapidamente e com certeza de que os dados são atuais e precisos.
As informações integradas podem ser mantidas em categorias que representam
operações lucrativas.
- 11 -
As tendências podem ser analisadas e previstas com a disponibilidade de
dados históricos. E o data warehouse garante que todos estejam usando os
mesmos dados no mesmo nível de extração, o que elimina resultados analíticos
conflitantes e argumentos a respeito da fonte e da qualidade dos dados utilizados.
Em resumo, permite que as informações sejam processadas de forma confiável e
eficiente.
2.2.2.4 – Benefícios do Data Warehouse
O data warehousing melhora a produtividade dos tomadores de decisão
corporativos através da consolidação, conversão, transformação e integração de
dados operacionais e oferece uma visualização consistente da empresa. Exemplos
de benefícios tangíveis obtidos são:

Melhor rotatividade do estoque dos produtos;

Menos custo de lançamento de produtos com aprimoramento da seleção de
mercados-alvo;

Determinação da eficácia de programas de marketing, permitindo eliminar
programas fracos e aprimorar os fortes.
Adiante, as estratégias de data warehouse desempenharão um papel crítico
na migração de sistemas de suporte à decisão para o desktop, mantendo o vínculo
com as fontes de dados corporativos. Exemplos de aplicativos de data
warehousing de alto valor agregado incluem vendas/estoque, inteligência
empresarial, atendimento ao consumidor e reengenharia do negócio.
A conclusão é que o data warehouse representa um componente cada vez
mais importante dos sistemas que suportam a crescente competitividade dos
negócios.
- 12 -
O data warehouse, que significa a criação de um repositório de dados da
empresa-inteira, é o primeiro passo para o gerenciamento de grandes volumes de
dados. Está se tornando parte integrante de muitos sistemas de fornecimento de
informações porque proporciona uma localização única e centralizada para
armazenar uma versão que concilia dados extraídos de diversos sistemas
aplicativos. Nos últimos anos, a redução do preço e o aumento de desempenho,
escalabilidade e capacidade dos sistemas de arquitetura aberta tornaram o data
warehousing um componente central das estratégias da TI (Tecnologia da
Informação).
Estima-se
que
o
mercado
de
data
warehousing
crescerá
vertiginosamente. Não só o tamanho dessa indústria está crescendo rapidamente,
mas também a quantidade de informações que as organizações desejam acessar
para fins de tomada de decisão. O tamanho de um data warehouse pode variar de
alguns gigabytes a centenas deles, ou até mesmo a terabytes.
2.2.2.5 – Necessidade de um Data Warehouse
O conceito de data warehouse expandiu da crescente necessidade de
vantagem competitiva para a análise rápida de informações do negócio. Os
sistemas aplicativos existentes não podem atender a esse requisito porque:

Não dispõem de dados históricos on-line;

Os dados requeridos para a análise residem em diferentes sistemas aplicativos;

O desempenho da consulta é extremamente fraco, o que, por sua vez, prejudica
o desempenho dos sistemas aplicativos;

A estrutura operacional do DBMS (Database Management Systems) é
inadequada para suporte à decisão.
- 13 -
Dessa forma, as informações armazenadas em sistemas aplicativos
tornam-se inacessíveis aos tomadores de decisão do negócio. Um data warehouse
elimina esse problema armazenando os dados históricos e atuais de sistemas
aplicativos diferentes, necessários aos tomadores de decisão, em um sistema único
e consolidado. Isso disponibiliza os dados necessários sem interromper as
operações on-line.
Uma vez adotado o conceito de data warehouse, deve ser escolhido um
RDBMS especializado. Os RDBMSs convencionais são adequados para OLTP mas
deixam a desejar quando usados porque:

Não oferecem bom desempenho de consulta;

Não incluem os recursos necessários para processar facilmente questões
relativas ao negócio;

Não carregam e indexam os dados com eficiência;

Não oferecem suporte adequado para o armazenamento de grandes volumes de
dados.
O RDBMS de processamento de transações automatiza as operações do
negócio e deve ser capaz de atualizar os registros individuais milhares de vezes por
segundo. Em contraste, os RDBMSs de data warehouse são projetados para
administrar um negócio e precisam ter capacidade de suportar com eficiência a
análise de centenas de gigabytes e bilhões de registros de dados.
O data warehouse está se tornando um ativo extremamente valioso da
empresa. Os tomadores de decisão devem o ter prontamente disponível para que
possam determinar todo o potencial de um investimento. Os usuários devem poder
compartilhar relatórios em tempo real que incluem não apenas texto, mas também
cálculos e premissas que dão suporte à análise. Os destinatários devem poder
mudar o nível de detalhe, rotacionar ou adicionar itens ao relatório original, dando
continuidade ao processo de análise de forma colaborativa.
- 14 -
Esse livre compartilhamento de relatórios ao vivo apresenta um desafio
significativo para a segurança. Um usuário raramente conhece o nível de segurança
de cada destinatário. Um sistema de segurança de múltiplos níveis impede a
distribuição inadvertida de informações a usuários não autorizados. Um usuário não
pode acessar, detalhar ou adicionar itens a uma análise sem a segurança
apropriada. O problema da segurança aumenta à medida que o data warehouse
torna-se disponível a um número maior de usuários, a menos que sejam observados
os seguintes requisitos:

Definição da segurança para cada usuário e grupo de trabalho;

Vínculo da segurança ao banco de dados;

Vínculo da segurança às dimensões do negócio;

Fácil manutenção da segurança.
Uma arquitetura cliente/servidor de três níveis é essencial para atender tais
requisitos quando um grande número de usuários tem acesso ao data warehouse,
principalmente, se há disponibilidade de livre compartilhamento e colaboração. A
segurança deve ser mantida individualmente e definida por nível ao longo das
dimensões do banco de dados. Se um relatório for distribuído a um usuário não
autorizado, este usuário não conseguirá visualizar o relatório. Adicionalmente, um
usuário ficará impedido de mudar o nível de detalhe se não tiver autorização para
isso.
Os benefícios do DW já foram descobertos por praticamente todas as
empresas, de todos os segmentos, tais como:
 Telecomunicações
 Bancário
 Serviços
 Universidades
- 15 -
 Manufatura
 Assistência Médica
 Seguros
 Bens de consumo
As áreas de aplicação mais comuns são:
 Gerenciamento de risco
 Tendências de lucros com produtos
 Gerenciamento do ativo
 Análise estatística
 Análise financeira
 Análise de aquisição
 Análise do inventário
 Análise de reclamações
 Programas de Marketing
 Integração do banco de dados de
cliente
 Administração do relacionamento
com o cliente
2.2.3 – Acesso à informação
Acesso à informação é um componente técnico chave. Para organizações
que estão se “afogando em dados e desesperadas por informações”, um data
warehouse bem projetado pode oferecer acesso às pessoas certas, às
informações certas, no momento certo. Ferramentas, tipicamente as de interface
gráfica que permitem acesso ao warehouse, devem facilitar a recuperação,
análise e transferência de informações aos gerentes de processo.
Quando
estruturados
adequadamente,
o
data
warehouse
e
suas
ferramentas de acesso permitem aos usuários recuperar informações fácil e
rapidamente. O acesso deve ser suportado também por uma infra-estrutura que
sirva de ponte entre as perguntas feitas pelos gerentes de processo e as
respostas contidas nos data warehouses. A estrutura do modelo de dados e a
- 16 -
interface do usuário devem estar alinhadas com a estratégia para formar isso
uma realidade.
O principal objetivo da arquitetura é definir uma estrutura que ajude aos
clientes na construção de implementações de data warehouse eficientes –
implementações que ofereçam aos usuários e aplicações acesso fácil aos
dados. A arquitetura identifica e define os componentes, interfaces e protocolos
que estabelecem essa estrutura.
2.3 - Data Mining (DM)
2.3.1 – Introdução
Todos os sistemas de Data Warehouse possuem bases de dados bem
organizadas e consolidadas que funcionam com boas ferramentas de exploração,
por isso a tecnologia do Data Mining é considerada como Minerador de Dados.
Eles chamaram a atenção dos construtores de Data Warehouse porque a
mineração de dados tem alternativas de grandes descobertas de oportunidades de
negócios e, além disso, também pode traçar estratégias novas para o futuro [4].
A extração de conhecimento de banco de dados surgiu devido ao
crescimento da quantidade de dados armazenados em meios magnéticos e da
necessidade de aproveitá-los. Quando falamos de mineração de dados não
estamos considerando apenas consultas complexas e elaboradas, que visam
ratificar uma hipótese gerada por um usuário em função de relacionamentos
existentes entre os dados, e sim da descoberta de novos fatos, regularidade,
restrições, padrões e relacionamentos.
Considerada como a fase principal do KDD (Knowledge Database Discovery)
a mineração de dados é responsável pela extração de conhecimento implícito,
potencial útil dos dados e viabilização de informações ainda não exploradas. Este
- 17 -
processo exploratório é de suma importância para os ambientes competitivos
vivenciados no atual mundo globalizado e é, sem dúvida, um dos termos mais
discutidos pela comunidade acadêmica de computação. Além de todas essas
vantagens, ainda possui um diferencial se comparada às técnicas tradicionais, pois
os resultados produzidos por ela são, normalmente, mais genéricos e poderosos.
As ferramentas do Data Mining são argumentações ativas e de pesquisas,
automáticas de relacionamentos pessoais para obter problemas que não tinham
sido reconhecidos pelos usuários. Isso significa que o Data Mining analisa todos os
dados possíveis para que se possam descobrir todas as oportunidades escondidas
nos relacionamentos, descobrindo o problema e diagnosticando o comportamento
do negócio, que requerem o mínimo de intervenção dos usuários, o que irá buscar
somente o conhecimento e produzir vantagens competitivas [5].
Tendo-se concentrado tanta atenção na acumulação de dados, surgiu o
problema do que fazer com este precioso recurso. Reconheceu-se que estes dados
são muito importantes, pois permitem que indivíduos responsáveis pelas decisões
usem estes para melhorá-las. O sistema de gestão de bases de dados dá acesso
aos dados que estão armazenados, mas esta é uma pequena parte do que se pode
ganhar com estes. Analisar dados pode fornecer um conhecimento adicional acerca
de um negócio, ao permitir ir além dos dados guardados explicitamente, para derivar
conhecimento sobre o negócio. É aqui que o data mining trás benefícios óbvios.
2.3.2 – Relevância do Estudo de Data Mining
Através dos pontos apresentados anteriormente, podemos ressaltar a
relevância do presente estudo da seguinte forma:
a) A administração da informação tornou-se mais complexa, pelo seu volume e
detalhamento;
- 18 -
b) A utilização avançada dessas informações para a tomada de decisão torna-se
um diferencial competitivo para as empresas;
c) As aplicações das técnicas de Data Mining não se limitam ao ambiente
acadêmico, tendo vasta aplicabilidade no mercado;
d) Sua aplicação em diferentes áreas caracteriza-a como uma ferramenta de
caráter geral e não específico ou restrito a um determinado setor.
Aliado a esses pontos, notamos a inexistência de uma classificação
formalizada e aceita universalmente do assunto. A maior parte do esforço
desenvolvido nessa área está na implementação de ferramentas e algoritmos e sua
integração operacional com bancos de dados existentes.
2.3.3 – Análise dos Dados
Basicamente, data mining está preocupada com a análise de dados e o uso
de técnicas de software na procura de padrões em conjuntos de dados. É o
computador que é responsável por procurar padrões, identificando as regras
subjacentes nos dados. A idéia consiste em descobrir ouro em lugares inesperados,
pois o software de data mining permite encontrar padrões nada óbvios.
O processo de análise começa com um conjunto de dados, é usada
metodologia para desenvolver uma representação para a estrutura dos dados,
durante a qual o conhecimento é adquirido. Uma vez o conhecimento adquirido
pode ser estendido para conjuntos maiores de dados, assumindo que estes têm
uma estrutura semelhante aos dados simples.
- 19 -
2.3.4 – Modelos
Segundo [6], existem modelos que podem ser usados para fornecer
informação relevante para o utilizador.
2.3.4.1 – Modelo de Verificação
O modelo de verificação pega numa hipótese do utilizador e testa a sua
validade de acordo com os dados. A ênfase está no utilizador que é o responsável
por formular a hipótese e realizar uma query4 nos dados para afirmar ou negar a
hipótese.
O problema com este modelo é o fato de que não são criadas novas
informações no processo de busca, mas sim um conjunto de registros é retornado.
A procura é iterativa, pois um novo conjunto de perguntas ou uma hipótese
reformulada podem ser feitos para refinar a procura.
O utilizador vai descobrindo os fatos acerca dos dados usando uma
variedade de técnicas, assim como queries, análises multidimensionais e
visualização, para se guiar na exploração dos dados que são inspecionados.
2.3.4.2 – Modelo de Descoberta
Neste modelo, a ênfase está no sistema que descobre automaticamente
informação importante escondida nos dados. Os dados são deslocados durante a
procura de padrões que ocorrem freqüentemente, tendências e generalizações sem
intervenção ou orientação humana. O objetivo das ferramentas de data mining é
revelar um grande número de fatos acerca dos dados no menor tempo possível.
4
Comando SQL usado para iniciar uma busca em um banco de dados on-line.
- 20 -
2.3.5 – Utilizadores
Existem três grupos de utilizadores de ferramentas de data mining: executivos
(ou gestores), utilizadores finais (end-users) e analistas [3].
Os executivos necessitam de visões de alto nível sobre a informação e
passam muito menos tempo a utilizar computadores que os outros grupos. Podem,
eventualmente, precisar de informação que não está presente nos seus EIS
(Executive Information Systems). Normalmente os executivos são apoiados pelos
utilizadores finais e pelos analistas.
Os utilizadores finais sabem como usar uma folha de cálculo, mas não
programam. Por outro lado, passam horas a fio com computadores. Exemplos:
pessoal de vendas, investigadores de mercado, cientistas, engenheiros, etc.
Analistas sabem interpretar as informações e, ocasionalmente, usam
computadores. Normalmente utilizam um pouco de estatística e SQL (Structure
Query Language).
O desenho de uma ferramenta de Data Mining deve ter em conta qual o
grupo de utilizadores alvo.
2.3.6 – Fases do Processo de Data Mining [7]
2.3.6.1 – Preparação

Coletar o dado que será garimpado. A fonte poderá ser o DW/DM da empresa ou
dos outros dados de natureza interna ou externa;
- 21 -

Definir os metadados. Entender a semântica dos campos documentando número
de campos, de colunas, de campos com valores nulos, etc. Para cada campo,
definir nome, tipo, definição, descrição, fonte, unidade de medida, valores
únicos, periodicidade, etc;

Selecionar o subconjunto para o processo de garimpagem (limpeza). Algumas
ferramentas ajudam neste processo, analisando a relevância de certos dados e a
sua provável efetividade no processo de mining;

Carregar o banco para o processo de Mining.
2.3.6.2 – Mineração

Criação dos modelos de Data Mining;

Definição das amostras ou população;

Seleção dos dados para treinar o Modelo;

Definição da formatação requerida pelas ferramentas;

Criação dos provisores (atributos-chave) para análise do negócio.
2.3.6.3 – Análise
Existem vários tipos de análises, entre as mais comuns estão:

Associações: é definida como função que indica um coeficiente de afinidade
entre registros de determinados fatos. Como certos fatos e eventos acontecem
associados;
- 22 -

Padrões seqüenciais: são definidos como processos que visam à identificação
de fatos que implicam em outros fatos, em momentos diferentes do tempo;

Classificação: são processos que definem agrupamentos de itens em classes,
segundo referências estabelecidas. São usados para se definir grupos ou
classes de elementos, baseados em certos parâmetros preestabelecidos;

Agregação: atua em conjunto de registros como a abordagem anterior, porém
com a diferença de que os registros não estão previamente classificados ou
definidos em conjuntos conhecidos.
2.3.6.4 – Aplicação
Estando o modelo definido e testado, a aplicação se dá pela utilização
daqueles algoritmos ajustados em situações reais de sistemas.
2.3.7-Técnicas de Data Mining
As técnicas mais correntes em data mining são [8], [9]:
Redes Neuronais – Modelos preditivos não lineares que aprendem através
de treino;
Regras associativas - Segundo [10], entre as técnicas de mineração de
dados, regras associativas detêm o segundo lugar em percentual de utilização em
aplicações; somente atrás das Regras de Decisão/Classificação. Suas principais
áreas de aplicação são: análise de dados de vendas, suporte à decisão em
sistemas de diagnósticos, descoberta de tendências no comportamento consumidor
de indivíduos, etc. Mais especificamente, essa técnica é extensivamente usada para
o estudo das informações (usualmente chamada de basket data, terminologia
- 23 -
inicialmente utilizada em [11]) coletadas durante a venda simultânea de itens
disponíveis em um estabelecimento comercial, em que o consumidor, de uma só
vez, adquire certo número de produtos diferentes;
Árvores de Decisão – Estruturas em forma de árvore que representam
conjuntos de decisão. Estas decisões geram regras para a classificação de um
conjunto de dados. Alguns métodos de árvores-decisão específicos incluem
Classification and Regression Trees (CART) e Chi Square Automation Interaction
Detection (CHAID);
Algoritmos Genéticos – Técnicas de otimização que usam processos tais
como combinações genéticas, mutações e seleção natural, no desenho, baseadas
nos conceitos de evolução;
Método Vizinho-mais-próximo – Técnica que classifica cada registro numa
base de dados, baseada na combinação das classes dos k registros mais
semelhantes a este, num conjunto histórico de dados. Também chamada técnica
dos k vizinhos mais próximos;
Indução de Regras – Extração de regras if-then dos dados baseados em
estatísticas significativas.
2.3.8 – Áreas de Aplicação de Técnicas de Mineração de Dados
Existem diversos campos onde data mining pode ser aplicada como, por
exemplo:
2.3.8.1 – Marketing:
- Identificar padrões de compra de clientes;
- Descobrir associações entre características demográficas de clientes;
- 24 -
- Predizer respostas a campanhas publicitárias;
- Análise de mercado.
2.3.8.2 – Banco:
- Detectar padrões de uso fraudulento de cartões de crédito;
- Identificar clientes fiéis;
- Predizer clientes prováveis a mudar de cartão de crédito;
- Descobrir correlações escondidas entre diferentes indicadores financeiros;
- Identificar “stock trading rules”, a partir de dados históricos.
2.3.8.3 – Seguradoras ou Planos de Saúde:
- Predizer que clientes irão comprar novas apólices;
- Identificar padrões de comportamento em clientes de risco;
- Identificar comportamentos fraudulentos.
2.3.8.4 – Medicina:
- Caracterizar comportamento de pacientes para predizer visitas ao
consultório;
- Identificar terapias médicas de sucesso para diferentes doenças, buscar por
padrões de novas doenças.
- 25 -
2.3.8.5 - Controle de Processos e Controle de Qualidade:
- Auxiliar no planejamento estratégico de linhas de produção;
- Buscar por padrões de condições físicas na embalagem e armazenamento
de produtos.
A mídia tem veiculado exemplos clássicos de Data Mining, como correlações
entre produtos comprados na mesma cesta de supermercado, entre vários exames
feitos pelo mesmo paciente em uma determinada consulta. O problema dessa
abordagem é que, além da possibilidade de garimpagem de relacionamentos
inúteis, o número de correlações possíveis de serem obtidas é muito grande, o que
impede a análise de cada uma delas, exigindo, dessa forma, algoritmos inteligentes
que possam selecionar os padrões mais relevantes para certas aplicações.
O processo de Mining tem certas diferenças com relação ao que vimos até
agora. Enquanto as técnicas OLAP objetivam trabalhar os dados existentes,
buscando consolidações em vários níveis e trabalhando fatos em dimensões
variadas, a técnica de Mining busca algo mais que a interpretação dos dados
existentes. Visa, fundamentalmente, realizar inferências, tentando como que
“adivinhar” possíveis fatos e correlações não explicitadas nas montanhas de dados
DW/DM.
As ferramentas de Data Mining estão muito mais relacionadas com
tratamento especial da informação que com estruturações de dados, embora um
subconjunto de dados extraídos do DW e DM provavelmente será o alvo dessas
análises mais sofisticadas.
- 26 -
2.4 - Regras de Associação
2.4.1 - A Descoberta de Conhecimento em Bancos de Dados
A Descoberta de conhecimento em bancos de dados, ou KDD (Knowledge
Discovery in Databases), é o termo, criado em 1989, que se refere ao amplo
processo de descobrir conhecimento em dados armazenados em bancos de dados.
Tal processo objetiva extrair conhecimento implícito e previamente desconhecido,
buscando informação potencialmente útil nos dados [12].
O processo, descrito em [7], consiste em uma seqüência de cinco etapas,
partindo dos dados existentes e chegando à descoberta do conhecimento extraído
dos mesmos. As etapas são descritas a seguir e ilustradas na figura 2:
1. Definição de Metas: nesta etapa é definido o “problema” a ser resolvido pelo
processo de KDD;
2. Seleção dos dados: esta etapa consiste em escolher qual o conjunto de dados
que será submetido ao processo. Como foi apresentado anteriormente, estes
dados normalmente ficam armazenados em um armazém de dados;
3. Pré-processamento: nesta etapa, os dados podem sofrer uma qualificação, a fim
de corrigir erros e inconsistências que poderão existir. É a fase de limpeza dos
dados, onde é determinada a informação relevante (por exemplo: é
desnecessário o campo sexo de um paciente ao estudar gravidez). Os dados
são reconfigurados para assegurar um formato consistente, pois existe a
possibilidade de formatos inconsistentes devido aos dados serem extraídos de
diversas fontes (por exemplo: sexo pode ser guardado como “m” e “f” ou “0” e
“1”);
4. Transformação: nesta etapa, os dados são convertidos em um formato
adequado para serem acessados pelos algoritmos de mineração. É nela que
também se realiza uma possível redução no número de variáveis, sumarizando
os dados que serão submetidos à mineração;
- 27 -
5. Mineração: é a etapa mais importante do processo. É nela que o algoritmo
escolhido é aplicado sobre os dados a fim de se descobrir padrões
interessantes. É fundamental, para que esta etapa obtenha resultados de
qualidade, a correta aplicação dos passos anteriores;
6. Interpretação dos dados: nesta última etapa do processo, os resultados obtidos
na mineração são interpretados e avaliados, selecionando-se o conhecimento
considerado útil.
Figura 2 – O processo de KDD
Os objetivos da descoberta do conhecimento são definidos pelo uso
pretendido do sistema. Em outras palavras, os objetivos dependem dos dados a
serem analisados e do tipo de informação que se pretende obter. Como visto
anteriormente no item 2.3.4 desse capítulo, pode-se distinguir dois tipos de
objetivos, a princípio: verificação e descoberta5. Na verificação, o sistema é limitado
a verificar as hipóteses formuladas pelo usuário. Na descoberta, o sistema
autonomamente encontra novos padrões. Esses padrões podem ser classificados
em duas categorias: descritivos e preditivos [13]. Tarefas descritivas caracterizam as
propriedades gerais dos dados na base de dados. Tarefas preditivas fazem uma
inferência a partir dos dados presentes, de maneira a fazer predições sobre dados
futuros.
5
Assunto já abordado no item 2.2.4 do capítulo II.
- 28 -
Existem diversas tarefas de mineração de dados, também chamadas
'Análises', como vistas no item 2.3.6 e, de acordo com os objetivos da aplicação e
da natureza dos dados, uma determinada tarefa é utilizada. As tarefas de mineração
de dados mais conhecidas são: associação, classificação, agrupamento (clustering)
e regressão. A tarefa de associação, que consiste na descoberta de regras de
associação, é uma das mais utilizadas entre elas. Portanto, devido ao foco do
presente trabalho, os métodos para mineração de dados descritos foram
restringidos às principais técnicas que seguem o padrão descritivo.
2.4.2 - Regras e seus Algoritmos
A tarefa de associação, que envolve a descoberta de regras de associação, é
uma das tecnologias predominantes em mineração de dados. O banco de dados é
tratado como uma coleção de transações, sendo que cada uma envolve um
conjunto de itens [14].
Em mineração de dados, Regras de Associação é uma técnica que consiste
na identificação de padrões intrínsecos ao conjunto de dados. Uma regra de
associação caracteriza o quanto a presença de um conjunto de itens nos registros
de uma Base de Dados implica na presença de algum outro conjunto distinto de
itens nos mesmos registros [15]. Desse modo, o objetivo das regras de associação é
encontrar tendências que possam ser usadas para entender e explorar padrões de
comportamento dos dados.
Uma regra de associação é uma expressão da forma
X ?Y,
onde X e Y são conjuntos de itens. O significado de tal regra é que
transações da base de dados que contêm X tendem a conter Y também. O conjunto
de itens que aparece à esquerda da seta (representado por X) é chamado de
antecedente da regra. Já o conjunto de itens que aparece à direita da seta
(representado por Y) é o conseqüente da regra. Assim, uma regra de associação
tem o seguinte formato:
- 29 -
Antecedente?Conseqüente
A cada regra são associados dois fatores: suporte e confiança. Para uma
regra de associação X ?Y, o suporte indica a porcentagem de registros em que
aparecem X e Y simultaneamente, sobre o total de registros. Já a confiança indica a
porcentagem de registros que contém X e Y, sobre o total de registros que possuem
X. Um conjunto de itens é chamado de itemset e seu suporte é a porcentagem das
transações que contêm todos os itens do itemset. Um itemset é dito freqüente
quando o seu suporte é maior ou igual a um valor de suporte mínimo definido pelo
usuário.
A tarefa de mineração de regras de associação consiste em duas etapas:
1. Encontrar todos os itemsets freqüentes;
2. Gerar regras de associação a partir dos itemsets freqüentes.
Se, na base de dados de transações existirem m itens diferentes, o número
de possíveis itemsets distintos é 2m. Desta maneira, a maior dificuldade na
mineração de regras de associação está em determinar todos os itemsets
freqüentes.
Seja, por exemplo, I = {1, 2, 3, 4} o conjunto de todos os possíveis itens em
uma base de dados. Dessa maneira, tem-se 24 = 16 possíveis itemsets. Na Figura 3
é apresentada uma estrutura, denominada lattice, que representa todos os possíveis
itemsets do conjunto. Nessa estrutura, a borda em destaque separa os itemsets
freqüentes (localizados na parte superior) dos itemsets não freqüentes (localizados
na parte inferior). A existência dessa borda é garantida pela propriedade de que,
para um itemset ser freqüente, todos os seus subconjuntos também devem ser
freqüentes [15]. No entanto, o seu formato depende do suporte de cada itemset e do
suporte mínimo especificado.
- 30 -
Figura 3 – Espaço de busca para o conjunto de itens I={1,2,3,4}
O princípio básico dos algoritmos de mineração de regras de associação é
empregar essa borda de maneira a diminuir o número de itemsets analisados
quanto a serem freqüentes ou não. Assim que a borda é encontrada, os algoritmos
restringem-se a determinar o suporte dos itemsets acima da mesma, e ignorar os
que se encontram abaixo dela [16].
As estratégias mais comuns para se encontrar a borda entre os itemsets
freqüentes e não freqüentes são a busca em largura e a busca em profundidade. A
busca em largura determina o suporte de todos os itemsets de tamanho k-1 antes
de determinar o suporte para os de tamanho k. Para determinar se um itemset é
freqüente, é preciso determinar o seu suporte. Um itemset que possivelmente é
freqüente e que, durante a fase em que se percorre os itemsets, decide-se que terá
seu suporte determinado, é chamado de itemset candidato ou simplesmente
candidato.
- 31 -
Uma abordagem comum para se calcular o suporte de um candidato é contar
diretamente na base de dados a sua ocorrência. Para esse propósito, um contador é
iniciado com zero e todas as transações da base de dados são analisadas. Cada
vez que um candidato é reconhecido como um subconjunto da transação, seu
contador é incrementado.
Outra abordagem é determinar o suporte dos candidatos através de
intersecções entre conjuntos. Um tid é um identificador único de uma transação.
Para um item, sua tidlist é o conjunto dos identificadores das transações que o
contêm. Da mesma maneira, tidlists também existem para cada itemset X, e são
representadas por X.tidlist. A tidlist de um candidato C = X  Y é obtida através de
C.tidlist = X.tidlist  Y.tidlist. O suporte do candidato C é obtido através de |C.tidlist |
/ |D|, onde |C.tidlist| é o número de tids na tidlist e |D| é o número de transações na
base de dados D.
As estratégias para determinar itemsets freqüentes são caracterizadas pelo
modo como são percorridos os possíveis itemsets e como são determinados os
valores de suporte para cada itemset.
2.4.2.1 - O Algoritmo Apriori
[11] introduziu os conceitos que deram origem ao algoritmo APRIORI e suas
variações.
Conceitos Fundamentais do Apriori:

Usualmente, o conjunto de dados que alimentam o processo de geração de
regras associativas é chamado de BASKET DATA e extraído da base de dados
dos sistemas OLTP;

K, denota o passo atual do algoritmo. Inicialmente K = 1, sendo incrementado
em 1 a cada passagem;
- 32 -

CK, conjunto contendo todos os itens, ou conjunto de itens, candidatos a serem
freqüentes e formarem Lk. Gerado sempre através da junção de Fk-1 com ele
mesmo;

Lk, conjunto contendo todos os conjuntos de itens de cardinalidade K, que sejam
freqüentes. Gerado no passo K através da análise de C k.
Abaixo, detalharemos o funcionamento do algoritmo de descoberta de itens
freqüentes.
Passagem 1
Gere o conjunto de itens candidatos em C 1
Salve o conjunto de itens freqüentes em L 1
Passo k
Gere o conjunto de itens candidatos em Ck do conjunto de itens
freqüentes em L k -1
Junte L k –1 p com L k –1 q, como segue:
inserção em C k
selecione p. item 1 , q. item 1 . . . p. item k -1 , q. item k -1
de L k -1 p , L k -1 q
onde p. item 1 = q.item1. . . p. item k -2 = q.item k–2 ,
p. item k -1 <
q.item k -1
Gere todos ( k -1) - subconjunto do conjunto de itens candidatos
em C k
Pode todos os conjuntos de itens candidatos de C k onde alguns (
k -1) - subconjunto do conjunto de itens candidatos, não estão no
conjunto de itens freqüentes L k -1
Faça a varredura da base de dados da transação para determinar o
suporte para cada conjunto de itens candidatos em C k
Salve o conjunto de itens freqüentes em L k
Exemplo 1: Suponha que o suporte mínimo seja de 50%.

A base de dados (BASKET DATA) do nosso exemplo é mostrada abaixo:
- 33 -


TID
A
B
C
D
E
F
T1
1
0
1
1
0
0
T2
0
1
0
1
0
0
T3
1
1
1
0
1
0
T4
0
1
0
1
0
1
Conjunto de itens candidatos em C 2 são mostrados abaixo:
ItemX
suporte
{ A,B }
25% (1)
{ A,C }
50% (2)
{ A,D }
25% (1)
{ B,C }
25% (1)
{ B,D }
50% (2)
{ C,D }
25% (1)
Conjunto de itens freqüentes em L
2
são mostrados abaixo:
ItemX
suporte
{ A,C }
50% (2)
{ B,D }
50% (2)
Exemplo 2: Suponha que o suporte mínimo seja de 40%.
Dado: A base de dados (BASKET DATA) deste exemplo é mostrada abaixo:
- 34 -
TID
A
B
C
D
E
T1
1
1
1
0
0
T2
1
1
1
1
1
T3
1
0
1
1
0
T4
1
0
1
1
1
T5
1
1
1
1
0
Passagem 1
C1
ItemX
A
B
C
D
E
L1
suporte
?
?
?
?
?
ItemX
A
B
C
D
E
Passagem 2
C2
ItemX
suporte
A,B
?
A,C
?
A,D
?
A,E
?
B,C
?
B,D
?
B,E
?
- 35 -
suporte
100% (5)
60% (3)
100% (5)
80% (4)
40% (2)

C,D
?
C,E
?
D,E
?
Nada será podado desde que todos os subconjuntos deste conjunto de itens
sejam freqüentes:
L 2 após ter sido conservado
somente o conjunto de itens
freqüentes
suporte
ItemX
L2
suporte
ItemX
A,B
A,C
A,D
A,E
B,C
B,D
B,E
C,D
C,E
D,E
60% (3)
100% (5)
80% (4)
40% (2)
60% (3)
40% (2)
20% (1)
80% (4)
40% (2)
40% (2)
A,B
A,C
A,D
A,E
B,C
B,D
C,D
C,E
D,E
60% (3)
100% (5)
80% (4)
40% (2)
60% (3)
40% (2)
80% (4)
40% (2)
40% (2)
Passagem 3

Para criar C3 combine todos os itens e selecione somente os itens que têm o
primeiro item equivalente (na passagem k = 3, os primeiros k - 2 itens devem
combinar).
C3
ItemX
junte A B
com A C
junte A B
com A D
junte A B
com A E
suporte
A, B, C
?
A, B, D
?
A, B, E
?
C 3 após podar
suporte
ItemX
A, B, C
A, B, D
A, C, D
A, C, E
A, D, E
- 36 -
?
?
?
?
?
junte A C
com A D
junte A C
com A E
junte A D
com A E
junte B C
com B D
junte C D
com C E

A, C, D
?
A, C, E
?
A, D, E
?
B, C, D
?
C, D, E
?
B, C, D
C, D, E
?
?
Conte as transações na base de dados.
L3

ItemX
suporte
A, B, C
60% (3)
A, B, D
40% (2)
A, C, D
80% (4)
A, C, E
40% (2)
A, D, E
40% (2)
B, C, D
40% (2)
C, D, E
40% (2)
A poda elimina ABE, pois não é freqüente.
Passagem 4
Os primeiros k – 2 = 2 itens, devem combinar na passagem k = 4.
- 37 -
C4
ItemX
suporte
Junte ABC A, B, C, ?
com AB D D
Junte CA D A, C, D, ?
com CA E E
Poda:

Para ABCD ser freqüente, temos que verificar se ABC, ABD, ACD, BCD são
freqüentes. Em todos os casos, são freqüentes, assim nós não podamos ABCD.

Para ACDE ser freqüente, temos que verificar se ACD, ACE, ADE, CDE são
freqüentes. Em todos os casos, são freqüentes, assim nós não podamos ACDE.
L4

ItemX
suporte
A, B, C, D
40% (2)
A, C, D, E
40% (2)
Ambos são freqüentes.
Passagem 5: Não podemos realizar a passagem 5, pois não existem k – 2 =
3 itens, que combinem.
Exemplo 3: Considerando a mesma Basket Data anterior, suponha que o
suporte mínimo seja de 40% e suponha também que a confiança mínima seja de
80%, quanto maior a confiança, menor é a chance de coincidência; considere
também a existência do lift.

A confiança (regras em que a implicação raramente se confirma não são regras
úteis. A confiança é dada por suporte (XY) / suporte (X) e representa a
- 38 -
probabilidade de que uma transação satisfaça Y, dado que ela satisfaz X ) é
calculada através da fórmula:
SUPORTE (A  B) / SUPORTE A

Lift (quantidade de vezes em que X aumenta a chance de ocorrer Y) é
calculada através da fórmula:
CONFIANÇA (A  B) / SUPORTE B

O suporte (regras úteis são regras que ocorrem com freqüência, são
confiáveis e fazem predições interessantes. O suporte de uma regra (XY) é a
probabilidade de uma transação que satisfaça tanto X como Y) é representado
como o total de ocorrências de
e o suporte relativo como a probabilidade
de se encontrar A e B; vale ressaltar que suporte relativo e suporte se equivalem.
Passagem 1: Não são calculados a confiança e o Lift, pois não existe a
condição A  B.
L1
ItemX
suporte
A
100% (5)
B
60% (3)
C
100% (5)
D
80% (4)
E
40% (2)
Passagem 2:
Confiança (A  B) = Suporte (A  B) / Suporte (A)
- 39 -
Suporte (A  B) = 60% = 0,6
Suporte (A) = 100% = 1
Confiança (A  B) = 0,6 = 60%
Lift (A  B) = Confiança (A  B) / Suporte (B)
Confiança (A  B) = 0,6
Suporte (B) = 0,6
Lift (A  B) = 1 = 100%
Sendo assim:
L 2 após ter sido conservadoL 2 após ter sido conservado
somente o conjunto de itenssomente o conjunto de itens
freqüentes.
com confiança superior à
mínima.
[Moldura7]
[Moldura8]
Passagem 3:
L3
ItemX
Suporte
confiança
lift
A, c, d
80% (4)
80%
1,0
- 40 -
CAPÍTULO III – O ESTADO DA ARTE
A quantidade de dados disponíveis vem crescendo assustadoramente nos
últimos anos e vários fatores contribuíram para este incrível aumento. O baixo custo
na armazenagem pode ser visto como a principal causa do surgimento destas
enormes bases de dados. Um outro fator é a disponibilidade de computadores de
alto desempenho a um custo razoável. Como conseqüência, estes bancos de dados
passam a conter verdadeiros tesouros de informação e, devido ao seu volume,
ultrapassam a habilidade técnica e a capacidade humana na sua interpretação [17].
Com isso, o conhecimento se torna de vital importância para o mundo dos
negócios e, na atualidade, as empresas reagem mais rapidamente às mudanças de
mercado, onde a ação ou efeito de conhecer torna-se cada vez mais crítico ao
próprio negócio.
O conhecimento adquirido deve ser consistente, útil e compreensível para a
sua correta interpretação e uso.
Empresas que detêm ou fornecem o conhecimento adquirido com
confiabilidade, rapidez e de forma organizada têm grandes chances de
permanecerem de forma competitiva no mercado.
Dada esta grande importância na corrida por informações significativas,
surge a necessidade de transformar estes dados em informação para que se torne
apoio nas tomadas de decisão, podendo ser usada para melhorar procedimentos,
detectar tendências e características disfarçadas e até prevenir ou reagir a um
evento que ainda esteja por vir.
- 41 -
Com isso vamos citar algumas reportagens de casos de utilização dessa
tecnologia na área comercial, caso estes ocorridos aqui no Brasil.

“Prateleira Cheia no Wal-Mart – Bill Gonzales comanda a tecnologia que
abastece os 300 supermercados da rede no Brasil” [23]: Em entrevista o
chefe de TI, Bill, explica o funcionamento do Software Market Basket 6, que
estuda as compras por clientes, e olha que passam semanalmente cerca de
160 milhões de clientes em todas as 100 mil lojas pelo mundo, sendo assim
descobrem o item que é mais vendido, a banana por exemplo é o itens mais
vendido em todas as lojas, e daí é analisado o que mais se compra junto
com ela. Se for a Coca-cola eles à aproximam da banana, uma filosofia
segundo eles de ”Eu não sei quem você é, mas sei o que você compra”.
Eles ainda tem todo o controle de venda dos itens podendo saber qual item
foi vendido, onde, quantos e a hora.

“Gestão Transparente – Sabesp(Companhia de Saneamento Básico do
Estado de São Paulo) redesenha o data warehouse e implanta BI para
que os gestores atuem sobre a rentabilidade” [24]: Considerada a maior
companhia de seu setor na América Latina, com 17600 funcionários e
faturamento anual cerca de 5 bilhões, ela implantou um Sistema de Gestão
Empresarial para descentralizar a tomada de Decisões para agilizar os
processos. Através de ACR(Avaliação de Controles e Resultados) que são
usados como forma de controle e posteriormente gerando as avaliações do
negócios, eles conseguem saber onde há queda de receita além de
detecção de níveis impróprios para o consumo de água na região
Metropolitana de São Paulo, algo que pode ocasionar em desistência de
clientes ou mesmo induzi-los a fraudes.O grande benefício é permitir acesso
a informações atualizadas e confiáveis para que cada gestor tenha liberdade
de montar seu próprio plano de ação e suas métricas a fim de obter redução
de custos e aumento de arrecadação, ou seja, é um sistema de autogestão
e de autocontrole em prol da melhoria dos controles internos e dos
resultados. A intenção é integrar todas as áreas da empresa (contabilidade,
6
Software de mineração de dados utilizado pela rede de supermercados Wal-Mart.
- 42 -
orçamentária, financeiro, patrimonial e telecomunicações) além de detecção
de fraudes e vazamentos.

“BI no Porto – Empresa de logística Wilson, Sons reduz 70% das filas
de caminhões no terminal de carga com uso de Business Intelligence”
[25]: O terminal de contêineres da empresa Wilson inaugurada em 2000,
operava com 50% de sua capacidade devido o controle de carga e descarga
de caminhões e navios serem controlados por formulários de papel, cerca
de 27500 documentos eram gerados por mês. Sabia-se que era preciso ser
automatizado, pois com o processo de formulários, além de gerar muita
papelada em um alto custo, era impossível de se conseguir gerar alguma
informação útil em tempo hábil, pois depois de finalizado os formulários
ainda tinham que serem lançados no sistema de histórico de transação, ou
seja, mesmo que se consegui encontrar algo relevante seria tarde de mais
pelo gargalo que os formulários geravam. Na primeira fase eles fizeram a
reengenharia de todo o processo e substituíram os formulários por coletores
de dados além da parte de redundância da estrutura de TI. Na segunda fase
entrou o desenvolvimento e implantação de um dashboard (painel de
controle) baseado na ferramenta BI da Cognos 7, a partir daí o gestor passou
a ter todas as informações do sistema seja as estatísticas da atividade,
tempo de carga ou descarga, quantos caminhões na fila, em quanto tempo
o pátio ficaria cheio de contêineres e assim ele poderia tomar
imediatamente as possíveis soluções.
Vamos descrever abaixo alguns projetos acadêmicos para dar uma visão
também da importância da utilização da descoberta de conhecimento nessa área.
3.1 ”A DESCOBERTA DO PERFIL DO ALUNO DE GRADUAÇÃO QUE
INTERROMPE SEUS ESTUDOS NO CAMPUS CENTRAL DA UNIVERSIDADE
LUTERANA DO BRASIL” – Autor: Maurício Rosa de Azeredo [19]
7
A ferramenta Cognos é o software de OLAP mais vendido no mundo, permite que os usuários analisem o maior
número de dados com grande responsabilidade e precisão.
- 43 -
3.1.1 Resumo
Este trabalho apresenta o método de descoberta do conhecimento em
banco de dados (KDD), significando a busca entre as informações de um padrão ou
relacionamento intrínseco, para descobrir a resposta de um problema que, com os
métodos comuns de consulta à banco de dados, não é possível, suas etapas e
algumas ferramentas que podem facilitar o processo de descoberta. Devido a
grande quantidade de dados da ULBRA, algumas informações gerenciais ficam
escondidas entre os dados armazenados. Uma das informações é o perfil do aluno
que interrompe os estudos na Universidade, problema que, ao final do trabalho,
utilizando a metodologia e a ferramenta SIPINA para a mineração de dados, chegase a um resultado que poderá contribuir para a continuidade dos estudos do aluno
na Universidade.
Palavras-chaves:
Knowledge Discovery in Database; Mineração de dados; Sipina.
3.1.2 Proposta
O grande intuito da utilização da tecnologia de Mineração de dados neste
caso é dar maior suporte aos Diretores, haja vista que as instituições de ensino têm
como seus principais clientes os alunos. Portanto, a permanência e a fidelidade dos
estudantes na instituição são de grande importância.
Por ser uma das universidades de maior destaque do Brasil, a ULBRA
contém uma enorme quantidade de dados, o que dificulta a análise dos dados pelos
métodos comuns de busca em banco de dados. Em uma instituição como esta, a
mineração de dados pode ser muito útil para evitar a evasão do aluno e, com isso,
criar uma fidelização do aluno.
O que ocorre, na verdade, é que nota-se um índice de abandono grande nos
cursos, ou seja, muitos acabam desistindo ou parando no meio dos estudos, mas a
- 44 -
instituição não sabe nem ao certo o que os leva a essa evasão. Aí que entra a
utilização da descoberta de conhecimento que, através do banco de dados da
instituição, irá buscar as razões pelas quais os alunos deixam de seguir suas
atividades, visando prever uma desistência e corrigi-la em tempo, permitindo que o
estudante permaneça por mais tempo na instituição.
Devido à facilidade de obtenção e considerando a utilização anterior do
Sipina na Universidade Luterana do Brasil, esta ferramenta foi utilizada para
obtenção do conhecimento dentro do processo de KDD, sendo assim, um fator
positivo pelo conhecimento da ferramenta e seus recursos.
Depois de escolhida a ferramenta, vem a preparação dos dados e a escolha
dos mesmos dispõe de muito conhecimento de como as informações estão
dispostas no banco de dados e da ferramenta que será utilizada na etapa de
mineração de dados, pois pode acontecer de uma informação ser selecionada para
participar da descoberta do conhecimento e esta não ser aproveitada na etapa de
mineração de dados, sendo assim, essa é uma parte crucial no processo de KDD e
exige muita atenção.
Logo, a mineração de dados através da ferramenta Sipina revelou alguns
perfis de alunos que interromperam os estudos na ULBRA e cabe, a partir deste
ponto, ao administrador responsável estabelecer um campo de ação para diminuir a
existência desses perfis.
3.2 ”ESTUDO EM MINERAÇÃO DE DADOS APLICADO A UMA BASE DE DADOS
DE MATERIAIS DE ESTOQUE DA INDÚSTRIA SIDERÚRGICA” – UNIVERSIDADE
LUTERANA DO BRASIL - Autora: ANNELISE PEGORINI GUIMARÃES. [20]
3.2.1 Resumo
Nos últimos anos, a capacidade das empresas de gerar e armazenar
grandes quantidades de dados aumentou significativamente e foram desenvolvidas
- 45 -
novas técnicas e ferramentas com capacidade de processar e analisar os dados de
forma automática e inteligente. A mineração de dados representa o processo de
extrair informação implícita, desconhecida e útil em grandes bases de dados. Este
trabalho apresenta um estudo das técnicas de mineração de dados e a aplicação de
uma dessas técnicas na base de dados de materiais da indústria siderúrgica.
Palavras-chaves: Mineração de Dados, Técnicas de Mineração de Dados,
Descoberta de Conhecimento em Base de Dados, WizRule, Aira, Sipina.
3.2.2 Proposta
Este trabalho utiliza uma aplicação de Data Mining para auxiliar no trabalho
de padronização técnica da nomenclatura de materiais de estoque de almoxarifado
utilizados na indústria siderúrgica. Na área de consultoria técnica, normalmente se
utilizam grandes bases de dados, com alto grau de complexidade, o que torna difícil
definir a melhor estratégia para a realização do trabalho de acordo com as
necessidades do cliente.
O objetivo é realizar um estudo de caso em uma base de dados de materiais
de estoque de almoxarifado, usando a ferramenta SIPINA que utiliza a técnica de
Árvores de Decisão.
A escolha da técnica de Árvore de Decisão, que foi utilizada neste trabalho,
é uma boa opção por ser uma técnica simples, adequada a atributos numéricos,
mais fácil de ser compreendida e pode ser utilizada em grandes bases de dados. A
ferramenta Sipina foi selecionada para a validação da técnica de Data Mining,
porque possui licença para uso educacional, implementa o método de classificação
e utiliza árvore de decisão para representar o conhecimento obtido.
Após a aplicação da ferramenta, será realizada uma análise dos resultados
para definir e classificar o tipo e o nível de pesquisa necessário para a padronização
da nomenclatura dos diversos grupos de materiais, definir o perfil de recursos
- 46 -
humanos que serão utilizados na execução do trabalho e identificar qual o grau de
importância dos grupos de materiais para estabelecer a ordem lógica de realização
do trabalho.
Com isso, utilizar as árvores de decisão que apresentaram o conhecimento
de maneira mais significativa. Com a utilização da mineração de dados, a empresa
pretende quantificar com maior precisão os recursos humanos e materiais que serão
empregados e definir com maior clareza os métodos e processos que serão
utilizados.
3.3 ”ALGORITMO SSDM PARA A MINERAÇÃO DE DADOS SEMANTICAMENTE
SIMILARES” – Autor: EDUARDO LUÍS GARCIA ESCOVAR. [21]
3.3.1 Resumo
Neste trabalho, é apresentado o algoritmo SSDM (Semantically Similar Data
Miner), criado para permitir a mineração de dados semanticamente similares.
Usando conceitos de lógica nebulosa, esse algoritmo analisa o grau de similaridade
entre os itens e o considera, caso ele seja maior do que um parâmetro definido pelo
usuário. Quando isso ocorre, são estabelecidas associações nebulosas entre os
itens, que são expressas nas regras de associação obtidas. Assim, além das
associações descobertas por algoritmos convencionais, o SSDM também descobre
associações semânticas e as exibe junto às demais regras obtidas. Para isso, são
definidas estratégias para descobrir essas associações e para calcular o suporte e a
confiança das regras onde elas aparecem.
Palavras-chave: Lógica Nebulosa, Mineração de Dados, Regras de
Associação, Similaridade, Semântica.
- 47 -
3.3.2 Proposta
Embora haja um enorme avanço nas pesquisas na área de descoberta de
conhecimento, a solução de alguns problemas, como mineração de dados
multimídia (imagem, áudio e vídeo), permanece em aberto.
Dessa forma, o objetivo foi a realização da mineração de dados
semanticamente similares, usando conceitos de lógica nebulosa para processar e
representar as similaridades semânticas encontradas entre os itens armazenados
em uma base de dados. Para isso, foi necessária a definição de estratégias para se
descobrir associações nebulosas entre itens similares, permitindo assim a sua
consideração entre os itens a serem minerados. Para atingir este objetivo, foi criado
um algoritmo que, considerando a existência dessas associações, estabelece novas
formas de cálculo para o suporte e a confiança das regras a serem descobertas.
Deu-se o nome de SSDM (Semantically Similar Data Miner) ao algoritmo
que nada mais é que a junção de um algoritmo clássico, o Apriori, com o uso dos
conceitos de lógicas nebulosas.
A Lógica Nebulosa (Lógica Fuzzy) trata
matematicamente informações imprecisas usualmente empregadas na comunicação
humana, permitindo inferir uma resposta aproximada para uma questão baseada em
um conhecimento que é inexato, incompleto ou não totalmente confiável. É nesta
natureza da informação que reside à nebulosidade.
A mineração de dados tem como principal objetivo a descoberta de
conhecimento, seja qual for o tipo dos dados minerados. A análise do significado
dos dados minerados (ou seja, de sua semântica) naturalmente contribui para que a
qualidade das informações obtidas através da mineração seja maior e,
conseqüentemente, melhores devem ser as decisões guiadas por essas
informações, pois essa técnica trata cada item semanticamente e não como apenas
uma cadeia de caracteres (String), ou seja, o seu significado assume um importante
papel na mineração dos dados. Assim, itens como pão e baguete, por exemplo,
seriam considerados completamente diferentes por eles. De fato, as strings8 são
totalmente distintas, mas pertencem a um mesmo contexto (domínio). Afinal, pão e
8
Conjunto de caracteres encontrados em bancos de dados e interface que estão sujeitos ao processo
de tradução.
- 48 -
baguete são utilizados para um mesmo fim (alimentação), têm aspecto semelhante,
possuem basicamente os mesmos ingredientes e geralmente estão disponíveis para
a venda no mesmo local, logo, é um caso de similaridade semântica entre os itens,
ignorada por algoritmos clássicos, mas que podem desperdiçar informações
relevantes.
Minerar os dados sem considerar a similaridade semântica entre itens, por
exemplo, leva a regras de associação que envolvem esses itens apenas
individualmente. Uma análise adicional que considere associações entre esses itens
similares poderia levar à descoberta de outras regras de associação, possivelmente
relevantes também.
O algoritmo SSDM, que teve base no algoritmo Apriori, introduziu um novo
conceito ao Apriori para satisfazer suas premissas, que é o conceito de grau de
similaridade, que nada mais é do que o grau de similaridade entre os itens que pode
ser expresso por um valor real no intervalo [0,1].
Embora o processo de mineração de dados multimídia ainda não seja
totalmente automático devido a sua complexidade, esse estudo mostra que, mesmo
assim, pode-se gerar conhecimento através dos mesmos. Com a criação e
aplicação do algoritmo SSDM, tornou-se possível descobrir regras de associação
que refletem a similaridade semântica que pode haver entre os dados.
Em aplicações de mineração de dados, muitas vezes, a análise do
conhecimento obtido pode ser influenciada pela qualidade de representação das
informações e, na tentativa de melhorá-la, o uso de conceitos da lógica nebulosa em
mineração de dados tem sido bastante explorado. Assim, a utilização dos conceitos
de lógica nebulosa no SSDM contribuiu para que a representação e manipulação
das informações estejam mais próximas da linguagem humana. Com isso, o
conhecimento fornecido por essas regras passa a ser mais rico, pois são reveladas
associações entre os dados que algoritmos convencionais não são capazes de
descobrir. Como o processo de descoberta de conhecimento (KDD) busca padrões
potencialmente úteis e compreensíveis nos dados, quanto melhor for a
compreensão do conhecimento obtido, maior será a sua utilidade. A mineração de
dados semanticamente similares caminha nesse sentido.
- 49 -
3.4 “EXTRAÇÃO DE REGRAS DE ASSOCIAÇÃO EM UMA BASE DE DADOS
RELACIONAL” – Autor: Hélcio Gomes de Souza Filho. [22]
3.4.1 Resumo
Atualmente, as empresas estão armazenando uma quantidade grande de
dados e, com isso, surge a necessidade de se criar procedimentos automatizados
para pesquisar estes dados a fim de descobrir as associações e correlações
existentes, porém ocultas. Os algoritmos de extração de regras de associação
constituem uma importante ferramenta para busca de conhecimento escondido em
grandes bases de dados. Nosso trabalho tem o objetivo de desenvolver uma forma
otimizada de extrair as regras de associação utilizando as facilidades disponíveis
nos SGBDs relacionais.
Palavras-chave: Regras de Associação, Banco de Dados Relacional, Algoritmo
Apriori.
3.4.2 Proposta (Desenvolvimento)
Este trabalho aborda a utilização de regras de associação, uma das mais
importantes técnicas de mineração de dados, através da implementação do
algoritmo Apriori, com a finalidade de descobrir associações e correlações
existentes entre os dados de um grande banco de dados que atendam a critérios
estabelecidos, satisfazendo, assim, a necessidade de extração automática de
conhecimento dos mesmos.
O algoritmo Apriori é um dos mais conhecidos para encontrar grandes conjuntos
de itens em bancos de dados de transações. A proposta aqui é integrar o algoritmo
- 50 -
Apriori com um SGBD relacional, visto que muitas das implementações encontradas
fazem uso de arquivos de dados isolados.
Nessa parte da implementação, surge um conceito importante sobre a ligação,
ou melhor, integração entre o SGBD e o Apriori, que é o fato deles poderem ser
implementados fracamente acoplados, ou seja, o algoritmo é executado fora do
SGDB, tornando-o um mero local de armazenamento ou a implementação pode ser
fortemente acoplada, onde os dados e a aplicação estão armazenados no núcleo do
SGBD. Foi usada, aqui, a segunda abordagem, pois o algoritmo foi implementado
através de procedimentos armazenados e escritos na linguagem Transact-SQL.
Foi utilizado, então, o SGBD da Microsoft, SQL SERVER 2000, pela sua opção
de utilização de procedimentos escritos em Transact-SQL, como já foi dito, para
uma maior integração e desempenho na execução do algoritmo no SGBD, evitando,
assim, uma maior necessidade de hardware empregado e obtendo um menor
tráfego nas redes, pois tudo é rodado dentro do banco de dados.
Utilizando uma base de dados com 268 transações de clientes de um mercado,
onde os clientes podem escolher entre vários produtos, uma situação real que
ocorre no dia a dia, foi constatado que, embora o algoritmo tenha tido um bom
desempenho, fica claro que
existem gargalos, em se tratando de desempenho
comparado com arquivos isolados, até mesmo pelo volume de dados, mas a
expectativa é que, com a atual demanda de mineração de dados, os SGBDs
venham a integrar novas funções que facilitem no processo. Mas também existem
fatores positivos, como a facilidade de diversas aplicações escritas em diversas
linguagens utilizarem uma mesma implementação, pois basta solicitar através de
linguagem SQL ao SGBD, já que as rotinas estão armazenadas neles próprios,
retornando, assim, o mínimo de dados, reduzindo o tráfego de dados, e o fato de,
com pequenas mudanças, o algoritmo poder ser implementado em outro SGBD, que
outrora também suporte os Transact-SQL.
- 51 -
CAPÍTULO IV - O SOFTWARE DE MINERAÇÃO Weka
4.1– Introdução
O Weka é um software minerador de dados escrito em Java9,
desenvolvido na Universidade de Waikato, na Nova Zelândia, com a
finalidade de analisar um grande corpo de dados e decidir quais as
informações mais relevantes. Esta informação cristalizada pode, então,
ser usada para fazer previsões ou para ajudar a tomar decisões de forma
mais rápida e exata. [X1]
9
Linguagem de programação orientada a objetos, desenvolvida pela Sun Microsystems, Inc.
- 52 -
Figura 4 – Tela de Apresentação do Weka
O Weka possui uma coleção de algoritmos que podem ser usados na
mineração dos dados. Dentro desta coleção, estão algoritmos que utilizam
diferentes técnicas para extração dos dados, tal como regras de associação,
classificação de instâncias, determinação de relevâncias entre os atributos,
entre outros. O software é capaz de visualizar atributos simples, bem como
pares de atributos.
Esquemas de aprendizado implementados incluem árvores de decisão
e listas.
- 53 -
Figura 5 – Tela Explorer do Weka
O Weka pode tanto minerar uma base de dados selecionada quanto arquivos
que são gerados em formato específico para utilização do próprio software. O
arquivo utilizado deve ser *.arff como extensão. Um exemplo de seu conteúdo pode
ser visto abaixo.
Tabela condições.arff:
@relation condicoes
@attribute aparencia {chuvoso,encoberto,sol}
@attribute temperatura {frio,agradável,quente}
@attribute umidade {normal,alta}
@attribute vento {falso,verdade}
@attribute jogo {sim,nao}
- 54 -
@data
chuvoso,frio,normal,falso,sim
chuvoso,agradável,alta,falso,sim
encoberto,quente,alta,falso,sim
sol,quente,alta,verdade,nao
sol,quente,alta,falso,nao
chuvoso,frio,normal,verdade,nao
- 55 -
CAPÍTULO V – DESENVOLVIMENTO
Neste capítulo, apresentaremos o protótipo desenvolvido e a descrição de
suas funções. No desenvolvimento do software, foi utilizada a linguagem Delphi e o
banco de dados utilizado foi o SQL Server 7.0.
- 56 -
5.1 – Descrição das Funções do Sistema
Figura 6 - Tela principal do protótipo
(1)
Botão de seleção da base de dados a ser minerada;
(2)
Nome da tabela selecionada
(3)
Nome do Algoritmo utilizado
(4)
Valor do suporte mínimo definido pelo usuário;
(5)
Confiança mínima definida pelo usuário;
(6)
Campos da tabela;
(7)
Atributos do campo selecionado;
(8)
Gerar tabela “Selecionados” (Estudo de caso).
(9)
Botão de criação da tabela principal;
(10)
Botão de mineração
(11)
Exibição dos resultados obtidos;
(12)
Relatório final
(13)
Botão de saída.
(14)
Status de conexão com o Banco de dados
(15)
Informações da tabela selecionada
(16)
Indicadores dos passos do algoritmo
- 57 -
Figura 7 – Tela para criação da tabela “Selecionados”.
(1) – Nome da tabela de negócio;
(2) - Campos da tabela de negócio;
(3) - Campos da tabela a ser minerada;
(4) – Botão gerador da tabela a ser minerada.
Figura 8 – Tela de exibição dos resultados
- 58 -
(1) – Seleção dos níveis de mineração;
(2) – Informações do passo;
(3) - Apresentação dos dados.
5.2 – O protótipo no KDD (Caso de Uso)
Nesse protótipo as fases do KDD, abordados na figura 1, seguem da seguinte
maneira:
Começamos essa etapa do projeto com a escolha da nossa base de dados.

Seleção: Aqui fizemos a opção de uso da tabela de clientes.

Processamento: Nesta etapa do protótipo resolvemos o problema dos
campos nulos da tabela. E daí aplicamos um filtro para selecionar os clientes
negativos (“Maus pagadores”). Vide figura 7.

Transformação: Nesta etapa foi realizada uma analise dos campos que
seriam minerados (úteis) estudando seus suportes para obtenção do perfil
dos clientes “negativados”. Criação da tabela SELECIONADOS. Vide figura 7
– Função 4.

Como o algoritmo Apriori trata dos campos como atributos booleanos,
foi necessário que fizéssemos a relação do nome do campo e seu
atributo pois estes eram multivalorados.
Estado Civil
Bairro
Solteiro
Centro
Casado
Pecuária
- 59 -
T1 Estado Civil = Solteiro
T1 Bairro = Centro
T2 Estado Civil = Casado
T2 Bairro = Centro
Desta forma consegue se obter o suporte dos campos multivalorados.

Mineração: Nesta etapa é aplicado sobre os dados o algoritmo Apriori. Vide
figura 6 - Função 10.

Interpretação dos dados: Apresentação do relatório com os valores da
mineração relacionada. A partir daí se faz análise dessas regras e obtém o
conhecimento.
Figura 9 – Relatório de Mineração – Informações sobre o Banco de Dados.
- 60 -
Figura 10 - Relatório de Mineração – Informações dos parâmetros do Algoritmo.
Figura 11 - Relatório de Mineração – Regras encontradas.
Após concluída as fases descritas acima sobre o caso de uso, chegamos ao
seguinte perfil do cliente “negativado”.
- 61 -
E sua maioria, o cliente em questão:

Não possui cartão de credito

Não é cliente bloqueado

Não possui casa própria

O limite máximo de valor de prestação é de R$ 20,00

Fez somente uma compra
5.3 – Protótipo x Weka
O software Weka, apresentado no capítulo IV, foi utilizado como forma de
comparação com o nosso protótipo no caso de uso descrito a seguir, a fim de
confirmar os resultados obtidos.
Figura 12 – Tela de Padrões Encontrados pelo Protótipo.
Figura 13 - Tela de Padrões Encontrados pelo Weka 10 regras.
Todos os padrões encontrados pelo protótipo, também puderam ser
encontrados no Weka quando a mesma tabela (página 55) foi minerada. Os
padrões destacados, só foram encontrados quando o parâmetro “número de regras”
- 62 -
no Weka foi colocado em 20, isto porque o Weka faz uso de outros parâmetros não
utilizados no nosso protótipo.
Figura 14 - Tela de Padrões Encontrados pelo Weka 20 regras.
- 63 -
CAPÍTULO VI – CONCLUSÃO E RECOMENDAÇÕES
Encontramos ferramentas Data Miners bastante poderosas no mercado de TI,
porém, para se conseguir o uso correto dessa eficácia, pessoas treinadas e
capacitadas devem fazer parte de todo o processo.
Ao contrário do que muitos pensam nem sempre é o padrão mais forte (
associação de uma quantidade maior de itemsets ) que correspondem exatamente
com a realidade, sendo necessário a associação destes com demais padrões
(fracos) . Na fase de análise deve-se fazer a ponderação desses padrões
cuidadosamente, afim de que medidas e ou providências não sejam tomadas de
forma errônea.
Para trabalhos futuros sugerimos que seja escolhido um padrão preditivo de
mineração de dados. Tal padrão pode ser implementado com a utilização das
técnicas de redes neuronais como no caso do Algoritmo SSDM.
Esperamos que com esse trabalho possamos contribuir no estudo daqueles
que por ventura venham trabalhar com ferramentas miners e ainda com
profissionais que atuem em áreas correlatas.
- 64 -
CAPÍTULO VII – BIBLIOGRAFIA
[1] BERRY , Michael J. e LINOFF, Gordon. Data Mining Techniques For Marketing,
Sales and Customer Support. John Wiley & Sons, 1997.
[2] Valdemar W. Setzer Depto. de Ciência da Computação, Universidade de São
Paulo. http://www.ime.usp.br/~vwsetzer/dado-info.html
[3] SINGH, Harry S. (2001). Data warehouse - Conceitos, Tecnologias,
Implementação e Gerenciamento. Tradução: Mônica Rosemberg. São
Paulo, Makron Books, 382p.
[4] Kimball, R., The Data Warehouse Toolkit: Practical Techniques for Building
Dimensional Data Warehouses, John Wiley & Sons, Inc., New York, 1996.
[5] Inmon, W.H., Building the Data Warehouse, John Wiley & Sons Inc., USA, 1992.
[6] Fayyad, U. (1997) Advances in Knowledge Discovery and Data Mining. The AAAI
Press, 1996.
[7] Fayyad, Usama; Piatetski-Shapiro, Gregory; Smyth, Padhraic (1996) The KDD
Process for Extracting Useful Knowledge from Volumes of Data,
Communications of the ACM, 1996.
[8] DW BRASIL; http://www.dwbrasil.com.br/html/dmining.html em novembro de
2004.
- 65 -
[9] GRUPO DE SISTEMAS INTELIGENTES;http://www.din.uem.br/~ia/ em agosto
2005.
[10] Attar, A. A.,” Data Mining - Beyond Algorithms”, http://www.attar.co.uk, 1999.
[11] Agrawal R., Imielinsk T., Swami A. “Mining Association Rules Between Sets of
Items in Large Databases”, 1993.
[12] ROMÃO, Wesley, NIEDERAUER, Carlos A. P., MARTINS0, Alejandro,
TCHOLAKAIN, Aran, PACHECO, Roberto C. S., e BARCIA, Ricardo M.
Extração de Regras de Associação em C&T: O Algoritmo Apriori. Programa
de Pós-Graduação em Engenharia de Produção - UFSC, Florianópolis,
Brasil; 20P.
[13] HAN, Jiawey e KAMBER, Micheline. Data Mining: Concepts and Techniques.
Morgan Kaufmann, 2001.
[14] Elmasri, R. & Navathe, S. B. (2004), Fundamentals of Database Systems, 4th
edition edn, Pearson Addison Wesley.
[15] Agrawal R., Srikant, R. “Fast Algorithms for Mining Association Rules”, 1994.
[16] J. Hipp, U. G untzer, and G. Nakhaeizadeh. Algorithms for association rule
mining: a general survey and comparison. SIGKDD Explorations,2000.
[17] Carvalho, Deborah Ribeiro. Data Mining Através de Indução de Regras e
Algoritmos Genéticos. Dissertação (Mestrado em Informática Aplicada) –
Pontifícia Universidade Católica do Paraná (PUC-PR), Curitiba.
[18] WEKA SOFTWARE; http://www.cs.waikato.ac.nz/ml/weka/ em agosto 2004.
[19] AZEREDO, Maurício Rosa de (2004). A descoberta do perfil dos alunos de
graduação que interrompe seus estudos no campus central da Universidade
Luterana do Brasil.Trabalho de Conclusão de Curso Superior de Tecnologia
em Informática. Rio Grande do Sul: Universidade Luterana do Brasil,
Canoas, 57p.
[20] GUIMARÃES,Annelise Pegorini (2003). Estudo em Mineração de Dados
Aplicado a uma Base de Dados de Materiais de Estoque da Indústria
- 66 -
Siderúrgica. Trabalho de Conclusão de Curso Superior de Tecnologia em
Informática. Rio Grande do Sul: Universidade Luterana do Brasil, Canoas,
78p.
[21] ESCOVAR, Eduardo Luís Garcia (2004). Algoritmo SSDM para a Mineração de
Dados Semanticamente Similares. Dissertação de Mestrado. São Paulo:
USP - São Carlos, 87p.
[22] SOUZA FILHO, Hélcio Gomes de. (2004) Extração de Regras de Associação de
um Banco de Dados Relacional. Tese de mestrado. Rio de Janeiro: UFRJ,
COPPE, 67p.
[23] TERZIAN, Françoise - Setembro (2006). Prateleira cheia no WAL-MART (Info
Exame). São Paulo: Editora Abril.
[24] PAVANI, Luana - Setembro (2006). Gestão Transparente (Info Corporate). São
Paulo: Editora Abril.
[25] OSSAMU, Carlos – Outubro (2006). BI no Porto (Info Corporate). São Paulo;
Editora Abril.
[26] DIAS, Evandro & PESSANHA, Fernando Fernandes & SOUZA, Frederico pinto
& MANHÃES, Sandro de Souza (2003). Utilização das Tecnologias de Business
Intelligence para Descoberta de Conhecimento em Bases de Dados. Trabalho de
conclusão do curso de Ciência da computação. Campos dos Goytacazes:
Universidade Candido Mendes.
- 67 -
Download