Você está na página 1de 20

Minerao de Dados - Conceitos, Aplicaes e

Experimentos com Weka


Marcelino Pereira dos Santos Silva1,2
1

Universidade do Estado do Rio Grande do Norte (UERN)


BR 110, Km 48, 59610-090, Mossor, RN, Brasil
2

Instituto Nacional de Pesquisas Espaciais (INPE)


C. Postal 515, 12201-097, So Jos dos Campos, SP, Brasil
mpss@dpi.inpe.br

Abstract. Tools and techniques employed for automatic and smart analysis of
huge data repositories of industries, governments, corporations and scientific
institutes are the subjects dealt by the emerging field of Knowledge Discovery
in Databases (KDD). Data mining is the KDD step where it's performed the
method selection to search patterns in data, followed by the search for
interesting patterns in a particular representation and the best parameter
tuning of the chosen algorithms. This course will present the fundamentals of
data mining, as well some research and application areas of this technology.
In order to reach a practical and applied approach, data mining tasks will be
performed using Weka, a collection of machine learning algorithms for real
data mining tasks. The activities will help to fix concepts shown, allowing the
perception of potentialities of this recent and challenging research area.
Resumo. As ferramentas e tcnicas empregadas para anlise automtica e
inteligente dos imensos repositrios de dados de indstrias, governos,
corporaes e institutos cientficos so os objetos tratados pelo campo
emergente da Descoberta de Conhecimento em Bancos de Dados (Knowledge
Discovery in Databases - KDD). Minerao de dados a etapa em KDD
responsvel pela seleo dos mtodos a serem utilizados para localizar
padres nos dados, seguida da efetiva busca por padres de interesse numa
forma particular de representao, juntamente com a busca pelo melhor
ajuste dos parmetros do algoritmo para a tarefa em questo. Neste
minicurso, os fundamentos de minerao de dados sero apresentados, bem
como diferentes reas de pesquisa e aplicao desta tecnologia. Visando um
enfoque prtico e aplicado, atividades de minerao sero realizadas com o
Weka, um pacote de algoritmos de aprendizagem de mquina para resolver
problemas reais de minerao de dados. Estas atividades auxiliaro na
fixao dos conceitos apresentados, bem como numa melhor percepo do
potencial desta recente e desafiadora rea de pesquisa.

1. Introduo
As reas governamentais, corporativas e cientficas tm promovido um crescimento
explosivo em seus bancos de dados, superando em muito a usual capacidade de

interpretar e examinar estes dados, gerando a necessidade de novas ferramentas e


tcnicas para anlise automtica e inteligente de bancos de dados [Fayyad et al. 1996].
Nos diferentes segmentos da sociedade, as instituies tm buscado na tecnologia
recursos que agreguem valor aos seus negcios, seja agilizando operaes, suportando
ambientes ou viabilizando inovaes. Diariamente, pessoas e instituies
disponibilizam dados oriundos de tarefas cotidianas a estas plataformas tecnolgicas
atravs de simples atividades como compras no supermercado do bairro ou operaes
bancrias. Os sistemas de computao participam da vida das pessoas de forma cada
vez mais prxima e constante. No obstante, institutos cientficos, indstrias,
corporaes e governos acumulam volumes gigantescos de dados, impulsionados
tambm pela versatilidade e alcance proporcionados pela Internet.
Esta ampla disponibilidade de imensas bases de dados, aliada eminente necessidade
de transformar tais dados em informao e conhecimento teis para o suporte deciso,
tm demandado investimentos considerveis da comunidade cientfica e da indstria de
software. A informao e o conhecimento obtidos podem ser utilizados para diversas
aplicaes, que vo do gerenciamento de negcios, controle de produo e anlise de
mercado ao projeto de engenharia e explorao cientfica [Han & Kamber 2001].
As ferramentas e tcnicas empregadas para anlise automtica e inteligente destes
imensos repositrios so os objetos tratados pelo campo emergente da descoberta de
conhecimento em bancos de dados (DCBD), da expresso em ingls Knowledge
Discovery in Databases (KDD). Minerao de dados a etapa em KDD responsvel
pela seleo dos mtodos a serem utilizados para localizar padres nos dados, seguida
da efetiva busca por padres de interesse numa forma particular de representao,
juntamente com a busca pelo melhor ajuste dos parmetros do algoritmo para a tarefa
em questo.
1.1. O Processo de Descoberta de Conhecimento em Bancos de Dados (KDD)
Descoberta de conhecimento em bancos de dados, o processo no trivial de identificar
em dados padres que sejam vlidos, novos (previamente desconhecidos),
potencialmente teis e compreensveis, visando melhorar o entendimento de um
problema ou um procedimento de tomada de deciso [Fayyad et al. 1996]. Examinando
estes termos individualmente:

Dados: conjunto de fatos F, como instncias de um banco de dados. Por


exemplo, uma coleo de n cadastros de pessoas fsicas contendo idade,
profisso, renda etc.

Padro: expresso E em uma linguagem L descrevendo fatos em um subconjunto


FE de F. E dito um padro se mais simples do que a enumerao de todos os
fatos em FE. Por exemplo, o padro: Se renda < $r ento a pessoa no recebe
financiamento seria aplicvel para uma escolha apropriada de r.

Processo: geralmente em KDD, processo uma seqncia de vrios passos que


envolve preparao de dados, pesquisa de padres, avaliao de conhecimento,
refinao envolvendo iterao e modificao.

Validade: os padres descobertos devem ser vlidos em novos dados com algum
grau de certeza. Uma medida de certeza uma funo C mapeando expresses

em L para um espao de medidas MC . Por exemplo, se um limite de padro de


crdito ampliado, ento a medida de certeza diminuiria, uma vez que mais
financiamentos seriam concedidos a um grupo at ento restrito a esta operao.

Novo: em geral, assume-se que novidade pode ser medida por uma funo
N(E,F), que pode ser uma funo booleana ou uma medida que expresse grau de
novidade ou surpresa. Exemplo de um fato que no novidade: sejam E =
usa tnis e F = alunos de colgio ento N(E,F) = 0 ou N(E,F) = false. Por
outro lado: sejam E = bom pagador e F = trabalhador da construo civil
ento N(E,F) = 0,85 ou N(E,F) = true.

Potencialmente til: padres devem potencialmente levar a alguma atitude


prtica, conforme medido por alguma funo de utilidade. Por exemplo, regras
obtidas no processo podem ser aplicadas para aumentar o retorno financeiro de
uma instituio.

Compreensvel: um dos objetivos de KDD tornar padres compreensveis para


humanos, visando promover uma melhor compreenso dos prprios dados.
Embora seja um tanto subjetivo medir compreensibilidade, um dos fatores
freqentes a medida de simplicidade. O fator de compreenso dos dados est
relacionado intuitividade da representao destes, bem como da granularidade
alta o suficiente para que estes sejam compreendidos. Por exemplo: o log de um
servidor Web no uma representao compreensvel; j fatos estatsticos
extrados deste log, tais como totais de acesso ou classificao dos acessos
realizados, fornecem informao num formato mais intuitivo e de granularidade
humanamente compreensvel.

1.2. Etapas do Processo de Descoberta de Conhecimento em Bancos de Dados


O processo de KDD interativo, iterativo, cognitivo e exploratrio, envolvendo vrios
passos (Figura 1) com muitas decises sendo feitas pelo analista (que um especialista
do domnio dos dados, ou um especialista de anlise dos dados), conforme descrito:
1. Definio do tipo de conhecimento a descobrir, o que pressupe uma
compreenso do domnio da aplicao bem como do tipo de deciso que tal
conhecimento pode contribuir para melhorar.
2. Criao de um conjunto de dados alvo (Selection): selecionar um conjunto
de dados, ou focar num subconjunto, onde a descoberta deve ser realizada.
3. Limpeza de dados e pr-processamento (Preprocessing): operaes bsicas
tais como remoo de rudos quando necessrio, coleta da informao
necessria para modelar ou estimar rudo, escolha de estratgias para
manipular campos de dados ausentes, formatao de dados de forma a
adequ-los ferramenta de minerao.
4. Reduo de dados e projeo (Transformation): localizao de caractersticas
teis para representar os dados dependendo do objetivo da tarefa, visando a
reduo do nmero de variveis e/ou instncias a serem consideradas para o
conjunto de dados, bem como o enriquecimento semntico das informaes.
5. Minerao de dados (Data Mining): selecionar os mtodos a serem utilizados
para localizar padres nos dados, seguida da efetiva busca por padres de

interesse numa forma particular de representao ou conjunto de


representaes; busca pelo melhor ajuste dos parmetros do algoritmo para a
tarefa em questo.
6. Interpretao dos padres minerados (Interpretation/Evaluation), com um
possvel retorno aos passos 1-6 para posterior iterao.
7. Implantao do conhecimento descoberto (Knowledge): incorporar este
conhecimento performance do sistema, ou document-lo e report-lo s
partes interessadas.

Figura 1. Etapas de KDD [Fayyad et al. 1996]

1.3. Aplicabilidade de Descoberta de Conhecimento em Bancos de Dados


Visando uma exemplificao da aplicabilidade de KDD, so apresentados a seguir casos
onde a descoberta de conhecimento em bancos de dados pode desempenhar tarefas
relevantes [Witten & Frank 2000]:

Submisses a emprstimos demandam do proponente o fornecimento de dados


pessoais e financeiros relevantes. Estas informaes so utilizadas pelas
instituies financeiras como base para a deciso de efetuar ou no o
emprstimo. Tal deciso comumente tomada em dois estgios. Primeiro,
mtodos estatsticos so utilizados para determinar situaes bem definidas em
relao aceitao ou rejeio do pedido. Os casos remanescentes, ou seja,
aqueles que esto no limite necessitam de anlise humana. KDD pode ser
aplicado neste problema da seguinte forma: suponha-se a disponibilidade de um
banco de dados histrico sobre clientes da instituio, com aproximadamente
5000 cadastros contendo 20 diferentes atributos, tais como idade, tempo de
servio, vencimentos, bens, status atual de crdito etc. O tratamento dessas
informaes por mtodos de KDD geraria automaticamente regras objetivas e
claras sobre caractersticas fundamentais a bons e maus clientes, podendo estas
regras serem aplicadas para aumentar a taxa de sucesso das operaes de
emprstimo.

Diagnstico uma das principais aplicaes de sistemas especialistas. A


manuteno preventiva de dispositivos eletromecnicos pode evitar falhas que
interrompam processos industriais. Tcnicos regularmente inspecionam cada

dispositivo, medindo vibraes e outros fenmenos que indicam necessidade de


manuteno. Instalaes de indstrias qumicas chegam a utilizar mais de mil
diferentes dispositivos, que vo de pequenas bombas a grandes turboalternadores. A medio de vibraes e demais fenmenos muito ruidosa,
devido s limitaes dos procedimentos de medio e registro. Estes dados, uma
vez estudados por um especialista, conduzem a um diagnstico. As limitaes
dos procedimentos tcnicos, aliadas subjetividade humana, oferecem uma
margem de erro preocupante. Por outro lado, um universo de 600 falhas, cada
uma devidamente registrada com seus conjuntos de medies representando 20
anos de experincia, pode ser utilizado para determinar o tipo de falha atravs de
procedimentos de KDD, aperfeioando assim o processo de busca e correo de
problemas eletromecnicos.

Desde o princpio da tecnologia de satlites, cientistas ambientais tentam


detectar manchas de leo a partir de imagens de satlite, com o intuito de alertar
e tomar providncias rapidamente contra desastres ambientais. Estas imagens
fornecem uma oportunidade para monitorar guas litorneas dia e noite,
independentemente de condies atmosfricas. Manchas de leo aparecem como
regies escuras na imagem cujo tamanho e forma modifica-se dependendo do
clima e condies martimas. Entretanto, outras regies negras semelhantes
podem ser causadas por fatores climticos, tais como ventos altos. Deteco de
manchas de leo um processo manual de alto custo, que requer pessoal
altamente treinado para avaliar cada regio na imagem. Sistemas de deteco
tm sido desenvolvidos para selecionar imagens para subseqente
processamento manual. Entretanto, necessrio ajust-los detalhadamente para
circunstncias distintas. KDD permite que estes sistemas sejam treinados para
fornecer padres de manchas e de ausncia delas, permitindo ainda ao usurio
controlar compromissos entre manchas no detectadas e falsos alarmes.

2. Tcnicas e Algoritmos
Bases de dados so altamente suscetveis a dados ruidosos (erros e valores estranhos),
incompletos (valores de atributos ausentes) e inconsistentes (discrepncias semnticas)
devido a seus tpicos volumes. Tcnicas de pr-processamento e transformao de
dados so aplicadas para aumentar a qualidade e o poder de expresso dos dados a
serem minerados. Estas fases tendem a consumir a maior parte do tempo dedicado ao
processo de KDD (aproximadamente 70%). A etapa de minerao de dados
responsvel pela seleo dos mtodos a serem utilizados para localizar padres nos
dados, com efetiva busca por padres de interesse numa forma particular de
representao, alm da busca pelo melhor ajuste dos parmetros do algoritmo para a
tarefa em questo. Esta etapa pressupe que os dados tenham uma boa qualidade
(limpos, sem inconsistncias, campos nulos etc.), alm de uma boa representao e
relevncia semntica (dados devidamente tratados, transformados e enriquecidos).
2.1. Pr-processamento de Dados
Rotinas de limpeza de dados tentam suprir valores ausentes, reduzir discrepncias de
valores ruidosos e corrigir inconsistncias. Para valores ausentes, algumas tcnicas
aplicveis so [Han & Kamber 2001]:

1 - Ignorar a tupla
2 - Suprir valores ausentes
a) manualmente;
b) atravs de uma constante global;
c) utilizando a mdia do atributo;
d) utilizando a mdia do atributo para todas as instncias da mesma classe;
e) com o valor mais provvel (regresso, inferncia etc.).
As tcnicas 2b, 2c, 2d e 2e podem "viciar" os dados. A tcnica 2e uma estratgia
interessante, pois em comparao com outros mtodos utiliza um maior nmero de
informaes dos dados disponveis.
Rudos nos dados so erros aleatrios ou varincias numa varivel mensurada. A
eliminao de rudos pode ser realizada atravs de:
1 - Interpolao;
2 - Agrupamento;
3 - Inspeo humana e computacional combinadas;
4 Regresso.
Alguns tipos de inconsistncias podem ser corrigidos manualmente atravs de
referncias externas. Rotinas de consistncia evitam a insero de dados incorretos
atravs da interface do banco de dados (infelizmente, a maioria dos softwares no so
projetados e desenvolvidos levando em conta KDD). Ferramentas de engenharia do
conhecimento podem detectar a violao de restries de dados. Tanto redundncias
como discrepncias podem ser combatidas atravs de dependncias funcionais.
2.2. Transformao de Dados
O processo de minerao geralmente demanda a integrao de dados (combinao de
diferentes bases de dados) e a transformao destes (modificaes de formato e
enriquecimento semntico).
No caso da integrao de dados, vrias fontes podem ser utilizadas (diferentes bancos
de dados, cubos de dados, flat files, arquivos XML etc.). Alguns tpicos relevantes
neste processo so [Han & Kamber 2001]:
1 - Integrao de esquemas - casamento de entidades relevantes do mundo real
(utilizao dos metadados);
2 - Redundncia de atributos (anlise de correlao - medida de quanto um atributo
implica em outro);
3 - Identificao e resoluo de valores de dados conflitantes (especialmente devido a
diferenas na representao, escala ou codificao);
Uma integrao de dados criteriosa pode reduzir e evitar redundncias e inconsistncias
no conjunto de dados resultante, aumentando a preciso e velocidade do processo de
minerao de dados.

No caso da transformao de dados, estes so modificados ou transformados em


formatos apropriados minerao:
1 - Agregao: gerao de totalizadores levando em conta determinados atributos ou
instncias. Por exemplo, vendas mensais, anuais, sazonais etc.;
2 - Generalizao: substituio de dados por conceitos de mais alto nvel. Idades, por
exemplo, podem ser representadas por faixas etrias, localidades por regies etc.;
3 - Normalizao: atributos so escalonados para uma faixa especfica como -1.0 a 1.0,
ou 0.0 a 1.0;
4 - Construo de atributos: novos atributos so construdos a partir de informaes prexistentes (ex.: classificao de crdito a partir de renda e histrico).
5 - Reduo de dados
a) Agregaes;
b) Reduo dimensional: deteco e remoo de atributos irrelevantes;
c) Compresso de dados: utilizao de mecanismos de codificao para reduzir o
tamanho do conjunto de dados;
d) Reduo numrica (instncias): amostragem, por exemplo.
2.3. Minerao de Dados
Etapas de minerao de dados utilizam tcnicas e algoritmos de diferentes reas do
conhecimento, principalmente inteligncia artificial (especialmente aprendizagem de
mquina), banco de dados (recursos para manipular grandes bases de dados) e
estatstica (comumente na avaliao e validao de resultados), conforme a Figura 2.
Uma questo que freqentemente surge a seguinte: porque no utilizar to somente os
conhecidos procedimentos estatsticos para obter informaes relevantes a partir de um
conjunto de dados?

Figura 2. Minerao de dados utiliza recursos de diferentes reas

Conforme mencionado, procedimentos estatsticos so utilizados nas etapas de KDD e


mais especificamente na minerao de dados. Entretanto, o volume, complexidade e
peculiaridades dos eventos e dos dados por eles originados impem severas limitaes a
metodologias puramente estatsticas, dentre elas:

Dados nem sempre possuem independncia estatstica entre eles, ou seja, muitos
domnios possuem inter-relao entre seus objetos e respectivos atributos,
comprometendo a aplicao de mtodos estatsticos;

A anlise estatstica demanda um grau de conhecimento e domnio desta rea


que apenas estatsticos e profissionais de reas correlatas possuem, restringindo
assim a atuao da grande maioria dos potenciais usurios de procedimentos
analticos;

Mtodos estatsticos manipulam muito bem dados numricos, mas no


manipulam bem valores simblicos, incompletos ou inconclusivos;

Estes mtodos so computacionalmente caros quando se trata de grandes bases


de dados.

Desta forma, percebe-se claramente que a minerao de dados possui grande relevncia,
contribuio e abrangncia no que diz respeito a aplicaes. Visando uma melhor
compreenso das tarefas, ser apresentado a seguir uma breve descrio dos principais
mtodos de minerao de dados utilizando aprendizagem de mquina.
A exemplificao de cada tpico toma por base recursos do Weka, uma ferramenta de
KDD que contempla uma srie de algoritmos de preparao de dados, de aprendizagem
de mquina (minerao) e de validao de resultados. Na seo 4 outros pontos do
software sero abordados.
2.3.1. Aprendizagem Supervisionada
Esta categoria de algoritmos possui esta denominao porque a aprendizagem do
modelo supervisionada, ou seja, fornecida uma classe qual cada amostra no
treinamento pertence. Estes algoritmos so preditivos, pois suas tarefas de minerao
desempenham inferncias nos dados com o intuito de fornecer previses ou tendncias,
obtendo informaes no disponveis a partir dos dados disponveis:

Classificao: atravs destes algoritmos supervisionados (com nfase na


preciso da regra) possvel determinar o valor de um atributo atravs dos
valores de um subconjunto dos demais atributos da base de dados. Por exemplo,
num conjunto de dados comerciais deseja-se descobrir qual o perfil dos clientes
que consomem cosmticos importados. Com classificadores pode-se inferir
(prever) que clientes do sexo feminino, com renda superior a R$ 1.500,00 e
com idade acima de 30 anos compram cosmticos importados. Neste caso, o
atributo compra cosmtico importado denominado classe, pois o atributo
alvo da classificao (cujos possveis valores, neste caso, so "sim" ou "no").
As formas mais comuns de representao de conhecimento dos algoritmos de
classificao so regras e rvores. Os algoritmos Id3, C45, J48, ADTree,
UserClassifier, PredictionNode, Splitter, ClassifierTree, M5Prime, por exemplo,
geram como resultado rvores de classificao (Figura 3), enquanto que outros
como Prism, Part, OneR geram regras de classificao. Outra opo seria a
representao atravs de tabela de deciso implementada, por exemplo, pelo
algoritmo DecisionTable. Modelos matemticos, de regresso e redes neurais
tambm representam resultados de algoritmos como SMO, LinearRegression,
Neural, dentre outros.

Figura 3. Exemplo de rvore de classificao no Weka [Waikato 2004]

Seleo de atributos: em bases de dados encontram-se atributos que tm um


peso maior ou at determinante nas tarefas de minerao de dados. Por exemplo,
no caso do cliente, a sua renda com certeza um atributo determinante nos seus
hbitos de consumo. Com algoritmos de seleo de atributos possvel
determinar os atributos de fato relevantes para a minerao dos dados,
separando-os dos atributos irrelevantes, como por exemplo nome do cliente (que
neste caso no influencia seus hbitos de consumo). O Weka disponibiliza
vrios algoritmos para esta categoria de minerao, dentre eles InformationGain,
PrincipalComponents e ConsistencyEval.

2.3.2. Aprendizagem No-Supervisionada


Nestes algoritmos o rtulo da classe de cada amostra do treinamento no conhecida, e
o nmero ou conjunto de classes a ser treinado pode no ser conhecido a priori, da o
fato de ser uma aprendizagem no-supervisionada. Alm disso so tambm descritivos,
pois descrevem de forma concisa os dados disponveis, fornecendo caractersticas das
propriedades gerais dos dados minerados:

Associao: quando a classe de uma tarefa de minerao no determinada


como no caso da classificao, uma boa opo o algoritmo de associao
Apriori do Weka. Ele capaz de gerar regras do tipo: clientes do sexo
masculino, casados, com renda superior a R$ 1.800,00 tm o seguinte hbito de
consumo: roupas de grife, perfumes nacionais, relgios importados. Esta regra
teria a seguinte representao:
sexo(X,[masc]) ^ est_civil(X,[casado]) ^
renda(X,[1800,])

consome(X,[roupa_grife,
perfume_nacional,
relgio_importado]). Neste caso, o prprio algoritmo elege os atributos
determinantes (lado esquerdo da regra) e os atributos resultantes (lado direito)
na tarefa revelando associaes entre valores dos atributos, tendo o algoritmo
sua nfase no compromisso entre preciso e cobertura (Figura 4).

Clustering: em algumas situaes, torna-se necessrio verificar como as


instncias de uma determinada base de dados se agrupam devido a
caractersticas intrnsecas de seus atributos, sem que seja definida uma classe
para a tarefa. A partir da definio de uma mtrica de similaridade para cada
atributo e uma funo de combinao destas mtricas em uma mtrica global, os
objetos so agrupados com base no princpio da maximizao da similaridade
intraclasse e da minimizao da similaridade interclasse. Weka possui os

algoritmos Cobweb, Simple Kmeans e Em para tarefas que demandam a


descoberta de padres de agrupamento nos dados. Como exemplo podemos
utilizar algoritmos de clustering para identificar subgrupos homogneos de
clientes de uma determinada loja.

Figura 4. Exemplos de regras de associao no Weka [Waikato 2004])

2.3.3. Validao de Resultados


muito importante que os resultados e modelos possam ser avaliados e comparados.
Alguns elementos relevantes neste domnio: teste e validao, que fornecem parmetros
de validade e confiabilidade nos modelos gerados (cross validation, suplied test set, use
training set, percentage split); indicadores estatsticos para auxiliar a anlise dos
resultados (matriz de confuso, ndice de correo e incorreo de instncias mineradas,
estatstica kappa, erro mdio absoluto, erro relativo mdio, preciso, F-measure, dentre
outros).
2.3.4. Medidas de Interesse
Diferentes fatores retratam a qualidade dos resultados obtidos a partir de tarefas de
minerao de dados. Neste ponto, abordaremos duas medidas de interesse muito
relevantes na avaliao de regras:
Confidncia:
Seja uma regra "A => B".
A confidncia da regra dada por:
Confidncia (A => B) = #_Tuplas_Contendo_Tanto_A_Como_B
#_Tuplas_Contendo_A
Exemplo: Uma confidncia de 85% (0,85) da regra compra (mulher, computadores) =>
compra (mulher, software) significa que 85% das mulheres que compram computadores
tambm compram software.
Suporte:
O suporte da regra dado por:
Suporte (A => B) = #_Tuplas_Contendo_Tanto_A_Como_B
#_Total_De_Tuplas

Ou seja, um suporte de 5% significa que de todas as transaes comerciais realizadas,


5% so efetuadas por mulheres que comprando computador tambm compram
softwares.
2.3.5. Critrios de comparao
Critrios para comparar mtodos e resultados de minerao de dados permitem avaliar e
optar pelo melhor custo/benefcio a ser adotado para a tarefa em questo. Alguns
critrios relevantes neste contexto so:

Preciso avaliativa ou preditiva: habilidade do modelo para avaliar ou prever


corretamente classes, agrupamentos, regras;

Velocidade: refere-se ao custo computacional da gerao e utilizao do


modelo;

Robustez: habilidade do modelo para avaliar ou prever corretamente utilizando


dados ruidosos ou com valores ausentes;

Escalabilidade: capacidade de construir modelos eficientemente a partir de


grandes volumes de dados;

Interpretabilidade: nvel de compreenso fornecido pelo modelo.

3. Aplicaes
O nmero de pesquisadores e profissionais que utilizam tcnicas de minerao de dados
ainda muito pequeno no Brasil, haja vista o potencial e demanda desta tecnologia.
Tanto no campo acadmico como no corporativo, os bancos de dados abarrotados de
informaes so geralmente utilizados para consultas triviais, e muitos dados preciosos
fadados ao backup. O grande potencial do conhecimento intrnseco nestas montanhas de
dados continua ignorado ou inacessvel por muitas instituies. Entretanto, diferentes
aplicaes tm atestado a relevncia e poder desta tecnologia.
3.1. Aplicaes Acadmicas
Na rea acadmica, a demanda por novas e poderosas abordagens de minerao de
dados est presente em muitos segmentos de pesquisa, dentre eles:

Minerao em datawarehouses: repositrios com dados de boa qualidade,


integrados, estratgicos, histricos, disponibilidade de metadados, infraestrutura
de processamento (inclusive ferramentas avanadas);

Minerao em bancos de dados espaciais: aplicvel sobre elementos


geogrficos, imagens de sensoriamento remoto, imagens mdicas, layout de
chips VLSI etc. No caso de dados geogrficos (Figura 5), aplicaes relevantes
contemplam estudos ambientais, vigilncia territorial, deteco de
desmatamentos, planejamento urbano etc.;

Minerao de dados multimdia: extrao de padres relevantes a partir de


animaes, udio, vdeo, imagens e textos (busca por similaridades, anlise
multidimensional, classificatria, preditiva, dentre outros);

Figura 5. Minerao de dados geogrficos (GeoMiner [Han et al. 1997])

Minerao de dados (sries) temporais: mercado de aes, processos de


produo, experimentos cientficos, tratamentos mdicos, anlises de tendncias,
de histricos e de similaridades. Envolve ainda a avaliao de eventos cclicos,
sazonais e aleatrios;

Minerao de textos: muitas informaes esto disponveis em documentos


(artigos de jornais ou cientficos, livros, e-mails, pginas Web etc.). Dentre as
abordagens encontramos a recuperao de informaes e a aplicao de tcnicas
de minerao em informao semi-estruturada;

Minerando a Web: minerao de contedo, uso e estrutura. Configura-se num


repositrio imenso, distribudo e global que contem uma ampla e rica coleo de
hiperlinks. Seu tamanho, complexidade e dinamismo oferecem grandes desafios
cientficos. Os engenhos de busca (Google, por exemplo) subsidiam abordagens
interessantes.

3.2. Aplicaes Corporativas


Atentas ao poder da informao que coletam a todo instante (e em volumes imensos), as
empresas investem continuamente em novas tecnologias que agreguem valor ao
negcio. O efetivo emprego de tcnicas de minerao de dados atinge diferentes
empreendimentos:

Minerando o DNA: atividades de mapeamento de seqncias (padres de


seqenciamento em larga escala), busca por similaridades e comparaes, e
identificao de seqncias gentica co-ocorrentes tm encontrado na minerao
de dados poderosos recursos computacionais;

Minerando dados mdicos: hospitais, clnicas e planos de sade, cada vez mais
interessados no aperfeioamento de procedimentos (diagnsticos e tratamentos),
buscam em KDD meios para maximizar recursos e resultados, preferencialmente
com reduo de custos. Exemplos: minerao de imagens tomogrficas, preciso
na prescrio de exames e procedimentos;

Dados estruturais (grafos): muitas bases de dados possuem caractersticas


estruturais, cujos dados so compostos por segmentos e relacionamentos entre
estes. A minerao de subestruturas busca subgrafos semelhantes num conjunto

de grafos. Subestruturas descobertas so utilizadas para comprimir os dados


originais, permitindo abstrair estruturas detalhadas e representar conceitos
estruturais nestes dados. Assim, uma subestrutura descoberta usada para
simplificar os dados, substituindo instncias da subestrutura por um ponteiro
para esta nova subestrutura descoberta, conforme exemplo da Figura 6.

Figura 6. Minerao de grafos (estrutura atmica - borracha) [Holder et al. 2002]

Dados financeiros: o volume de interesses e poder atrelados a ativos financeiros


tm despertado a ateno de muitos para informaes estratgicas deste
domnio. Aplicaes de mineraes de dados vo da deteco de fraudes e
lavagem de dinheiro analise de mercados, tendncias e fomento especulativo.
Anlise de crdito de consumidores e classificao de clientes para estratgias
de marketing figuram dentre as aplicaes mais comuns.

Dados comerciais: empresas de varejo, especialmente as grandes redes,


contemplam minas de ouro nos seus grandes bancos de dados. Anlise de
vendas, comportamento da clientela, giro de produtos, fenmenos sazonais e
preferncias regionais motivam grandes investimentos em minerao de dados.
Alm disso, possvel avaliar campanhas publicitrias, potencializar o comrcio
eletrnico, avaliar e incentivar fidelidade de clientes.

Telecomunicaes: grande demanda na deteco de invases e comportamentos


anmalos em sistemas, avaliao de uso e trfego, anlise de padres de
consumo.

3.3. Tendncias, Desafios e Perspectivas


Observando as aplicaes acadmicas e corporativas acima, possvel citar algumas das
fortes tendncias da rea, bem como os desafios correlatos e as perspectivas da
minerao de dados:

Os casos citados e outros possuem potenciais no explorados. O volume e


complexidade dos dados, aliados peculiaridade das respectivas operaes,
revelam em cada aplicao um grande conjunto de oportunidades para
atividades de pesquisa que aperfeioem e inovem mtodos e tecnologias
[Sarawagi et al. 1998];

Considerando o volume de dados (que em alguns casos mostra-se espantoso) e a


demanda por alto desempenho, verifica-se que novos mtodos escalveis de

minerao muito contribuiro com o desenvolvimento da rea [Agrawal &


Srikant 1994];

O alto nvel de integrao de plataformas e de bases de dados remotas demanda


uma igual integrao das ferramentas de minerao de dados com diferentes
sistemas de bancos de dados, datawarehouses e Web [Silva & Robin 2002];

Devido iteratividade e interatividade das tarefas, linguagens que especifiquem


consultas e processos so muito bem vindas em ambientes de KDD, uma vez
que a utilizao de diferentes ferramentas, o controle do fluxo do processo e o
gerenciamento do conhecimento demandam esforo extra na ausncia dos
recursos providos por uma linguagem [Silva & Robin 2004];

Visual data mining: concerne ao emprego de recursos de computao grfica


(CG) para evidenciar padres em bases de dados. A evoluo de ambas as reas
(KDD e CG) amplia as oportunidades de relevantes trabalhos neste domnio
[DBMiner 2000] (Figura 7);

Figura 7. Exemplos de regras de associao [DBMiner 2000]

Minerao de dados complexos e semi-estruturados: alm das gigantescas bases


de dados convencionais, repositrios de dados no convencionais (imagens,
textos, grafos, Web, multimdia etc.) apresentam-se como grandes motivaes
para pesquisas e projetos inovadores [Simoff et al. 2002];

Proteo de privacidade e segurana de dados: os freqentes ataques a sistemas


computacionais, especialmente atravs da Web, oferecem um excelente campo
de aplicao para mtodos de minerao de dados em tempo real como, por
exemplo, avaliao de comportamento e padres de uso.

4. Weka: Um Software GNU para Minerao de Dados


Waikato Environment for Knowledge Analysis WEKA [Waikato 2004, Witten &
Frank 2000] uma ferramenta de KDD que contempla uma srie de algoritmos de
preparao de dados, de aprendizagem de mquina (minerao) e de validao de
resultados. WEKA foi desenvolvido na Universidade de Waikato na Nova Zelndia,
sendo escrito em Java e possuindo cdigo aberto disponvel na Web (a atual verso 3.4.3 - demanda Java 1.4). A equipe de desenvolvimento tem lanado periodicamente
correes e releases do software, alm de manter uma lista de discusses acerca da

ferramenta. Grande parte de seus componentes de software so resultantes de teses e


dissertaes de grupos de pesquisa desta universidade. Inicialmente, o desenvolvimento
do software visava a investigao de tcnicas de aprendizagem de mquina, enquanto
sua aplicao inicial foi direcionada para a agricultura, uma rea chave na economia da
Nova Zelndia.
O sistema possui uma interface grfica amigvel e seus algoritmos fornecem relatrios
com dados analticos e estatsticos do domnio minerado. Grande parte de seus recursos
acessvel via sua GUI, sendo que os demais podem ser utilizados programaticamente
atravs de APIs. Foi disponibilizada tambm uma abrangente documentao online do
cdigo fonte. Por ser escrito em Java, o cdigo pode ser rodado em diferentes
plataformas, conferindo uma boa portabilidade ao software. Uma limitao da
ferramenta a sua escalabilidade, uma vez que suas verses atuais limitam o volume de
dados a ser manipulado dimenso de memria principal. Mesmo assim, possvel
minerar bases de dados relevantes, tornando o pacote atrativo para um grande nmero
de aplicaes (componentes do Weka tm sido utilizados em um considervel nmero
de projetos). Algumas funcionalidades do software so introduzidas na seo 2.3.
4.1. Interface e Funcionalidades
A interface grfica do Weka disponibiliza grande parte de suas funcionalidades.
Embora seja intuitiva, para uma abordagem inicial faz-se necessrio reconhecer alguns
elementos estratgicos da GUI Explorer, cujo guia do usurio encontra-se em
http://aleron.dl.sourceforge.net/sourceforge/weka/ExplorerGuide.pdf
Esta primeira tela (Figura 8) apresenta elementos de pr-processamento:

Figura 8. Interface do Weka (Preprocess)

(A) Open File, Open URL, Open DB: atravs destes botes possvel
selecionar, respectivamente, bases de dados a partir de flat files locais (formato
.arff), bases remotas (Web), e diferentes bancos de dados (via JDBC). Para

acessar dados no MS Access, um roteiro de configurao est disponvel em


http://www.cs.waikato.ac.nz/~ml/weka/opening_windows_DBs.html . Uma
breve descrio do formato .arff pode ser encontrada em
http://www.cs.waikato.ac.nz/~ml/weka/arff.html ;

(B) No boto filter possvel efetuar sucessivas filtragens de atributos e


instncias na base de dados previamente carregada (seleo, discretizao,
normalizao, amostragem, dentre outros);

(C) Navegando interativamente pelos atributos (quadro Attributes) possvel


obter informaes quantitativas e estatsticas sobre os mesmos (quadro Selected
attribute);

Nesta interface, possvel desenvolver tarefas de classificao (Figura 9):

Figura 9. Classificao no Weka

(A) Seleo e parametrizao do algoritmo a ser utilizado (Id3, C45, J48,


BayesNet, Prism, Part etc);

(B) Permite selecionar a opo de teste e validao do modelo gerado (o prprio


conjunto de dados do treinamento, um outro conjunto s para testes, crossvalidation, separar parte do conjunto de treinamento para teste);

(C) Seleo do atributo classe para a tarefa de classificao;

(D) Resumo da tarefa efetuada, com dados estatsticos, modelo, matriz de


confuso etc.

As opes Cluster, Associate e Select attributes possuem interfaces semelhantes,


fornecendo algumas opes peculiares a estas tarefas. No caso de tarefas de
agrupamento (Cluster) a interface fornece a opo de ignorar atributos, pois muito
comum que neste tipo de tarefa um ou mais atributos gerem vis ou rudos no processo
de agrupamento. J na seleo de atributos (Select attributes), possvel escolher o

algoritmo avaliador de atributos e o mtodo de busca para a tarefa (Figura 10). Faz-se
necessrio salientar que alguns avaliadores demandam mtodos de busca especficos.

Figura 10. Seleo de atributos

4.2 Instalao, Configurao e Documentao do Weka


A instalao do software simples. Basta baixar o pacote de [Waikato 2004] e executar
o instalador. Atividades de configurao podem ser encaradas como a prpria
parametrizao dos algoritmos utilizados. O processo de escolha de algoritmos e a
respectiva parametrizao destes constituem um dos desafios na minerao de dados,
pois dependem muito do conhecimento de cada algoritmo, da experincia do minerador
e do domnio do especialista da rea minerada (dados comerciais, cientficos etc.). Na
documentao abordada a seguir possvel encontrar informaes que muito auxiliaro
nesta tarefa.
Diferentes recursos de documentao podem ser encontrados no software e no site do
projeto. Na instalao do Weka um pacote de documentao disponibilizado, o qual
contem informaes da API (Figura 11). No pacote ainda est incluso um tutorial, que
na realidade o oitavo captulo do livro escrito pelos lderes do projeto [Witten & Frank
2000].
No site do Weka diferentes recursos agregam informaes e ajuda ao usurio (Figura
12):

Pgina de trouble-shooting;

Frum de discusses (com arquivo das mensagens);

Guia explicativo do formato ARFF adotado pelo Weka (e outros softwares);

Introduo ao uso do Weka a partir da linha de comando (chamando diretamente


componentes Java);

Guia do usurio para a interface do Explorer;

Descrio do pacote Bayes Net;

Tutorial do Experimenter;

Descrio de como carregar bases de dados do MS Access para o Weka.

So disponibilizadas ainda bases de dados para testes e aprendizagem, alm de uma lista
de projetos relevantes relacionados ao Weka.

Figura 11. Documentao da API

Figura 12. Recursos e ajuda no site do Weka

4.3 Explorando Potencialidades


Por mais aplicada que seja a anlise documental do Weka, torna-se imprescindvel a
plena utilizao do software. Neste minicurso, com a finalidade de fixar os conceitos
apresentados e propiciar uma melhor percepo do potencial desta recente e desafiadora
rea de pesquisa, atividades de minerao de dados sero realizadas diretamente no
Weka visando um enfoque prtico e aplicado.

5. Kdnuggets: Um Portal de Recursos para KDD


O Kdnuggets [Kdnuggets 2004] um portal com informaes e recursos pra vrios
tpicos ligados a KDD e suporte deciso, com contedos e/ou links para artigos,
softwares, cursos, publicaes, empresas do ramo, notcias, encontros e congressos,
oportunidades de trabalho, dentre outros (Figura 13).

Figura 13. Portal Kdnuggets

6. Consideraes Finais
Minerao de dados, e conseqentemente KDD, possuem uma vasta aplicao nos mais
diferentes segmentos, tanto acadmicos como corporativos, alm de uma srie de
desafios relevantes que podem motivar excelentes trabalhos cientficos.
Este minicurso no esgota em momento algum os diferentes tpicos da minerao de
dados, mas antes procura fornecer uma viso geral do assunto bem como seus
fundamentos, apresentando ainda diferentes reas de pesquisa e aplicao desta
tecnologia.
O avano tecnolgico e a oferta de ferramentas no dispensam de forma alguma o
especialista do domnio minerado. A experincia profissional, a convivncia com os
processos e a leitura dos padres descobertos so atributos que propiciam ao(s)
minerador(es) amplas chances de sucesso nos processos de KDD.

O breve contato com o software Weka permite que algumas tarefas de minerao (e
KDD) sejam de fato desenvolvidas, fixando conceitos e apresentando uma ferramenta
de qualidade e de cdigo aberto, possibilitando ainda a quebra de paradigmas em
relao minerao de dados.
Aqueles que de fato se identificarem com esta rea de pesquisa devem continuar a
explorao do Weka e de outras ferramentas, buscando nas referncias contedos e
subsdios para ampliar o conhecimento e a viso crtica deste promissor segmento da
computao. A partir deste ponto, o desenvolvimento de excelentes projetos,
dissertaes, teses e aplicaes ser uma conseqncia natural do envolvimento
acadmico e da dedicao pessoal.

Referncias
Agrawal, R.; Srikant, R. Fast algorithms for mining association rules in large
databases. Proceedings of the International Conference on Very Large Databases,
Santiago, Chile, 1994
Dbminer Technology Inc. DBMiner Interprise 2.0 (2000). Disponvel no site da
DBMiner Technology. URL: http://www.dbminer.com/
Fayyad, U. M.; Piatesky-Shapiro, G.; Smyth, P. From Data Mining to Knowledge
Discovery: An Overview. In: Advances in Knowledge Discovery and Data Mining,
AAAI Press, 1996.
Han, J.; Koperski, K.; Stefanovic, N. GeoMiner: A System Prototype for Spatial Data
Mining, ACM SIGMOD International Conference on Management of Data,
Arizona, 1997.
Han, J.; Kamber, M. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2001.
Holder, L.; Cook, D.; Gonzalez, J.; Jonyer, I. Structural Pattern Recognition in Graphs,
in Pattern Recognition and String Matching, Kluwer Academic Publishers, 2002.
Kdnuggets. Data Mining and Knowledge Discovery. Disponvel no site da Kdnuggets
(2004). URL: http://www.kdnuggets.com
Sarawagi, S.; Agrawal, R.; Megiddo, N. Discovery-Driven Exploration of OLAP Data
Cubes. IBM Almaden Research Center, 1998.
Silva, M. P. S.; Robin, J. R. SKDQL Uma Linguagem Declarativa de Especificao
de Consultas e Processos para Descoberta de Conhecimento em Bancos de Dados e
sua Implementao (2002). Dissertao de Mestrado. UFPE, 2002.
Silva, M. P. S.; Robin, J. R. SKDQL: A Structured Language to Specify Knowledge
Discovery Processes and Queries (2004). XVII Brazilian Symposium on Artificial
Intelligence - SBIA'04.
Simoff, S.; Djeraba, C.; Zaiane, O. Multimedia Data Mining between Promisses and
Problems (2002). SIGKDD Explorations.
University of Waikato. Weka 3 Machine Learning Software in Java. Disponvel no
site da University of Waikato (2004). URL: http://www.cs.waikato.ac.nz/ml/weka
Witten, I.; Frank, E. Data Mining Practical Machine Learning Tools. Morgan
Kaufmann, 2000.

Você também pode gostar