Você está na página 1de 16

Data Maning e Data Warehouse

Antonio Marcos L. F. Carianha1, Hugo V. V Braga1, José Augusto M. S. Júnior1, 
Waltemir L. P. Júnior1
1
Departamento de Ciência da Computação – Universidade Federal da Bahia (UFBA)
Ondina – Salvador – Ba – Brasil
{makui,hugovaz,verne,wal}@dcc.ufba.br

Abstract.  Actually the amount of data we have stored in databases is huge.  
Due to incapability of human being to handle and interpret the large amount  
of data, emerges the need to build tools and create techniques for handling  
such data, beyond identifying the implicit, previously unknown and potentially  
useful  knowledge.   In   this   paper   we   discuss   the   Knowledge   Discovery   in  
Databases   (KDD)   process,   focusing   on   Data   Mining   step   (DM)   and   its  
algorithms as well as the organization of data through the Data Warehouse.
Resumo.  Atualmente a quantidade de dados que dispomos armazenados nos  
bancos de dados é imensa. Devido à incapacidade do ser humano de manejar  
e interpretar essa grande quantidade de dados, emerge a necessidade de criar  
ferramentas e técnicas para manipulação desses dados, além da identificação  
do conhecimento implícito, previamente desconhecido e potencialmente útil.  
Nesse   artigo   abordamos   o   processo   de   Descoberta   do   Conhecimento   em  
Bases de Dados (Knowledge Discovery in Databases ­ KDD), dando enfoque  
à etapa de Mineração dos Dados (Data Mining ­ DM) e seus algoritmos assim  
como à organização dos dados através do Data Warehouse.

1.Introdução
À medida que as empresas se automatizam, a quantidade de dados que são armazenados 
é cada vez maior. Com toda essa quantidade de dados armazenada, seus respectivos 
bancos de dados crescem rapidamente, impossibilitando a interpretação manual destes 
dados. Surge então a necessidade de se criar ferramentas e técnicas que possibilitem a 
extração e interpretação da informação de forma automatizada.
Basicamente o KDD, através de uma série de métodos e técnicas, transforma 
dados brutos em “algo” que faça sentido. Esse “algo” que faça sentido pode ser um 
relatório ou um modelo abstrato que facilite a compreensão do usuário. É importante 
salientar que neste contexto, o KDD é o processo completo enquanto que o Data Mining 
é uma das etapas do KDD, responsável pela geração dos padrões através da aplicação de 
algoritmos específicos.
Diversas   áreas   de   pesquisa   têm   contribuído   e   forneceram   técnicas   para   o 
desenvolvimento do KDD. Entre elas podemos destacar o Aprendizado de Máquina, 
Estatística   e   Banco   de   Dados.   A   Estatística   fornece   métodos   para   quantificar   as 
incertezas   provenientes   da   inferência   de   padrões   de   uma   determinada   amostra   da 
população. O Aprendizado de Máquina fornece meios para modelar os dados e extrair 
padrões. Com relação à área de Banco de Dados, podemos destacar o Data Warehouse 
que é uma arquitetura utilizada para armazenar assim como gerenciar dados de diversas 
Bases de Dados para que seja possível ter uma visão geral do negócio. Para analisar os 
dados no Data Warehouse utiliza­se ferramentas OLAP (On­line Analytical Processing).

Figura 1. Na figura está a diferença entre ferramentas OLAP e Data Mining e como elas 
se relacionam com o Data Warehouse.

O presente artigo está organizado como segue: A seção 1 aborda uma breve 
introdução sobre o tema. Na seção 2 são abordadas algumas aplicações no mundo real 
do KDD. Na seção 3 é abordado de forma geral o processo do KDD, decompondo em 
suas etapas. Na seção 4 falamos um pouco sobre definição e manipulação de dados no 
DM. Na seção 5 apresentamos o Data Warehouse. Na seção 6 explanamos a etapa DM, 
dando   enfoque   a   seqüência   lógica   que   ocorre   no   DM.   Na   seção   7   abordamos   os 
principais métodos, técnicas e algoritmos do DM. Para finalizar, na seção 8 concluímos 
o artigo.

2.Aplicações no mundo real
Devido ao sucesso que algumas aplicações que utilizavam algoritmos do Data Mining 
tiveram, diversas áreas despertaram interesse e passaram a utilizar softwares de Data 
Mining.
Saúde: Algumas empresas de assistência médica utilizam o Data Mining para 
reduzir custos relativos aos seus clientes e dependentes. Através dos métodos relativos 
ao   DM,   descobrem   as   áreas   que   são   propensas   a   dobrar   ou   aumentar   de   forma 
considerável os custos, intervindo de forma estratégica nessas áreas. O DM também é 
utilizado pelos médicos. Baseado em informações previamente armazenadas de alguns 
pacientes, é possível predizer qual o melhor tratamento para os futuros pacientes.
Mercado:  Na área  de mercado  o  KDD  é  utilizado  para  estudar o  perfil  dos 
clientes e dividir estes clientes em grupos para que políticas diferentes sejam aplicadas a 
cada grupo. As empresas são capazes de descobrir, por exemplo, que um determinado 
grupo prefere promoções enquanto que outro prefere produtos personalizados. O KDD é 
também bastante utilizado para descobrir padrões que representam associações entre 
produtos  adquiridos  pelos   clientes.   Padrões   do   tipo   “80%   dos   clientes   que   levam   o 
produto   A   também   adquirem   o   produto   B”   podem   ser   extraídos   do   KDD,   mas 
especificadamente através do DM. Com isso várias decisões de marketing podem ser 
tomadas visando o aumento do faturamento.
Detecção de fraude: Operadoras de cartão de crédito são capazes de detectar 
transações fraudulentas. Por exemplo, dependendo da data, do horário e da localidade 
em   que   uma   determinada   transação   foi   realizada,   a   operadora   pode   desconfiar   da 
transação e tomar alguma medida de segurança.

3.O processo KDD
Como já foi dito anteriormente, o KDD é um processo e neste caso ele é formado por 
diversas etapas. Ele é interativo e iterativo. Interativo porque ao longo do processo é 
necessário a participação do analista para que algumas decisões sejam tomadas, como 
por exemplo a seleção dos padrões úteis extraídos após o DM. Iterativo porque as etapas 
podem ser repetidas caso o objetivo ainda não tenha sido alcançado. Basicamente nós 
realizamos   um   pré­processamento   para   entendimento   do   domínio,   levantamento  dos 
objetivos, assim como limpeza dos dados e o armazenamento propriamente dito em um 
Data Warehouse, caso tenha­se optado por ele. Logo em seguida é que ocorre a etapa do 
DM, que consiste basicamente na aplicação dos algoritmos para criação dos modelos de 
DM.   Por   fim,   os   padrões   devem   ser   selecionados   e   interpretados   para   que   sejam 
aplicados pelos clientes.

4.Linguagens de definição e manipulação de dados
Algumas projetos existentes estão tentando padronizar uma linguagem de consulta para 
o DM. Para dar suporte ao DM, estas linguagens devem permitir a definição de tarefas, 
como mensurar os padrões encontrados além da visualização do modelo. A principal 
tentativa é o DMQL, mas existem outros projetos tais como MSQL, MiniRule, DMX 
(Data Mining Extensions) e DMML. Vamos falar apenas do ARFF que é o formato de 
arquivo de entrada para algumas aplicações de DM.

4.1.ARFF
ARFF   (Attribute­Relation   File   Format)   é   um   formato   de   arquivo   que   serve   para 
descrever os dados em uma relação. Ele é utilizado como DDL em vários programas de 
DM, principalmente o Weka. Sua sintaxe é bem simples, visto que o arquivo é dividido 
basicamente em duas partes: cabeçalho e dados.
No   cabeçalho,   nós   definimos   o   nome   da   relação,   assim   como   o   nome   dos 
atributos e seus tipos. São definidos desta maneira:
@RELATION <nome­da­relação> % declaração da relação
@ATTRIBUTE <nome­atributo­1> <tipo­do­atributo>
O tipo do atributo poder ser: NUMERIC, <especificação nominal>, STRING ou 
DATE.   INTEGER   e   REAL   também   são   válidos,   sendo   interpretados   como   do   tipo 
NUMERIC. Quando o atributo é uma “especificação nominal”, é necessário listar os 
possíveis valores para o atributo, sendo que a declaração do atributo passa a ser desta 
maneira:
@ATTRIBUTE <nome­atributo> {valor1, valor2, ..., valorN}
Na parte de definição dos dados os valores dos atributos são definidos seguindo 
a ordem da declaração dos atributos definida no cabeçalho:
@DATA
val­atr1, val­atr2, ..., val­atrN %registro
Ex: 
@RELATION tempo
@ATTRIBUTE temperatura REAL
@ATTRIBUTE vento {sim, não}
@ATTRIBUTE brincar {sim, não}
@DATA
85, não, não
80, sim, não
83, não, sim

5.Data Warehouse
Segundo Inmon, o idealizador do conceito, Data Warehouse  “é uma coleção de dados 
integrados, orientados por assunto, variáveis com o tempo e não voláteis, usados para 
dar suporte ao processo gerencial de tomada de decisão” [INM96].
Para Barquini, Data Warehouse  “é uma coleção de técnicas e tecnologias que 
juntas disponibilizam um enfoque pragmático e sistemático para tratar com o problema 
do   usuário   final   que   precisa   acessar   informações   que   estão   distribuídas   em   vários 
sistemas da organização” [BAR96].
Kimball declara que “um conjunto de ferramentas e técnicas de projeto quando 
aplicadas às necessidades específicas dos usuários e aos bancos de dados específicos 
permitem que planejem e construam um Data Warehouse” [KIM97].
O Data Warehouse (DW) é o produto obtido pelo processo de Data Warehousing, um 
processo para construir e gerenciar repositórios de dados provindos de diversas fontes, 
internas e externas, com o propósito de ter uma visão detalhada e singular de parte ou 
do todo de um negócio. Os dados sofrem algumas transformações neste processo, por 
exemplo,   limpeza,   verificação   de   consistência   e   totalização   em   níveis   hierárquicos 
utilizados   na   análise.   Assim,   os   dados   anteriormente   inutilizados   devido   à   falta   de 
organização e pela dispersão em diversas bases relacionais, são armazenados de uma 
forma   clara,   agregada   e   estruturada   em   um   DW.   Então,   podem  ser   analisados   por 
ferramentas   OLAP   (On­Line   Analytical   Processing),   ferramentas   que   apresentam 
facilidades   para   a   realização   de   consultas   complexas   em   Bases   de   Dados 
multidimensionais, ou podem ser analisados através de Data Mining. Deste modo torna­
se possível realizar uma análise de grande quantidade de dados no apoio a um processo 
decisório. Uma metodologia composta por seis fases e que poderia servir de guia para o 
projeto de repositórios de dados pode ser encontrada em [INM96;KIM97;BAR96].
As   consultas   OLAP   geram   informações   obtidas   a   partir   do   DW,   mas   essa 
abordagem   dependente   do   usuário   pode   impedir   que   padrões   escondidos   nos   dados 
sejam encontrados de forma “inteligente", enquanto que conhecimento pode ser extraído 
das informações dispersas nos dados utilizando as técnicas de DM aplicadas nos dados 
do DW ou diretamente nos dados da Base de Dados, como mostra a figura 1. 

5.1.Características de um Data Warehouse
Através   da   definição   de   Inmon   [INM96]   é   possível   descrever   as   características 
principais de um Data Warehouse:
•Integrado ­ Os dados passam por um processo de integração quando são passados do 
ambiente operacional, provindos de diversas fontes de dados, para o ambiente de DW. 
Então, qualquer dado trazido dos sistemas operacionais para o DW é, antes de tudo, 
consolidado, passando a ter um único significado, um estado uniforme;
•Orientado por assuntos ­ Com o objetivo de facilitar a análise dos dados, estes são 
organizados por assuntos, por consequência, um DW contém informações orientadas a 
assuntos importantes aos negócios da empresa e não por aplicação, como nos bancos de 
dados operacionais. Para separar os assuntos por departamentos na empresa pode­se 
utilizar os DATA MARTs, que são DWs organizados por departamentos e focalizam 
uma ou mais áreas específicas.
•Variante   no   Tempo   ­   Os   dados   não   podem   sofrer   atualização,   são   relativos   a   um 
determinado instante de tempo. Assim, a grande capacidade de armazenamento do DW 
permite o registro do desenvolvimento histórico dos dados; 
•Não volátil – Significa que o DW permite apenas um carregamento inicial dos dados e 
consultas a estes dados. Após serem integrados, transformados e incluídos, os dados não 
podem sofrer alterações;

5.2.Diferença entre Data Warehouse e Banco de dados operacionais
Os   Dados   armazenados   em   bancos   tradicionais   que   seguem   o   modelo   de   Entidade 
Relacionamento podem ser empregados em muitos tipos de sistemas de aplicação. Estes 
tipos de bases de dados são denominados “operacionais”. Os dados em um DW são um 
conjunto de dados advindos dos dados operacionais e fornecem apoio ao processo de 
tomada   de   decisão.   São   referidos   em   [INM96]   como   dados   "gerenciais", 
"informacionais" ou "analíticos".
A tabela 1 apresenta algumas diferenças definidas por [INM96] e [KIM97] existentes 
entre Bancos de Dados Operacionais e um Data Warehouse.

Tabela 1. Diferenças entre Banco de dados Operacionais e DW

5.3.Modelagem Dimensional
Enquanto que em um BD operacional, os dados são observados em forma de tabelas, em 
um DW o uso da modelagem dimensional permite que o usuário tenha uma visão do seu 
banco   de   dados   no   formato   de   um   hipercubo   que   contenham   duas,   três   ou   tantas 
dimensões quanto sejam desejadas e aplicáveis. 
Logo,   um   cubo   em   um   DW   representa   três   dimensões   de   dados   inter­
elacionadas, própria de um sistema multidimensional. Uma empresa, por exemplo, que 
possui vários produtos em várias lojas filiais e que deseja acompanhar o desempenho da 
venda de seus produtos ao longo do tempo, observa o seguinte Hiper­cubo: 
Figura 2. Hiper­cubo com três dimensões

Os bancos de DW, em geral, não são  totalmente normalizados, diferentes da 
maioria dos BD operacionais. O objetivo da normalização é eliminar as duplicidades 
para economia de espaço, contudo, este processo envolve a criação de mais tabelas, o 
que aumenta a complexidade das consultas para os usuário, com o uso de joins mais 
complexos, e uma maior lentidão das consultas, como acontece na modelagem E­R, por 
isso o DW não é totalmente normalizado, para aumentar a performance das consultas.
Tabelas do modelo dimensional:
•Tabelas Fato: são as tabelas que guardam os dados do negócio. Todas as informações 
decorrentes do andamento do negócio que não são conhecidas previamente..
•Tabelas Dimensão: são as tabelas que guardam os atributos do negócio. Elas ajudam a 
restringir as pesquisas feitas nos tabelas Fato e servem como títulos em colunas.
Dois esquemas mais utilizados na modelagem dimensional são o esquema estrela 
e  o   esquema   flocos   de   neve  que  é   uma   variação   do  esquema   estrela   usando   dados 
normalizados.

Figura 3. Tabela Fato e as tabelas Dimensão relacionadas

5.4.Técnicas para obtenção de informações em um Data Warehouse
As técnicas de análise de dados no DW são a realização de consultas SQL (Structured  
Query Language) simples e o uso das ferramentas OLAP, as quais são normalmente 
orientadas às consultas, ou seja, dirigidas pelos usuários que possuem hipóteses que 
gostariam de comprovar, ou apenas executam consultas aleatórias. 
Na análise multi­dimensional os dados são representados como dimensões. Com 
a combinação dessas dimensões, o usuário tem uma visão de uma parte do negócio da 
empresa, podendo realizar ações comuns como "slice and dice", que possibilita mudar 
as   dimensões   a   serem   visualizadas   (é   mais   difícil   a   visualização   de   mais   de   2 
dimensões) e "drill­down/up", que é a navegação entre os níveis de detalhamento. Na 
análise   multi­dimensional   outras   operações   típicas   são:   dez   maiores/menores, 
comparações   entre   períodos,   percentual   de   diferença,   médias,   somas   ou   contagens 
acumulativas, além de diversas funções estatísticas e financeiras. O objetivo deste tipo 
de análise é, através do comportamento de determinadas variáveis no tempo, encontrar 
tendências, e com isso transformar os dados transacionais em informação estratégica. 
Algumas   dessas   ferramentas   são:   DSS   Agent   (Microestrategy),   Power 
Dimension (Sybase). Oracle Discovery Essbase (Hyperion) e Metacube (Informix).

5.5.Exemplo de consulta em um DW
Na figura 3 acima, seja a tabela fato definida como f_vendas, e as tabelas das dimensões 
como d_produto, d_tempo e d_loja.  A seguinte consulta ao DW extrai   quantas TVs 
foram vendidas, listados por marca e país em 2005.
SELECT  d_produto.marca, d_loja.pais, sum(f_vendas.unidades_vendidas)
FROM   f_vendas, d_tempo, d_loja, d_produto
WHERE  f_vendas.chave_tempo = d_tempo.chave_tempo AND f_vendas.chave_loja = 
d_loja.chave_loja AND f_vendas.chave_produto = d_produto.chave_produto AND 
d_tempo.ano = 2005 AND d_produto.categoria = 'tv'
GROUP BY  d_produto.marca, d_loja.pais

6.Data Mining
O DM é uma e a mais importante etapa do KDD. Apesar de não ser a etapa mais lenta, 
esse papel cabendo ao pré­processamento, acaba sendo a de maior relevância visto que 
gera o produto o de maior interesse dos analistas: os padrões. Durante esta etapa, o 
analista tem a opção de utilizar vários métodos visando obter um maior refinamento 
para que o resultado seja útil. Como dissemos anteriormente, o primeiro passo no KDD 
é   definir   os   objetivos,   de   acordo   com   as   especificações   do   cliente.   Esses   objetivos 
podem   ser   divididos   em   dois   tipos:   verificação   e   descobrimento.   A   verificação   é 
utilizada quando a intenção é verificar uma hipótese do usuário. Já o descobrimento é 
utilizado quando está se buscando novos padrões. Poucas vezes a verificação é utilizada, 
sendo que em muitas bibliografias ela nem é mencionada. O descobrimento ainda é 
subdividido em dois tipos: predição, cujos padrões servem para predizer o estado futuro 
de alguns atributos a partir de outros atributos, e descrição, cujos padrões descrevem os 
dados e são compreensíveis aos usuários.
Os   objetivos   do   KDD,   que   foram   definidos   no   início   do   processo,   estão 
intimamente relacionados com  o que o DM procura na base de dados. Basicamente o 
que   nós   queremos   procurar   são   associações,   coisas   que   acontecem   juntas,   clusters, 
definição   de   grupos   de   acordo   com   os   relacionamentos   lógicos,   e   classificações, 
determinar os grupos aos quais os novos registros pertencem. Podemos definir estes 
relacionamentos que estão sendo procurados como tarefas. Para realizar tais tarefas e 
conseqüentemente alcançar os objetivos que foram estabelecidos, nós podemos utilizar 
diversos métodos de DM. Os métodos mais utilizados são: classificação, associação, 
regressão e clusterização. O método por si só é muito genérico, e para o DM executar tal 
método é necessário a escolha de um modelo (técnica). Observe que nós utilizamos o 
termo modelo quando nos referimos ao produto que é gerado pele algoritmo, enquanto 
que técnica se refere ao jeito especial como o método é executado. Por exemplo, para 
executar o método da classificação nós poderíamos escolher a árvore de classificação. 
Para que o modelo possa ser construído, é necessário a aplicação de um algoritmo de 
DM.   Por   exemplo,   poderíamos   escolher   o   CART   para   construir   a   árvore   de 
classificação.   Os   principais   métodos,   técnicas   e   algoritmos   serão   abordados   nas 
próximas seções.
Definido   alguns   termos,   agora   podemos   entender   o   DM   como   um   todo. 
Inicialmente mapeamos a tarefa, que foi definida através dos objetivos do KDD, para 
um método específico do DM. A partir deste método escolhemos um algoritmo propício 
que irá construir um modelo específico. Nos métodos preditivos, os algoritmos recebem 
dados para que os modelos sejam construídos. Uma parte destes dados é utilizada para a 
construção   do   modelo   propriamente   dito.   A   outra   parte   é   utilizada   para   validar   o 
modelo. Essa validação consiste na aplicação do modelo na outra parte dos dados para 
conferir se o modelo está condizente com os dados armazenados. Esse modelo gerado 
pelo DM pode então ser utilizado pelos próximos registros que serão inseridos na base 
de dados para predição.

7.Métodos, técnicas e algoritmos

7.1.Classificação
Classificação é o método que examina as características de novos registros e os mapeia 
dentro   de   uma   classe   pré­definida   (um   modelo   baseado   em   valores   de   dados   já 
existentes). Em outras palavras, este   método objetiva a construção de modelos que 
permitam o agrupamento de registros em classes. Depois de definidas as classes, este 
método   pode   prever   automaticamente   a   classe   de   um   novo   registro,   sendo   por   isso 
considerado preditivo. Para caracterizar um objeto (registro) são considerados dois tipos 
de   atributos:   preditivos   (que   influenciam   no   processo   de   determinação   da   classe)   e 
objetivos   (indicam   a   classe   que   o   registro   pertence).   Árvore   de   decisão   e   regra   de 
decisão   são   algumas   das   técnicas   do   método   de   classificação   utilizados   em   muitas 
aplicações do mundo real.
7.1.1. Árvore de decisão ou árvore de classificação
O propósito da árvore de classificação é classificar os dados dentro de grupos distintos 
tendo como  critério de separação o valor dos atributos. Esta técnica recebeu este nome 
devido ao formato da estrutura resultante (ver figura 4a). Na árvore de classificação, os 
nós representam atributos cujos valores são avaliados exceto os nós folhas, visto que 
esses   nós   representam   as   classes.   Os   ramos   correspondem   a   todos   os   possíveis 
resultados   da   avaliação   do   nó.   Com   relação   ao   processo   de   criação   da   árvore   de 
classificação, uma típica estratégia utilizada é top­down, onde a árvore é criada a partir 
do nó raiz (primeiro nó) e os registros são distribuídos em sub­níveis na forma de novos 
nós (ver figura 4a). A classificação é iniciada no nó raiz e em cada nó é realizado um 
teste para decidir a aresta a ser seguida, sendo que estes testes continuam até alcançar o 
nó folha onde a classe do objeto é decidida.
Um dos algoritmos mais conhecidos para implementar esta técnica é o C4.5. Ele 
constrói a árvore de decisão a partir de um conjunto de dados de treinamento usando o 
conceito  de  Entropia  da  Informação  (nível  de aleatoriedade  dos  dados)   [Witten and 
Frank 2005]. Os passos do algoritmo C4.5 são:
Passo 1: Seleciona um atributo como sendo o nó raiz (aquele que divide de forma mais 
adequada);
Passo 2: Arcos são criados para todos os diferentes valores do atributo selecionado no 
item 1;
Passo 3: Se todos os registros de treinamento sobre um nó pertencem a uma mesma 
classe, este nó recebe o nome da classe (é um nó folha). Se todas as folhas possuem uma 
classe, o algoritmo termina; Senão (nem todos os elementos pertencerem a uma mesma 
classe) , o nó é determinado com um atributo que não ocorreu no trajeto a partir da raiz 
até o nó atual (ainda não utilizado), e arcos são criados para todos os valores deste 
atributo. O algoritmo retorna ao passo 3.

Figura 4. Árvore de classificação e regra de decisão
7.1.2. Regras de decisão
Grandes árvores de decisão são difíceis de entender porque cada nó tem um especifico 
contexto   estabelecido   pelos   resultados   dos   testes   dos   nós   antecedentes.   Para   tornar 
árvore de decisão um modelo mais legível, o caminho para cada nó folha pode ser 
transformado numa regra de produção IF­THEN (ver figura 4b). A parte IF consiste de 
todos os testes no caminho e a parte THEN é a classificação final. Regras desta forma 
são chamadas regras de decisão e a conjunto de todas  as cláusulas classificará de forma 
equivalente à árvore de decisão (ver figura 4).

7.2.Clusterização ou segmentação
Clusterização é o método que consiste em agrupar (clusterizar) os objetos (dados), de 
modo que objetos mais similares fiquem no mesmo cluster e objetos menos similares 
sejam   alocados  para   clusters   distintos  (ver  figura   5a  5b).   Os  critérios  mais  comuns 
adotados para o agrupamento são: homogeneidade e separação. A homogeneidade diz 
que  objetos pertencentes ao mesmo cluster devem ser tão similares quanto possível, 
enquanto que a separação dita o quanto os objetos, pertencentes a diferentes clusters, 
devem ser distintos entre si (Maravalle et al., 1997).
A diferença com relação ao método de classificação é que na clusterização as 
classes  não são previamente definidas e o objetivo é encontrar padrões que descrevam 
os  dados, ou seja, é um método descritivo. Na maioria das vezes este é o primeiro 
método   utilizado   pelo  Data   Mining,   uma   vez   que   este   localiza   classes   de   dados 
relacionados   que   serão   utilizados   para   futuras   consultas.   Representar   os   dados   com 
poucas classes pode ocasionar perda de detalhes, mas consegue maior simplificação 
(comparar figura 5b com 5c). Após a clusterização devem ser verificados os padrões 
identificados para determinar quais podem ser convertidos em conhecimento realmente 
útil.

Figura 5. Clusterização

Não   há   uma   técnica   de   clusterização   que   seja   aplicada   universalmente   para 


descobrir a variedade de classes presentes num conjunto multidimensional de dados. 
Muitos algoritmos de clusterização são baseado nas seguintes abordagens: hirarquia e 
particionamento.
7.2.1. Hierarquia
Esta   técnica   constrói   uma   hierarquia   de   clusters,   ou   seja,   uma   árvore   de   clusters 
chamada  dendograma.  Os  nós  folhas  representam   dados   indivisíveis  e  cada  um  dos 
outros sub­nós representa um cluster.
A   clusterização   hierárquica   trabalha   de   duas   formas:  divisiva   (ou   divisão)  e 
aglomerativa (ou aglomeração). A aglomerativa utiliza uma abordagem bottom­up, onde 
cada   elemento   do   conjunto   é   inicialmente   associado   a   um   cluster   distinto,   e   novos 
clusters vão sendo formados pela união dos clusters existentes. Esta união ocorre de 
acordo   com  alguma medida  que forneça  a informação  sobre  quais deles estão  mais 
próximos uns dos outros. Já a divisiva trabalha com uma abordagem top­down, onde 
inicialmente tem­se um único cluster contendo todos os elementos do conjunto e a cada 
passo são efetuadas divisões, formando novos clusters de tamanhos menores conforme 
critérios pré­estabelecidos (ver figura 6).

Figura 6. Aglomeração e divisão

Os passos básicos de um algoritmo de aglomeração são:
Passo 1: Iniciar com n clusters, cada um contendo um objeto.
Passo 2: Calcular as dissimilaridades entre os objetos.
Passo 3: Procurar o par de clusters com menor dissimilaridade.
Passo 4: Recalcular a dissimilaridade do cluster fundido com os demais clusters.
Passo 5: Repete os passos 3 e 4, n ­1vezes.
7.2.2. Particionamento
A técnica de particionamento busca encontrar, iterativamente, a melhor partição dos n 
objetos   em   k   grupos.   Freqüentemente   os   clusters   encontrados   pela   técnica   de 
particionamento   são   de   melhor   qualidade   em   relação   aos   clusters   produzidos   pela 
técnica hierárquica. Os critérios mais utilizados para efetuar o agrupamento em clusters 
são: ponto central (média dos atributos dos registros ­ k­médias) e objeto representativo 
para o cluster (k­medoids) (Kaufman e Rousseeuw, 1990).
K­médias   (k­means)   e   k­medoids   exigem   a   definição   prévia   do   número   de 
clusters e do posicionamento inicial dos centros dos k clusters no espaço de atributos. A 
diferença básica entre eles é que o k­medoids utiliza um objeto representativo chamado 
de medoid, localizado mais ao centro possível do cluster, enquanto o k­means utiliza um 
centro médio.
Os passos básicos de um algoritmo de k­médias, são:
Passo 1: Escolha de k registros para serem centros iniciais dos k clusters.
Passo 2: Cada registro é associado a um cluster, para o qual a dissimilaridade entre um 
registro e o centro deste cluster é menor que as demais.
Passo 3: Os centros dos clusters são recalculados, redefinindo cada um em função dos 
atributos de todos os registros pertencentes ao cluster;
Passo 4: Volta ao passo 2 até que os centros dos clusters se estabilizem.

7.3.Associação
A   associação   resume­se   a   descobrir   afinidades   entre   os   dados   de   certa   natureza 
mediante   um   determinado   número   de   transações.   Dessa   forma,   os   algoritmos   que 
identificaram regras de associação objetivam encontrar relacionamentos entre os dados 
(BERRY, 1997).
Em  grandes bancos de dados, como por exemplo, os de redes de supermercados 
que   armazenam   milhares   de   itens,   as   associações   visam   determinar   correlações 
importantes entre os itens comercializados, tal que a presença de alguns deles em uma 
transação (compra e venda) implique na presença de outros na mesma transação, tais 
como: “75% das pessoas que compram café também compram leite ou que, 80% das 
pessoas que compram mercúrio, gaze e esparadrapo também compram algodão”.
7.3.1. Regra de associação
A   representação   do   relacionamento   entre   os   dados   é   feita   através   de   regras   de 
associação. Essas regras visam representar afinidades entre itens de um subconjunto de 
dados e essas afinidades são expressas na forma de regras do tipo: “Se X então Y” ou 
“X (antecedente) ⇒ Y (conseqüente)”, onde X e Y são conjuntos de itens e X ∩ Y = ∅. 
Por exemplo, ao encontrar a seguinte regra {A}  ⇒  {B} (0,75), significa que 75% dos 
clientes que compraram o produto A também adquiriram o produto B.
Esse   tipo   de   informação   pode     ser   utilizada   de   maneira   mais   eficiente   em 
campanhas publicitárias, estratégias de vendas, modificar prateleiras ou propagandas, 
introduzir atividades promocionais específicas, entre outros.
Existem vários algoritmos que foram desenvolvidos com o objetivo de descobrir 
regras   de   associação   entre   itens,   como   por   exemplo:   LargeKItemSets,   Apriori, 
AprioriTid, Partition e Multiple Level (ML­T2L1). Entre os algoritmos citados, o mais 
utilizado é o Apriori, por isso será exemplificado a seguir.
7.3.1.1. Apriori
O   algoritmo   Apriori   realiza   extração   de   regras   de   associação   em   dois   passos:   no 
primeiro,   é   feita   uma   varredura   sobre   o   arquivo,   a   fim   de   gerar   conjuntos   de 
combinações   de   valores   das   colunas   que   aparecem   no   arquivo;   no   segundo,   são 
considerados apenas aqueles conjuntos que aparecem no arquivo com uma freqüência 
maior ou igual a um valor mínimo pré­determinado pelo usuário.
A freqüência de um conjunto X de valores é chamada de suporte, ou seja,   o 
suporte de X é igual ao número de registros do arquivo que contêm os elementos do 
conjunto X, dividido pelo número total de registros do arquivo.
Vamos considerar o exemplo de venda de produtos (ver Tabela 2). O arquivo 
contem cinco colunas representando produtos e cada linha da tabela representa uma 
transação de venda a um cliente . O cliente terá adquirido o produto A , por exemplo, se 
o valor da coluna A para a venda for “s”, caso contrário será “n”.

Tabela2. Venda de produtos

O primeiro passo  é contar a freqüência com que os itens ocorrem (última linha 
da Tabela 2) para gerar o conjunto C1 (Figura 7 (a)), onde cada item de C1 é formado 
por subconjuntos de K­itens candidatos e seus respectivos suportes, para C1 temos K=1. 
Quando   procura­se   descobrir   regras   de   associação,   é   necessário   definir   um   suporte 
mínimo para as regras, logo vamos assumir para este exemplo um suporte mínimo igual 
a 40%.   O C1' (Figura 7 (a)) é um conjunto formado pelos elementos de C1 que são 
maiores ou iguais ao suporte mínimo pré­definido.    

                      (a)                               (b)                               (c)  
Figura 7 ­ Geração de conjuntos

É feita a concatenação C1'*C1' para gerar o próximo conjunto C2 (Figura 7 (b)), 
que consiste de subconjuntos de 2­ itens candidatos. Por exemplo, {A} e {B} geram 
{AB}.  C2' é gerado da mesma forma que C1', ou seja, é um conjunto formado por todos 
os subconjunto de C2 que satisfazem ao suporte mínimo.    
A geração de C3 é obtida a partir da concatenação C2' * C2' de uma maneira 
distinta seguindo uma ordem lexicográfica (Figura 7 (c)). Devendo obedecer a seguinte 
regra: Seja p={p1,p2,p3,...,pn} e q={q1,q2,q3,...,qn} onde p e q são subconjuntos de 
C2', por exemplo p = {BC} e q = {BE},  sendo necessário que p1 = q1, p2 = q2, ..., pn 
<qn.   Na   Figura   2   (b),   o   subconjunto   candidato   {BCE},   em   C3,   foi   formado 
concatenando {BC} com {BE}, pois B = B e C < E.
O  próximo passo    é descobrir as  regras  de associação, onde todas as  regras 
devem   ter   fator   de   confiança   acima   de   um   mínimo   especificado.  A   confiança   é 
calculada   dividindo­se   o   suporte   da   regra   pelo   suporte   do   antecedente.    No   nosso 
exemplo, supondo uma confiança mínima de 60%, uma regra provável  seria BC  ⇒  E.  
Para ela, a confiança é igual a suporte (BCE)/suporte(BC), cujo resultado é  66%. Outra 
provável regra seria B ⇒ CE com uma confiança de 66%.

7.4.Regressão 
Também conhecida como estimativa é considerada uma tarefa preditiva, consiste na 
geração de um modelo que consegue prever os valores dos atributos para outros registos, 
baseada  em uma função que represente de forma aproximada o comportamento dos 
dados em estudo.  Em outras palavras, a idéia é a geração de um modelo que possam 
estimar o valor numérico de determinado atributo. Este modelo é gerado utilizando uma 
massa de dados histórica.
7.4.1. Regressão Linear
É uma técnica utilizada para explorar as relações lineares entre variáveis, fornecendo 
uma   previsão   de   valores   de   acordo   com   uma   massa   histórica,   que   deve   seguir   um 
modelo linear, ou seja, uma reta que representa os dados. A Regressão Linear pode, por 
exemplo, prever o valor do aluguel de um novo imóvel baseado em alguns atributos 
conhecidos (localidade, dimensão, etc), ou uma previsão populacional, etc.
7.4.2. Redes Neurais 
As redes neurais consistem de estruturas com habilidade de aprendizado, ou seja, é a 
tentativa   de   implementar   computacionalmente,   a   maneira   como   o   cérebro   humano 
funciona.   São   sistemas   computacionais   formados   pela   integração   de   inúmeros 
elementos de processamento com capacidade de detecção de padrões e sua principal 
característica está na capacidade de aprender com base na exposição a exemplos e uma 
desvantagem é o tempo de treinamento que pode ser extremamente longo para a maioria 
das aplicações de uso prático. 
A construção de uma rede neural consiste na configuração de uma  arquitetura 
interna,   a   chamada   rede   de   neurônios,   e   no   treinamento   desta   rede   com   base   em 
exemplos, até que ela consiga aprender e construir um   modelo para que possam ser 
feitas   predições   sobre   novos   dados   inseridos,   o   que   a   torna   também   adequada   para 
tarefas de classificação.

8.Conclusão
Através   deste   artigo   procuramos   mostrar   uma   visão   geral   sobre   a   Descoberta   do 
Conhecimento   em   Bases   de   Dados   (KDD),   dando   enfoque   ao   Data   Mining   e   Data 
Warehouse.
Observamos que apesar da automação do processo, a participação do analista é 
de   vital   importância   visto   que   a   interpretação   dos   padrões   acaba   sendo   o   mais 
importante, levando em consideração que o DM encontra padrões pouco comuns. Seria 
interessante   a   existência   de   uma   linguagem   padronizada,   amplamente   utilizada,   que 
desse suporte ao DM. O campo parece promissor visto que a competitividade entre as 
empresas vem crescendo e, considerando que toda informação escondida que pode vir a 
se tornar conhecimento é um diferencial, o KDD acaba sendo de extrema importância 
para estas empresas.

Referências
[FAY96] Fayyad, U., Shapiro, G.P. and Smyth, P., "From Data Mining to Knowledge  
Discovery in Databases," AI magazine, 17, 3, pp. 37­54, 1996.
[INM96] INMON, W. H. ­ Building the Data Warehouse, John Wiley & Sons Inc., New
York, 1996.
[KIM97] KIMBALL, Ralph ­ The Data Warehouse Toolkit. John Wiley & Sons Inc., 
New York, 1997.
[BAR96] BARQUINI, Ramon ­ Planning and designing the Warehouse, New Jersey, 
Prentice­Hall, 1996.
[REZ05] REZENDE, Solange O. ­ Mineração de dados. Mini­Cursos no ENIA 2005. 
Disponível em http://www.addlabs.uff.br/enia_site/dw/mineracaodedados.pdf.
[TCC99] Two Crows Corporation (1999), Introduction to Data Mining and Knowledge  
Discovery, 3th edition.
Hand D., Mannila H., Smyth P. ­ Principles of Data Mining, MIT Press, 2001
http://www.thearling.com/index.htm
http://www.anderson.ucla.edu/faculty/jason.frand/teacher/technologies/palace/dataminin
g.htm
http://www.twocrows.com/about­dm.htm

Você também pode gostar