Anda di halaman 1dari 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.

Anda mungkin juga menyukai