Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract
The subject of the study is Data Mining, with emphasis on its functionalities (results), techniques
and application strategies. We underline the importance of data mining as part of a larger research
process called Knowledge Discovery in Database (KDD), for which is presented the methodology
for preparation and exploration of data, interpretation of results and assimilation of mined
knowledge. Data mining is presented in the context of business intelligence; its forms of
presentation and the difficulties in implementation in corporations and some applications suitable
for the use of data mining as well as their fields of research are discussed.
Keywords: Data Mining, business intelligence,. KDD, knowledge discovery
Resumo
Apresentamos um estudo sobre Minerao de Dados (data mining), destacando suas
funcionalidades (resultados), tcnicas e abordagens de aplicao. Destacamos minerao de dados
como parte de um processo maior de pesquisa denominado Busca de Conhecimento em Banco de
Dados (Knowledge Discovery in Database - KDD), para o qual apresentamos sua metodologia
para preparao e explorao dos dados, interpretao de seus resultados e assimilao dos
conhecimentos minerados. Apresentamos a minerao de dados no contexto da inteligncia de
negcios, como se apresenta e quais suas dificuldades de implantao nas empresas e discutimos
algumas aplicaes candidatas utilizao da minerao de dados e suas reas de pesquisas.
Introduo
conhecimentos esses que possam ser obtidos por tcnicas comprovadamente confiveis e
validados pela sua expressividade estatstica.
Freqentemente, minerao de dados tem sido considerada e classificada como uma
mistura de pesquisas em estatstica, inteligncia artificial e bancos de dados. At
recentemente, no era reconhecido como um campo de interesse para os estatsticos, sendo
mesmo considerado, nesta rea, como uma rea de pesquisa pouco relevante. Devido
sua importncia prtica, entretanto, o campo tem emergido como uma rea de crescimento
acentuado e de elevada importncia, destacando-se pelo surgimento de diversos congressos
cientficos e produtos comerciais.
Minerao de Dados parte de um processo maior de pesquisa denominado Busca de
Conhecimento em Banco de Dados (Knowledge Discovery in Database - KDD), o qual
possui uma metodologia prpria para preparao e explorao dos dados, interpretao de
seus resultados e assimilao dos conhecimentos minerados. No entanto, se tornou mais
conhecida do que o prprio processo de KDD em funo de ser a etapa onde so aplicadas
as tcnicas de busca de conhecimentos.
O objetivo deste trabalho apresentar os principais conceitos da tecnologia de KDD,
enfatizando o processo de Minerao de Dados com suas funcionalidades e principais
tcnicas utilizadas para obteno de conhecimento, bem como apresentar uma metodologia
para preparao dos dados para minerao, detalhando os processos de limpeza,
integrao, seleo e transformao de dados, etapas fundamentais para o sucesso da
minerao. Alm disso, inserir a Minerao de Dados no contexto da Inteligncia de
Negcios (Business Intelligence BI) como uma ferramenta de apoio a tomada de deciso
de nvel mais elevado, sendo utilizada principalmente no planejamento estratgico das
empresas.
Este trabalho est organizado da seguinte forma. Na seo 2, apresentam-se as
funcionalidades (resultados), tcnicas e abordagens da minerao de dados. A seo 3 trata
da Busca de Conhecimento em Banco de Dados (Knowledge Discovery in Database KDD), onde um estudo detalhado das etapas de limpeza, integrao, seleo e
transformao de dados apresentado. Minerao de dados no contento da inteligncia de
negcios apresentada na seo 4, enquanto que, na seo 5, so apresentadas as
aplicaes em potencial para minerao de dados. Finalmente, na seo 6, so apresentadas
as consideraes finais.
Resultados
Funcionalidades
Tcnicas de
Explorao de Dados
Algoritmos de
Explorao de Dados
Bancos de
Dados
Usurios
Funcionalidades
Prognstico
Descritiva
Anlise
Anlise Prvia
Descobrimento
Estimao
Predio
Classificao
Anlise Descritiva
Descobrimento
Anlise Prvia
Anlise de outliers
Anlise de desvios
Visualizao
Classificao
Anlise de associaes
Agrupamento (clustering)
Descrio
Deteco de seqncias
Segmentao
Sumarizao e Visualizao
Otimizao
Identificao
Anlise de Evoluo
Anlise em dados no formato
texto
Anlise de desvios
Visualizao
Freqncia de ligaes
A funcionalidade descobrimento pode ser aplicada usando-se uma das seguintes subfuncionalidades:
2.2.2.1
A classificao consiste em examinar uma certa caracterstica nos dados e atribuir uma
classe previamente definida. Dados podem ser associados a classes ou a conceitos atravs
de um processo de discriminao ou de caracterizao. Discriminao se caracteriza por
ter seu resultado obtido atravs da atribuio de um valor a um atributo no registro, em
funo de um ou mais atributos do mesmo. Por exemplo, em um supermercado podemos
classificar os produtos por tipo como alimentcio, vesturio, higiene e limpeza etc. J
caracterizao a sumarizao de um atributo de estudo por uma caracterstica de um ou
mais atributos ([BL97], [HK01]. Por exemplo, podemos caracterizar um empregado pelo
seu salrio anual, identificando faixas da agregao mensal de seus salrios em baixa,
mdia e alta.
2.2.2.2
Anlise de associaes
2.2.2.3
Agrupamento (clustering)
Descrio
Esta funcionalidade pode ser empregada numa anlise para tornar mais clara alguma idia
que est sendo utilizada, hipteses ou fatos observados em um banco de dados. Pode ser
executada em uma anlise de classificao quando as classes no estiverem bem definidas
([BL97], [WB98]). Como exemplos, podemos estudar a afirmao de que mulheres
tendem a votar em candidatas femininas em maior nmero do que os homens ou que as
caractersticas de uma pessoa que fralda cartes de crdito do tipo sexo masculino,
idade entre 25 e 40 anos e possui nvel superior.
2.2.2.5
Deteco de seqncias
Esta funcionalidade tem por objetivo utilizar algum tipo de padro nos dados para
determinar que tipos de seqncias podem ser determinadas [BT99]. Por exemplo, clientes
que compram determinado produto, trs meses aps retornaro para comprar algum outro
produto associado ao primeiro (comprar um aparelho celular e trs meses aps um
carregador de baterias para utilizao em carros).
2.2.2.6
Segmentao
Sumarizao e Visualizao
2.2.2.8
Otimizao
Esta funcionalidade visa otimizar recursos limitados como tempo, espao, dinheiro,
matria-prima etc, buscando maximizar variveis de resultado como vendas, lucros,
distribuio, economia de espao etc. Esta funcionalidade se aproxima dos estudos da rea
de pesquisa operacional, a qual trata de problemas de otimizao, sempre sujeito a
restries ([EN99], [Men99]). Como exemplo, podemos estudar as vendas de um
supermercado, no sentido de otimizar a distribuio de seus produtos em suas gndolas,
visando otimizar a exposio de um nmero cada vez maior de produtos.
2.2.2.9
Identificao
Esta funcionalidade tem por objetivo utilizar os padres de dados para identificar a
existncia de um item, um evento ou uma atividade. Por exemplo, intrusos que tentam
romper um sistema podem ser identificados atravs dos programas executados, dos
arquivos acessados e do tempo de CPU por sesso. Em aplicaes biolgicas, a existncia
de um gene pode ser identificada atravs de certas seqncias de smbolos nucleotdeos
(nucleotides) na seqncia de DNA. A rea conhecida como autenticao uma forma de
identificao. Ela verifica se um usurio de fato um usurio especfico ou se pertence a
uma classe autorizada; envolve uma comparao de parmetros ou imagens ou sinais em
relao ao banco de dados [EN99].
2.2.2.10 Anlise de Evoluo
Esta funcionalidade visa trabalhar os diversos dados armazenados no formato texto, tais
como narrativas, processos judiciais etc, visando transformar esses textos em uma forma de
uso e extrair seus resultados baseados em tcnicas de tratamento e explorao de textos
[WI99]. Como exemplo, podemos citar a explorao de dados no formato texto em
processos criminais, no sentido de utiliz-los no reconhecimento de padres e verificao
de similaridade entre crimes.
Outras funcionalidades de descobrimento podem ser utilizadas tais como a comparao de
imagens de satlites, as seqncias genticas, a minerao em bancos de dados espaciais, a
minerao em bancos de dados multimdias, a minerao dos dados da web etc., para
citamos somente as mais utilizadas em negcios e j implementadas em ferramentas
comerciais.
10
11
Funcionalidade
Sub-funcionalidade
Tcnica
Anlise Prvia
Anlise de outliers
Anlise de desvios
Visualizao
Classificao
Anlise de associaes
Descobrimento
12
Agrupamento (clustering)
Mtodos de particionamento
Mtodos hierrquicos
Mtodos baseados em densidade
Mtodos baseados em grid
Mtodos de clustering baseados em
modelos abordagem estatstica e redes
neurais
Anlise de outliers
Segmentao
Sumarizao e Visualizao
Estimao/Predio
Estimao/Predio
Regresso Linear
Regresso Mltipla
Regresso no linear
Regresso Logstica
Regresso de Poisson
Outros modelos de regresso
Classificao
Classificao
13
Redes Neurais
Anlise de vizinhana (k-Nearest
Neighbor)
Casos baseados em Raciocnio
Algoritmos genticos
Abordagem por conjuntos fuzzy
O primeiro passo em um projeto de minerao de dados pode ser uma anlise simples,
preliminar, grosseira do conjunto de dados que ser minerado, utilizando-se de
ferramentas de consultas. Aplicando-se as funes built-in da linguagem SQL de um banco
de dados relacional, podemos obter informaes bastante ricas sobre a distribuio dos
dados. Antes de aplicarmos algoritmos avanados de reconhecimento de padres,
precisamos conhecer os aspectos e estruturas do conjunto de dados que iremos minerar.
Estatsticas como mdia aritmtica, desvio padro, valores mximos e mnimos e
distribuio percentual de todo o conjunto de dados ou por grupos (utilizando-se a clusula
group by) representam os passos iniciais num processo de minerao de dados. Alm
dessas consultas e estatsticas, vrios grficos podem ser preparados utilizando-se os dados
e estatsticas gerados para facilitar as anlises iniciais [AZ96].
2.4.2 Visualizao
14
15
[EN99],
2.4.4 rvores de deciso
Raiz
Total = 100
Comprador = 30
No Comprador = 70
N 2
N 1 (20 pessoas)
N 6 (80 pessoas)
(10 Pessoas)
Sexo = Masculino
Comprador = 9
No Comprador = 1
N 4
N 3
N 7
(10 Pessoas)
Sexo = Feminino
Comprador = 7
No Comprador = 3
(6 pessoas)
Casado = True
Comprador = 5
No Comprador = 1
(40 pessoas)
N 8
(40 pessoas)
Casa Prpria? = No
Comprador = 2
No Comprador = 38
N 5
(4 pessoas)
Casado = False
Comprador = 2
No Comprador = 2
16
17
Um estudo completo sobre regras redes neurais pode ser encontrado em [Hay99].
2.4.7 Algoritmos Genticos
O trabalho de Holland entitulado Adaptation in Natural and Artificial Systems (Adaptao em Sistemas
Naturais e Artificiais), apresentado em um seminrio, introduziu a idia de algoritmos genticos.
18
Algoritmos genticos so utilizados para resolver problemas e para agrupar problemas. Sua
capacidade de resolver problemas em paralelo fornece uma ferramenta poderosa para
Minerao de dados. As deficincias de AGs incluem a grande superproduo de solues
individuais, o carter aleatrio do processo de pesquisa e a elevada demanda no
processamento computacional. Em geral, uma substancial demanda computacional
exigida para alcanar qualquer coisa significativa com algoritmos genticos [EN99].
2.4.8 Tcnicas de anlise de agrupamento (clustering)
Vrias outras tcnicas de minerao de dados esto em uso nos dias de hoje, conforme
visto na tabela 1. Elas incluem lgica fuzzy, reduo de dados, classificao baysiana entre
outras. A figura 12 a seguir, extrada de [BT99], sintetiza um ciclo de vida para operao
das tcnicas de minerao de dados.
19
20
Maiores detalhes sobre esses passos podem ser encontrados em [BL97] e [BT99].
2.5.2 Busca de conhecimento indireta
Maiores detalhes sobre esses passos podem ser encontrados em [BL97] e [BT99].
A figura 13 abaixo, extrada de [BT99], resume a forma de aplicao do processo de
minerao de dados.
21
Botton-Up
Botton-Up
Top-Down
Top-Down
"
#$
%
#$
&$
'
#
(
#$
')
%
#$
!
2.6 Concluso
Conforme descrito nesta seo para utilizao de um processo de minerao de dados,
deve-se ter bem claro qual a funcionalidade ou os resultados a que se deseja chegar. A
escolha da funcionalidade, na maioria dos casos, exige a participao de pessoas que
efetivamente entendam do negcio em estudo, mesmo que no sejam especialistas na
utilizao e manuseio computacional dos dados. Uma vez definidas as funcionalidades
parte-se para identificar a melhor tcnica, a mais aderente para obteno dos resultados.
Diversas tcnicas podem ser utilizadas para se chegar aos resultados pretendidos,
entretanto, cada tcnica possui suas caractersticas, suas peculiaridades e precisa de
pessoas que saibam interpretar seus resultados. Uma vez identificadas as funcionalidades e
as melhores tcnicas a serem aplicadas, deve-se escolher uma abordagem, uma
metodologia de aplicao para conduo de todos os processos.
A prxima seo tratar dos processos de Busca de Conhecimento em Banco de Dados,
tambm conhecido como Knowledge Discovery in Database - KDD, com destaque para as
etapas de preparao dos dados para minerao propriamente dita.
22
Um Data Warehouse um banco de dados que possui seus dados resultante da integrao de dados de
vrias fontes, j possuindo um alto padro de qualidade.
23
Apresentao
e Assimilao
do Conhecimento
Aes
Avaliao dos
Padres
Base de
Conhecimentos
Minerao
de Dados
Padres
Seleo e
Transformao
Limpeza e
Integrao
Data
Warehouse
Arquivos
legado
Bancos de Dados
Cada etapa do processo de KDD pode retornar a um processo anterior, conforme sua
necessidade [AZ96]. Esta necessidade pode se d em funo de uma reavaliao nos
dados, uma nova hiptese a ser testada etc. Note que segundo essa viso, minerao de
dados apenas uma etapa no processo de KDD, essencial para descobrir padres para
avaliao, padres estes at ento escondidos nas bases de dados.
Os bancos de dados do mundo real so altamente suscetveis a armazenarem dados
incoerentes, inconsistentes, grande quantidade de valores ausentes e geralmente
armazenam uma quantidade de dados em torno de muitos gigabytes e terabytes. Preparar
os dados para o processo de minerao de dados, significa melhorar a qualidade dos dados
a serem processados e conseqentemente a qualidade dos resultados obtidos. Preparar os
dados para o processo de minerao de dados, envolve preparar e executar as fases de
limpeza, integrao, seleo e transformao de dados. Essas fases do processo de KDD
esto detalhadamente examinadas a seguir.
Valores ausentes se caracterizam por existirem em diversas tuplas (ou registros) atributos
(campos) que no possuem valores armazenados, os quais podem ser importantes para o
processo de minerao de dados. Como exemplo, o atributo rendimento em uma instncia
24
de uma entidade cliente. A seguir apresentamos alguns mtodos que podem ser utilizados
para preencher (atribuir) valores a esses atributos [HK01].
1. Ignorar o registro (tupla) usualmente utilizada quando o contedo da varivel
est ausente - null (assumindo que o processo de mining envolver classificao ou
descrio). No muito efetivo, a menos que a tupla possua muitos atributos com
valores ausentes. especialmente pobre quando o percentual de valores ausentes
varia consideravelmente.
2. Preencher (imputar) o valor manualmente em geral essa abordagem consome
muito tempo e pode no ser possvel em grandes bases de dados com muitos
valores ausentes.
3. Usar uma constante global para preencher os valores ausentes atualizar todos os
valores ausentes com um nico valor constante, tal qual desconhecido ou high
values. Embora simples, no muito recomendado.
4. Utilizar um atributo mdio para preencher os valores ausentes utilizado quando
o atributo do tipo numrico e seu significado passvel de utilizao de um valor
mdio. Calcular o valor mdio do atributo em estudo (por exemplo, rendimento do
cliente) e atribuir esse valor a todos os valores ausentes do atributo.
5. Utilizar um atributo mdio pertencente a mesma classe a qual a tupla pertena
utilizado quando o atributo do tipo numrico e seu significado passvel de
utilizao de um valor mdio. Calcular valores mdios do atributo em estudo
segundo os valores (classificao) de um outro atributo (por exemplo profisso do
cliente) e atribuir esse valor a todos os valores ausentes do atributo (por exemplo
rendimento do cliente), segundo a classificao do atributo.
6. Utilizar o valor de maior probabilidade para preencher os valores ausentes este
valor pode ser determinado atravs da aplicao de uma tcnica de regresso,
ferramentas de inferncia bsica, utilizando um formalismo bayseano ou induo
por rvores de deciso. Por exemplo, utilizar outros atributos do conjunto de dados
de clientes para construir uma rvore de deciso para predizer (estimar) o
rendimento dos mesmos.
Os mtodos de 3 a 6 inferem sobre o dado. O valor imputado pode no ser correto. O
mtodo 6, entretanto, o mais popular. Comparando com outros mtodos, ele considera
mais informaes sobre os dados para predizer valores ausentes. Assim, a utilizao de
outros atributos na estimao dos valores ausentes, nos d uma grande chance de preservar
o relacionamento entre o atributo estimado e os demais atributos utilizados no processo de
estimao.
3.1.2 Valores fora de padro (noisy data)
Noisy data (valores extremos) um erro aleatrio ou uma variao acentuada na medio
de uma varivel. Ocorre em variveis numricas do tipo rendimento, faturamento etc e que
precisam ser aplainadas (smooth), retirando-se esse erro de medio. A seguir
apresentamos alguns mtodos que podem ser utilizados para corrigir esses valores [HK01].
25
Podem haver inmeras inconsistncias nos dados armazenados. Alguns dos dados
inconsistentes podem ser corrigidos manualmente utilizando referncias externas, como
26
Redundncia de dados um atributo pode ser redundante se ele puder ser derivado
de outro armazenamento (tabela), tal como o atributo agregado salrio anual.
Inconsistncias em atributos ou nome de dimenses (salrio, salrio anual etc.)
podem ser a causa de redundncia em conjunto de dados. Uma tcnica muito
interessante para verificar redundncia em conjunto de dados a utilizao da
anlise de correlao, a qual medir o quanto dois atributos so correlatos. A
redundncia a nvel de atributo tambm pode ser identificada atravs da gerao de
registros (tuplas) idnticas geradas numa mesma entrada de dados.
Outros fatores como os vrios formatos de armazenamento dos dados, tais como
armazenamentos em bancos de dados relacionais, de rede e hierrquico, arquivos textos,
campos fixos e variveis, entre outros formatos iro afetar a forma como se recupera e
integra os dados. A variedade dos sistemas operacionais e plataformas de hardware
27
tambm so fatores que dificultam o acesso aos inmeros protocolos para recuperao e
integrao dos dados.
Cuidados na integrao dos dados oriundos de vrias fontes podem ajudar a reduzir e evitar
redundncias e inconsistncias no resultado do conjunto de dados gerado na integrao.
Certamente ir melhorar a preciso dos resultados e a velocidade das fases subseqentes
dos processos de garimpagem.
A granularidade se refere ao nvel de agregao dos dados. Quando se trabalha com os fatos observados
(registros ou tuplas) estamos com uma alta granularidade. Quando agregamos esses fatos, diminu-se a
granularidade.
28
Reduo de dados uma tcnica que pode ser aplicada para obteno de uma
representao reduzida (compactada) de um conjunto de dados, muito menor em volume,
mantendo a integridade do conjunto de dados original. Isto , garimpar nesse conjunto de
dados reduzido pode produzir resultados mais eficiente do que no conjunto de dados
originais. Podemos aplicar as seguintes tcnicas para reduo de dados:
1. Agregao de dados em cubo operaes de agregao de dados so aplicadas
para construo de cubos de dados (estrutura multidimensional para anlise de
dados). A figura 16 seguir, extrada de [HK01], mostra a transformao de dados
relacionais em multidimensionais. J a figura 17, mostra uma forma de visualizao
e interpretao dos dados no modelo multidimensional.
1
2
3
4
12.000,00
11.000,00
9.000,00
10.000,00
2000
1999
1998
38.500,00
39.000,00
42.000,00
So Paulo
Rio de Janeiro
Curitiba
Vitria
Cidade
99 73 21 75
78 59 19 66
62 29 23 47
56 7 21 78
2001
1999
1998
Produto
1997
Ano
29
Reavaliar o projeto
3.8 Concluso
Conforme descrito nesta seo o processo de Busca de Conhecimento em Banco de Dados
(Knowledge Discovery in Database KDD), consiste de uma seqncia iterativa das
etapas de limpeza, integrao, seleo e transformao de dados, alm da minerao dos
dados, avaliao dos padres e, apresentao e assimilao do conhecimento. Vrias
tcnicas foram detalhadas principalmente para os quatros etapas iniciais. A qualidade dos
dados que sero selecionados para minerao de fundamental importncia para o a
qualidade do resultado final. Assim, quando se aplica o processo de minerao de dados a
partir de um data warehouse, espera-se que a qualidade dos dados no seja mais um
30
Potencial crescente
para dar suporte as
tomadas de decises
Tomada
de Decises
Apresentao de Dados
Usurios Finais
Analistas de negcios
Tcnicas de Visualizao
Minerao de Dados
Descoberta de Informaes
Analistas de dados
Explorao de Dados
Anlise Estatstica, Consultas e Relatrios
Data Warehouses / Data Marts
OLAP, MDA, EIS
Fontes de dados
Adm. de
Bancos de
Dados
31
Nem sempre a minerao de dados agrega valor aos Sistemas de Apoio a Deciso - SAD.
De fato, houve no passado (e ainda h, de certa forma) muitas barreiras para a minerao
de dados se tornar uma funo essencial dos SAD. As mais importantes tm sido
superadas, mas outras ainda se mantm. Fundamentalmente, as mais importantes foram:
alto custo das solues, a necessidade de grandes volumes de dados armazenados em
poderosos servidores e a pouca amigabilidade das ferramentas de minerao de dados para
pessoas que no fossem altamente especializadas. Outras que podem ser citadas so o
desafio de preparar os dados para minerao, as dificuldades em se obter uma anlise
custo/benefcio bem fundamentada antes do incio do projeto e a preocupao quanto
viabilidade de fornecedores dessas ferramentas.
A seo a seguir apresentar algumas reas de negcios e pesquisas que possuem um
grande potencial para minerao de dados.
32
Comentrios Finais
Neste trabalho apresentamos uma viso geral das funcionalidades e tcnicas de minerao
de dados. Neste contexto so apresentados os principais conceitos, uma forma bastante
prtica de se identificar s funcionalidades, ou seja, os resultados que se deseja obter com a
minerao de dados, bem como uma identificao das tcnicas que podem ser utilizadas
para cada funcionalidade. Mostramos tambm, que uma mesma tcnica pode ser
empregada para se obter resultados em diferentes funcionalidades. Descrevemos duas
abordagens de como um processo de minerao de dados pode ser conduzido, no sentido
de obter melhores resultados.
Apresentamos o processo de Busca de Conhecimento em Banco de Dados (Knowledge
Discovery in Database KDD), suas etapas e descrevemos detalhadamente cada etapa do
processo, desde a preparao dos dados at a aplicao dos processos da minerao de
dados e como apresentar e internalizar os resultados obtidos.
Finalmente apresentamos a minerao de dados no contexto da Inteligncia de Negcios
(Business Intelligence BI), suas principais solues e aplicaes potenciais.
Deixamos claro que este trabalho no esgota o assunto, sendo apenas uma introduo a
minerao de dados.
33
Referncias Bibliogrficas
[AZ96]
[BL97]
[BLC00]
[BT99]
[DN00]
[EN99]
[HK01]
[Men99]
[WB98]
[WI99]
[MPO01] Ilza Maria B. Mendes, Alexandre Plastino e Luiz Satoru Ochi, Regras de
Associao: suas Diferentes Formas e seus Algoritmos de Minerao, Minicurso apresentado no SBBD 2001.
[Hay99]
34