Hlio Henrique da Silva e Silva Yuji de Oliveira Ohnishi SELEO, PR-PROCESSAMENTO E TRANSFORMAO NO PROCESSO DE DATA MINING Unama Belm/PA 2002 ii damo Lima de Santana Hlio Henrique da Silva e Silva Yuji de Oliveira Ohnishi SELEO, PR-PROCESSAMENTO E TRANSFORMAO NO PROCESSO DE DATA MINING Trabalho de Concluso de Curso apresentado como exigncia parcial para obteno do ttulo de bacharel em Cincia da Computao, elaborada sob orientao do Prof. Msc. Cludio Alex Jorge da Rocha. Unama Belm/PA 2002 ii _______________________________ Cludio Alex J. da Rocha (Orientador) _______________________________ Aleksandra do Socorro da Silva _______________________________ Josyane Lannes Florenzano de Souza Data: _____/_____/_____ iii A Deus, aos nossos pais, amigos e professores, pois sem eles este projeto no seria possvel. iv Agradecemos ao Prof. Cludio Alex, por sua orientao e amizade durante todo este trabalho, por ter nos compreendido e ajudado sempre que alguma dificuldade se apresentava. Ao Prof. Renato Francs, por sua amizade e pela imensurvel ajuda durante o estabelecimento e desenvolvimento do estudo de caso para este trabalho. A nossos familiares e amigos, por serem o que so, nicos, mas com tanto em comum. Por estarem conosco, nos inspirarem e nos apoiarem durante todo o percurso. E principalmente, agradecemos a Deus, pela iluminao e perseverana, sem as quais jamais venceramos a batalha contra Murphy. v Na vida, construmos escadas para subirmos, Para alcanarmos os patamares de nossas vidas, e... Em cada patamar que chegarmos, plantaremos uma semente...; Um dia quando estivermos descendo, e... Se a escada que construmos for segura, de madeira boa; Se a semente que plantamos, em cada patamar, Foi selecionada de bons frutos...; A nossa descida ser segura, e... Em cada patamar de nossa descida Encontraremos uma rvore frondosa, Que em dias quentes nos proteger do calor ardente do sol, Nas noites frias nos aquecer, com a chama de seus galhos secos, e... Com seus frutos maduros, saciar nossa forme . Olmpio Ohnishi vi LISTA DE ILUSTRAES Figura 2.1 Processo KDD (FAYYAD, PIATESKY-SHAPIRO, SMYTH e UTHURUSAMY, 1996)....... 5 Figura 2.2 Ciclo virtuoso de Data Mining............................................................................................. 7 Figura 2.3 Arquitetura de um sistema de aprendizado (ROCHA, 1999). .......................................... 10 Figura 3.1 Simplificao das tcnicas que podem ser utilizadas na fase de pr-processamento (HAN e KAMBER, 2001)........................................................................................................................ 13 Figura 3.2 Excluso das tuplas com valores ausentes. .................................................................... 14 Figura 3.3 Preenchimento manual dos valores em branco. .............................................................. 15 Figura 3.4 Definio de uma constante K para preencher os valores ausentes. ........................... 15 Figura 3.5 Clculo da mdia dos valores no-ausentes. .................................................................. 16 Figura 3.6 Preenchimento dos valores em branco com a mdia do grupo ao qual a tupla pertence. ............................................................................................................................................................... 16 Figura 3.7 Uso de tcnicas de inferncia como rvore de Deciso para estimar o valor ausente... 17 Quadro 3.8 Mtodos de ajuste de grupo baseado no valor vizinho (HAN e KAMBER, 2001).......... 18 Figura 3.9 Rudos podem ser detectados utilizando tcnicas de Clustering (HAN e KAMBER, 2001). ............................................................................................................................................................... 19 Figura 4.1 Tela de seleo do banco de dados. ............................................................................... 22 Figura 4.2 Seleo das tabelas que sero analisadas...................................................................... 23 Figura 4.3 Seleo de atributos que so relevantes ao processo de extrao de conhecimento. ... 24 Figura 4.4 Ordenao dos atributos selecionados. ........................................................................... 25 vii Figura 4.5 Limpeza de dados tratamento dos valores ausentes com opo de preench-los ou exclu-los do conjunto de dados. ........................................................................................................... 26 Figura 4.6 Alterao do valor ausente feita manualmente pelo usurio. ....................................... 27 Figura 4.7 Deteco e tratamento dos Rudo nos dados com auxlio do prprio usurio. ................ 28 Figura 4.8 Tratamento de Inconsistncia de Dados.......................................................................... 29 Figura 4.9 Alterao do valor feminino pelo valor F. .................................................................... 30 Figura 4.10 Aps a alterao o atributo SEXO assume somente valores F ou M. ...................... 30 Figura 4.11 Distribuio do valor discreto SEXO, que informa a porcentagem de alunos do sexo masculino e feminino. ............................................................................................................................ 31 Figura 4.12 ltimo passo: Gerao do arquivo de sada. ................................................................. 32 Figura 5.1 Seleo da tabela Resultado_Total ................................................................................. 34 Figura 5.2 Seleo dos atributos pertinentes anlise..................................................................... 35 Figura 5.3 Nenhum rudo foi detectado no conjunto de dados.......................................................... 36 Figura 5.4 Gerao do arquivo de sada para a ferramenta de Data Mining. ................................... 37 Figura 5.5 Rede Bayesiana obtida no programa Bayesware Discoverer.......................................... 38 Figura 5.6 Estado da rede Bayesiana ao definirmos uma evidncia. ............................................... 39 viii RESUMO Estudos para o desenvolvimento de meios e mtodos que permitam a eficincia da gesto do conhecimento que constituem uma tendncia no atual mundo competitivo e globalizado. No entanto, o diferencial justamente a aplicao da tecnologia certa para cada tipo de demanda. Em um sistema de Descoberta de Conhecimento em Banco de Dados (Sistema KDD Knowledge Discovery in Database) os dados passam por uma srie de fases para que algum tipo de conhecimento possa ser efetivamente obtido. Essas fases caracterizam a chamada preparao dos dados, e muitas vezes tm seus valores subestimados, sendo simplesmente descartados. Este trabalho apresenta as referidas fases de preparao dos dados, enfatizando a real necessidade e importncia das mesmas para a minerao de dados, chegando a representar at oitenta por cento do tempo gasto em um processo de KDD. Estas fases tm a sua utilizao justificada pela maior eficincia e preciso dos resultados obtidos em uma ferramenta de Data Mining. Para este trabalho, foi desenvolvida uma ferramenta que implementa algumas das tcnicas de preparao de dados existentes, gerando um arquivo de sada com um conjunto de dados j preparados para serem submetidos a uma ferramenta de Minerao de Dados. ix ABSTRACT Studies for the development of means and methods that allow an effective management of knowledge stand as a new tendency in the competitive and globalized world. Still, its differential lays precisely in the use of the right technology for it respective kind of demand. In a Knowledge Discover Database system the data passes through a series of phases so that some knowledge may be effectively obtained from it. Those phases represent the datas preparation, and its usually underestimated and some times even discarded. This work emphasizes the true need and value of the use of such phases for the data mining, reaching almost eighty percent of the whole time spent in a KDD process. The phases have their use justified by an increasing efficiency and precision of the results obtained by a data mining tool. For the matter of this work, it was developed a tool that implements some of the existing datas preparation techniques and generates a file containing a set of data that had already been prepared to be submitted to a Data Mining tool. x SUMRIO 1- INTRODUO................................................................................................................................... 1 2- EXTRAO DE CONHECIMENTO DE BASE DE DADOS ............................................................. 4 2.1 - FASES DO PROCESSO KDD.................................................................................................... 4 2.2 - MINERAO DE DADOS (DATA MINING) ............................................................................... 5 2.2.1- Tcnicas de Minerao de Dados ........................................................................................ 8 2.2.2- Algoritmos de Data Mining.................................................................................................. 10 3- PR-PROCESSAMENTO DE DADOS............................................................................................ 12 3.1 - LIMPEZA DE DADOS............................................................................................................... 14 3.1.1 - Valores Ausentes:.............................................................................................................. 14 3.1.2 - Rudo nos Dados............................................................................................................... 17 3.1.3 - Dados Inconsistentes ........................................................................................................ 20 4- K-EXTRACTOR: .............................................................................................................................. 21 5- ESTUDO DE CASO......................................................................................................................... 33 5.1 DEFINIO DO DOMNIO DA APLICAO:.......................................................................... 33 5.2 SELEO E PR-PROCESSAMENTO DOS DADOS ........................................................... 34 5.3 DATA MINING.......................................................................................................................... 37 5.4 INTERPRETAO DO CONHECIMENTO:............................................................................. 39 6- CONSIDERAES FINAIS............................................................................................................. 44 6.1- RESULTADOS OBTIDOS.......................................................................................................... 44 6.2- TRABALHOS FUTUROS........................................................................................................... 45 REFERNCIA BIBLIOGRFICA.......................................................................................................... 47 1 1- INTRODUO Nos dias de hoje, o mercado se apresenta cada vez mais competitivo, fazendo com que as empresas, assim como corporaes de forma geral, recorram sua base de dados de maneira a extrair o maior conhecimento possvel para melhorar o andamento de seu negcio e tomar futuras decises. Com base nesses conhecimentos extrados, usurios gerenciais, ou seja, usurios com capacidade de observao mais apurada diante das informaes contidas em uma base de dados, obtm informaes que auxiliaro a empresa, por exemplo, a entender o comportamento de seus clientes, podendo assim visualizar as conseqncias que suas decises podem trazer. A obteno dessas informaes tem sido realizada via tarefas manuais de anlise e interpretao dos dados, o que torna o procedimento muito caro, lento e subjetivo. O interesse em extrair informaes de uma grande base de dados, em intervalo menor de tempo, tem estimulado vrias pesquisas na sub rea de Inteligncia Artificial conhecida como Extrao de Conhecimento de Base de Dados (KDD Knowledge Discovery in Database). O KDD um processo complexo, que consiste em uma tecnologia que envolve a aquisio, armazenamento, processamento e distribuio da informao, combinando mtodos e ferramentas de estatstica, aprendizado de mquina e banco de dados, com a finalidade de encontrar padres e regularidades em dados. As empresas tm a necessidade de tomar decises de maneira rpida e eficaz a partir de uma base de dados formada por inmeros dados e atributos, isso atualmente cada vez mais invivel, segundo usurios gerenciais. Esta inviabilidade justifica-se devido base de dados tende sempre a crescer e a ficar cada vez mais complexa, impossibilitando ao usurio de administr-la de uma maneira competente ou ainda de tomar decises com exatido. Alm de considerar o fato de que nem sempre todos os atributos de uma base de dados so utilizados, e que a incluso 2 deles em uma busca ou pesquisa irrelevante, porque pode provocar perda de performance e de integridade desnecessrias. Este trabalho contextualiza-se na rea de Extrao de Conhecimento de Base de Dados (KDD), onde so utilizadas tcnicas computacionais para auxiliar o usurio na tomada de decises a partir de informaes contidas em grandes bases de dados. Mais especificamente, iremos tratar da aplicao de um programa que ser desenvolvido e que dever fazer extrao de conhecimento, segundo especificaes do prprio usurio, atravs das opes e das propriedades descritas no programa. O programa descrito ter o seu funcionamento baseado na idia de programas j existentes de anlise e tratamento de dados, e desenvolvido utilizando o aplicativo de programao Delphi, e alm de fazer a triagem de dados, servir como a interface com a qual o usurio dever especificar esta a triagem deve ser feita. O objetivo geral deste trabalho criar interfaces grficas mais amigveis e intuitivas, para os usurios de um sistema KDD. Para alcan-lo elaboramos dois outros mais, a saber: desenvolver interfaces contendo opes de escolha e desenvolver um elo entre o usurio e a base de dados, visando filtrar os dados da mesma, de acordo com as especificaes designadas pelo usurio. As etapas do processo de KDD podem ser resumidas em seleo, pr- processamento, transformao, minerao de dados (Data Mining) e Interpretao/Avaliao. Este projeto se concentrar nas etapas de preparao, onde ser realizado o tratamento dos dados que sero submetidos ao processo de Minerao de dados. Para o estudo de caso, foi utilizado o banco de dados do resultado do Exame Nacional de Admisso na Ps-graduao em Computao POSCOMP de 2002, que foi submetido ferramenta implementada neste trabalho para montar um conjunto de dados 1 , segundo as especificaes das consultas e necessidades definidas pelo Especialista do Domnio. Para o processo de Data Mining (DM), foi utilizada uma ferramenta de Minerao de dados a parte, que forneceu alguns resultados (conhecimentos) para 1 O termo conjunto de dados utilizado durante todo o trabalho como sendo um sub-banco de dados que extrado da base de dados original por processos de seleo de quais dados so relevantes para a obteno de conhecimento. 3 anlise. Este trabalho est estruturado da seguinte maneira: o segundo captulo faz um apanhado geral de um sistema inteligente de extrao de conhecimento (Sistema KDD), onde so abordadas, de maneira sucintas, as fases do processo KDD, assim como algumas tcnicas de DM. O terceiro captulo detalha uma das etapas do processo KDD onde este trabalho se concentra: pr-processamento, onde sero apresentadas as principais tcnicas de pr-processamento dos dados. O quarto captulo explica a implementao desenvolvida durante este trabalho, mostrando e apresentando a ferramenta K-Extractor e quais tcnicas de preparao de dados foram utilizadas. Em seguida, no quinto captulo, apresentado o estudo de caso deste trabalho, onde foi utilizado o resultado do POSCOMP 2002. Neste captulo so mostrados os resultados obtidos e alguns dos conhecimentos extrados destes dados. Por fim, o sexto captulo dedica-se apresentao das consideraes finais, onde so feitas, ainda, sugestes para trabalhos futuros. 4 2- EXTRAO DE CONHECIMENTO DE BASE DE DADOS Tambm conhecido como KDD (Knowledge Discovery in Database), o processo de extrao de conhecimento de base de dados tem como objetivo obter significado e conseqente entendimento dos dados, bem como adquirir novos conhecimentos. Esse processo bastante complexo, consistindo da combinao de mtodos e ferramentas de estatstica, Inteligncia Artificial, visualizao e banco de dados para encontrar padres e regularidades nos dados (MANNILA, 1997). 2.1 - FASES DO PROCESSO KDD O processo KDD pode ser dividido em cinco fases: seleo, pr- processamento, transformao, Data Mining (DM) e interpretao, conforme a Figura 2.1. A primeira fase o processo de seleo dos dados, que consiste em reduzir o domnio dos dados que sero analisados a uma amostra que represente fielmente a base de dados, amostra esta conhecida como Conjunto de Dados. A etapa seguinte diz respeito preparao do Conjunto de Dados, que trata os valores em branco, rudos, inconsistncia de dados, redundncia, e outros problemas mais especficos, que dependem da aplicao e/ou algoritmo de minerao de dados. Esta etapa ser vista com mais detalhe no prximo captulo. Na fase de transformao, o conjunto de dados, j pr-processados, formatado de tal sorte que a ferramenta de DM possa analisa-lo, extraindo o conhecimento desejado. A fase de DM onde os padres so de fato reconhecidos. Nesta fase o comportamento dos dados descoberto e so estabelecidas as dependncias entre estes dados, utilizando tcnicas apresentadas. Esta fase mais detalhada na seo 2.2. Uma vez os padres descobertos, estes so apresentados ao usurio para interpreta-los e utilizar o conhecimento obtido na tomada de deciso. 5 Segundo Mannila, a seleo e pr-processamento consomem, aproximadamente oitenta por cento de todo tempo gasto no processo de KDD (MANNILA, 1997). Uma vez pr-processadas, o conjunto de dados submetido a uma ferramenta de minerao de dados, onde padres, comportamentos e regularidades nos dados so encontrados. As ferramentas geram ento, como sada, padres que podem ser interpretados pelo usurio especialista do domnio ou de forma automtica por um computador. Figura 2.1 Processo KDD (FAYYAD, PIATESKY-SHAPIRO, SMYTH e UTHURUSAMY, 1996). A seguir ser vista a fase de Minerao de dados (Data Mining) e no captulo 3, a etapa de Pr-processamento ser detalhada, uma vez que a nfase deste trabalho est nesta fase. 2.2 - MINERAO DE DADOS (DATA MINING) O termo Data Mining (DM) ou minerao de dados pode causar um certo desconforto, dado a ampla gama de sentidos em que o mesmo pode ser usado: uma empresa de varejo interessada em oferecer a melhor oferta para seus consumidores regulares, a receita federal pesquisando transaes fraudulentas em remessas de moeda estrangeira, anlise de crdito de um banco de varejo, decidindo quais clientes devem receber a prxima mala direta de um novo financiamento ou classificao de clientes de uma operadora de telefonia, sugerindo qual plano se 6 adequa melhor a cada um deles. Estes so apenas alguns exemplos, dentre muitos, do que pode ser considerada uma aplicao de minerao de dados. Com tantas atividades distintas, classificadas sob o mesmo teto, existe uma grande margem para confuso. Como classificar um tpico to abrangente? Segundo Michael Berry (BERRY e LINOFF, 1997), uma alternativa para a classificao dos sistemas de Data Mining separ-los em trs dimenses: Natureza da tarefa Compreenso do domnio Grau de estruturao dos dados Classificando os sistemas em cada uma das trs dimenses pode-se agrupar sistemas parecidos, e aplicar algoritmos e procedimentos similares. Explorando um pouco mais estas trs dimenses: Natureza da tarefa: as principais tcnicas de DM sero apresentadas na seo 2.2.1.. A minerao de dados tambm pode ser utilizada para descrio dos dados. Tcnicas de visualizao podem trazer ao analista percepes diferentes das apresentadas em tabelas, ou relatrios. Objetivo a ser buscado: existem dois tipos de objetivo, a produo de um modelo ou a produo de informao. Nas tarefas de predio, normalmente busca-se um modelo que possa ser aplicado em dados no vistos anteriormente e que um relatrio possa ser gerado. Em tarefas descritivas, busca-se informao que possa dar uma nova perspectiva ao se analisar os dados. Compreenso do domnio: nesta etapa, procura-se o completo entendimento do domnio da aplicao, considerando aspectos como: Estudo de viabilidade e custos da aplicao do processo. Verificao da quantidade e tipo do conhecimento disponvel antes do incio do processo KDD. Condies e metas do usurio final. A sinergia usurio final/especialista do domnio/analista deve ser bastante acentuada nessa etapa. (ROCHA e REZENDE, 1999). Grau de estruturao dos dados: dados estruturados so normalmente os arquivos de banco de dados, as tabelas, ou seja, estruturas fixas com contedo 7 uniforme. Dados desestruturados so arquivos do tipo texto ou imagem, e podem ser usados em projetos que tem como objetivo a identificao de padres ou formas. Voltando ao problema de caracterizao do DM, chegamos seguinte definio. o processo de explorao e anlise de grandes quantidades de dados, com o objetivo de descobrir padres ou regras que permitam uma melhor compreenso da informao contida nos mesmos. As ferramentas de DM podem prever futuras tendncias e comportamentos, permitindo s empresas um novo processo de tomada de deciso, baseado principalmente no conhecimento acumulado e, freqentemente desprezado, contido em seus prprios bancos de dados. A mudana de paradigma, causada por uma conjuno de fatores, tais quais a grande acumulao e coleta de dados, o relativo barateamento do processamento e dos computadores, e o surgimento de novas oportunidades, como o marketing um a um, trouxe um desenvolvimento impar s tcnicas conhecidas como Data Mining. Os projetos de DM normalmente se beneficiam da criao de um ciclo, o chamado ciclo virtuoso de Data Mining ilustrado na figura 2.2, em que os algoritmos e a informao obtida utilizam processamentos anteriores do mesmo modelo, incorporando as respostas obtidas em futuros processamentos. Figura 2.2 Ciclo virtuoso de Data Mining. O sucesso de projetos de minerao de dados s pode ser alcanado quando o ciclo corretamente implementado: identificao de oportunidades, elaborao de modelo para determinao das regras ou padres, elaborao das aes que possam se beneficiar destas regras, medio dos resultados destas aes, que por 8 sua vez, possibilitam a identificao de novas oportunidades e assim sucessivamente. E quando bem implementado, um projeto de Data Mining pode transformar o modo de atuao de uma empresa, passando de mero espectador a um ator no ambiente em que se encontra. A empresa passa a atuar proativamente, e no reativamente a situaes de mercado. 2.2.1- Tcnicas de Minerao de Dados Para Michael Berry, as tcnicas que definem a natureza da tarefa de um processo DM so (BERRY e LINOFF, 1997): Descrio de classes: Esta tcnica prov um resumo conciso e sucinto de uma coleo de dados e a distingue de outras. O resumo de uma coleo de dados chamado de caracterizao de classe; enquanto a comparao entre duas ou mais colees de dados chamada comparao ou discriminao de classe. A descrio de classe no s deveria cobrir suas propriedades de resumo tal como a contagem, somas, e clculos de mdias, mas tambm suas propriedades sobre a disperso dos dados, tais como a varincia, desvio padro, quartis, etc. Associao: Esta tcnica trabalha com a descoberta de relaes de associao ou correlaes entre um conjunto de itens. Eles so expressos freqentemente na forma de regras que mostram as condies atributo-valor que acontecem freqentemente juntas em um determinado conjunto de dados. Uma regra de associao da forma X Y interpretada como "tuplas (conjunto de valores de atributos) de base de dados que satisfazem X so provveis que satisfaam Y". Anlise de associao extensamente usada em "transaction data analysis for directed marketing", design de catlogo e outros processos de decises comerciais. Classificao: Esta tcnica analisa um conjunto de dados de treinamento (isto , um conjunto de objetos cuja classificao j conhecida) e constri um modelo para cada classe baseado nas caractersticas dos dados. Uma rvore de deciso ou um conjunto de regras de classificao gerado por tal processo de classificao, que pode ser usado para entender melhor cada classe no banco de 9 dados e para classificao de futuros dados. Por exemplo, algum pode classificar doenas e ajudar a prever tipos de doenas baseados nos sintomas dos pacientes. Previso: Esta tcnica prediz os possveis valores de alguns dados perdidos ou a distribuio de valores de certos atributos em um conjunto de objetos. Ela envolve a descoberta de um conjunto de atributos relevantes para o atributo de interesse (como por exemplo, por algumas anlise estatstica) e prediz a distribuio do valor baseada no valor do conjunto de dados semelhantes ao(s) objeto(s) selecionado(s). Por exemplo, o salrio potencial de um empregado pode ser predito baseado na distribuio do salrio de empregados semelhantes na companhia. Usualmente, anlise de regresso, modelo linear generalizado, anlise de correlao e rvores de deciso so ferramentas teis em predio de qualidade. Tambm so usados algoritmos genticos e redes neurais com bastante sucesso. Agrupamento: Esta tcnica consiste na anlise de "clusters" ou de agrupamento consiste em identificar possveis agrupamentos nos dados, onde um agrupamento uma coleo de objetos que so "semelhantes" um ao outro. Diferentes medidas de similaridade, baseadas em funes de distncia podem ser especificadas para diferentes contextos de aplicao. Um bom mtodo de "cluster" assegura que a similaridade intercluster baixa e a similaridade intracluster alta. Por exemplo, pode-se agrupar as casas de uma rea de acordo com sua categoria, rea construda e localizao geogrfica. Anlise de srie temporal: Esta tcnica analisa um grande conjunto de dados de sries temporais para encontrar certas regularidades e caractersticas interessantes, incluindo a pesquisa de seqncias ou subseqncias semelhantes e descobrindo assim padres seqenciais, periodicidades, tendncias e divergncias. Por exemplo, pode-se predizer a tendncia dos valores acionrios para uma companhia baseando-se em sua histria acionria, situao empresarial, desempenho dos competidores e mercado atual. Deteco de Desvios: Esta tcnica utiliza uma funo mdia, representando o comportamento normal de um sistema, para avaliar possveis desvios. 10 Evoluo ou Seqncia de Tempo: As tcnicas de evoluo ou seqncia de tempo buscam descobrir regras de associao ou correlao entre eventos ocorridos em momentos diferentes. Por exemplo, uma loja pode identificar que clientes que compram um sapato voltam depois de um ms para comprar uma camisa (Han et al, 1996; Agrawal, 1995). 2.2.2- Algoritmos de Data Mining A maioria dos algoritmos utilizados em DM so largamente aceitos e utilizados pela comunidade de Aprendizado de Mquina. O Aprendizado de mquina representa uma das partes centrais do processo de KDD (etapa de Data Mining), e pode ser definido como uma sub rea de inteligncia artificial que pesquisa mtodos computacionais relacionados aquisio de novos conhecimentos, novas habilidades e novas formas de organizar o conhecimento existente. Estes mtodos podem ser entendidos como sistema de aprendizado que tomam decises baseadas em experincias acumuladas contidas em casos resolvidos como sucesso (ROCHA, 1999). Conforme ilustrado na Figura 2.3, um sistema de aprendizado tpico trabalha sob algum paradigma tentando extrair conhecimento. &RQMXQWRGH ([HPSORV 6LVWHPDGH $SUHQGL]DGR 3DUDGLJPDGH $SUHQGL]DGR &RQKHFLPHQWR Figura 2.3 Arquitetura de um sistema de aprendizado (ROCHA, 1999). 11 Desta forma, estes sistemas aprendem por meio da seleo ou adaptao do modelo, no paradigma escolhido, de modo que esse modelo classifique corretamente os exemplos conhecidos bem como novos exemplos (ROCHA, 1999). Com relao aos paradigmas, os sistemas de aprendizado podem ser classificados em: Paradigma Simblico: aprendem construindo representaes simblicas de um conceito atravs da analise de exemplos e contra-exemplos desse conceito. Como exemplo, destacam-se as regras condicionais do tipo se-ento e rvores de Deciso. Paradigma Estatstico: os classificadores estatsticos freqentemente assumem que valores de atributos esto normalmente distribudos, e ento podem usar os dados fornecidos para determinar mdia, varincia e co-varincia da distribuio, entre outros. Neste paradigma, podem ser citadas as Redes Bayesianas. As redes Bayesianas podem ser entendidas como modelos que codificam os relacionamentos probabilsticos entre as variveis que representam um determinado domnio. Esses modelos possuem como componentes uma estrutura qualitativa, representando as dependncias entre os ns, e quantitativa (tabelas de probabilidades condicionais (TPCs) desses ns), avaliando, em termos probabilsticos, essas dependncias (RUSSEL e NORVIG, 1995). Paradigma Conexionista: as Redes Neurais so construes matemticas relativamente simples que utilizam o mecanismo de paralelismo, no qual so conectados em grande nmero de pesquisa de pequenas unidades de processamento (neurnios) ligados em rede. Paradigma Gentico: um classificador gentico consiste de uma populao de classificao que competem para realizar a predio. Elementos que possuem em desempenho fraco so descartados, enquanto os elementos mais fortes proliferam, produzindo variaes de si mesmos. 12 3- PR-PROCESSAMENTO DE DADOS Os bancos de dados atuais costumam ser muito grande e submet-los a uma ferramenta de Data Mining (DM) no seria vivel, pois essas ferramentas possuem limitaes e especificidades quanto entrada de dados. Quanto s limitaes do nmero de registros a serem analisados, os algoritmos de minerao de dados no conseguem analisar uma base muito grande, no podendo, desta forma, administrar todo o volume dado como entrada; e ainda que possvel, o tempo que levaria para obteno de resultados seria tamanho que iria contra um dos objetivos de um sistema KDD, que a rpida e precisa extrao de conhecimentos de repositrios de dados. E as especificidades so, por exemplo, o formato com que os dados esto organizados, pois uma ferramenta DM espera que os dados estejam formatados de tal sorte que a mesma consiga analis-los, porm nem sempre os dados se apresentam no formato esperado. Por isso h a necessidade de trat-los, alm de outros problemas, como valores ausentes, rudo de dados, inconsistncia de dados, entre outros. E em toda extenso de uma base de dados comum encontrarmos registros mal preenchidos, que distorcem os resultados obtidos ao submetermos tal base de dados a uma ferramenta de minerao de dados. Este mal preenchimento pode ser detectado sob vrios aspectos: Valores ausentes, quando h tuplas (registros) na base de dados que possuem em algum de seus atributos valores em branco; isto ocorre por vrias razes, como por exemplo, o atributo em questo no era necessrio ou no estava disponvel durante sua insero no banco. Outro problema o Rudo nos dados, caracterizado por valores incorretos que so inseridos no banco devido falha humana durante a entrada do valor, erro de transmisso de dados, entre outros. Outra forma de depurao do processo de DM conhecida como Dados inconsistentes, resultados do uso de diferentes convenes ou nomes para a representao de um dado. 13 A tcnica de Limpeza de Dados eficientemente aplicada durante a fase de pr-processamento com objetivo de tratar os valores ausentes, corrigir Rudo nos dados, resolver inconsistncia, alm de tratar problemas de tuplas duplicadas, ou seja, eliminar dados repetitivos. Apesar de algumas ferramentas de minerao de dados possurem rotinas que tentam fazer este tratamento, estas rotinas no costumam ser eficientes por no fazerem parte do escopo principal da ferramenta (HAN e KAMBER, 2001). Conforme ilustrado na Figura 3.1, alm da Limpeza de Dados, existem outras tcnicas que podem ser utilizadas na fase de pr-processamento. Estas so mais especficas e dependem da aplicao que se quer utilizar. Uma delas a Integrao e Transformao de Dados, utilizada quando os dados que sero submetidos ferramenta de DM no so provenientes de um nico banco, e neste caso, a representao de um mesmo dado pode ser diferente entre as diversas bases de dados. Figura 3.1 Simplificao das tcnicas que podem ser utilizadas na fase de pr- processamento (HAN e KAMBER, 2001). 14 3.1 - LIMPEZA DE DADOS A tcnica de limpeza de dados tem por objetivo tratar, utilizando vrios mtodos, o problema de valores ausentes, eliminao de rudos, resolver problemas de inconsistncia, alm de eliminar dados redundantes. 3.1.1 - Valores Ausentes: Durante a entrada de dados em uma base de dados, alguns valores podem no ser preenchidos. Este fato se d por vrios motivos: a pessoa que deu entrada no registro no possua um determinado dado e simplesmente o ignorou, o dado no era relevante no momento e por isso foi deixado em branco, entre outros. A ausncia de valores pode gerar, no processo de minerao de dados, resultados imprecisos, que no refletem a situao do problema real. Para o tratamento destes valores, vrios mtodos podem ser utilizados: Mtodo 1- Ignorar registro: mtodo que simplesmente retira o registro do conjunto de dados que se quer analisar, conforme a Figura 3.2. No recomendado a no ser que o registro possua no um nico atributo com valor em branco, mais sim vrios, e que inviabilize o uso de esforo computacional para preench-los. sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 M 500.00 171 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 Exc|usoc ccs \o|c|es /usenIes Figura 3.2 Excluso das tuplas com valores ausentes. Mtodo 2- Preenchimento manual dos valores: requer a interao humana pra preencher estes valores, o que exige que esta tarefa seja feita por algum bem qualificado, que domine e conhea bem a base de dados. 15 A Figura 3.3 ilustra a necessidade da interao humana no processo, porm, dependendo do nmero de valores em branco, pode ser necessrio muito tempo para preench-los. sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 o800.00 8800.00 |nIe|venoc numono Figura 3.3 Preenchimento manual dos valores em branco. Mtodo 3- Preencher os valores ausentes com constantes pr-definidas: conforme a Figura 3.4, todos os valores ausentes so completados por um valor constante como, por exemplo, nulo. Desta forma a ferramenta de DM erroneamente identificaria o valor como sendo qualquer outro valor vlido, onde sua ocorrncia pode se dar mais de uma vez. sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 ou|O ou|O CcnsIonIe g|cco| . nu|c Figura 3.4 Definio de uma constante K para preencher os valores ausentes. Mtodo 4- Atributos numricos que possuam valores ausentes podem ser substitudos pela mdia dos demais valores (no-ausentes). Por exemplo, de acordo com a Figura 3.5, o atributo salario_anual possui dez registros, sendo oito deles valores vlidos (preenchidos) e dois em branco. Por este mtodo, uma mdia seria calculada baseada nos oito valores preenchidos, e o valor obtido completaria os dois valores ausentes. 16 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 8ZZ5.00 8ZZ5.00 C|cu|c co Mc|o 08775.CC Figura 3.5 Clculo da mdia dos valores no-ausentes. Mtodo 5- Utilizando mdia do mesmo grupo: primeiramente, as tuplas so agrupadas com base em um outro atributo que no possua valores ausentes. Em cada grupo identificado calculada a mdia dos valores no-ausentes do atributo em questo, conforme a Figura 3.6. sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 8300.00 8900.00 C|cu|c cos Mc|os ccs g|upcs 0 0 0 Figura 3.6 Preenchimento dos valores em branco com a mdia do grupo ao qual a tupla pertence. Na figura acima trs grupos foram formados segundo os intervalos [1954-1960], [1961-1967] e [1968-1974] do atributo ano_nasc. Para cada grupo calculada a mdia dos valores no-ausentes. O valor em branco ento, preenchido com a mdia do grupo a que pertence. Mtodo 6- Assumir o valor mais provvel: utiliza tcnicas de regresso, ferramentas de inferncia baseadas no formalismo Bayesiano, ou rvore de deciso, como mostrado na Figura 3.7. Baseado nas demais tuplas tenta-se encontrar o valor ausente. Desta forma, ao considerar os valores de outros atributos, existe uma chance da relao entre os atributos que possuem valores ausentes e os demais ser preservada. 17 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 sexc_c||enIe so|o||c_onuo| onc_nosc M 8400.00 173 | 10000.00 1 | 174 M 500.00 171 | 17 M 7800.00 14 M 7000.00 174 M 7500.00 154 | 11000.00 155 M 000.00 10 Z000.00 10000.00 /|vc|e ce Dec|soc Figura 3.7 Uso de tcnicas de inferncia como rvore de Deciso para estimar o valor ausente. importante ressaltar que os mtodos onde o computador, utilizando algum critrio ou tcnica, preenche os valores em branco podem ser incorretos e tendenciosos, uma vez que se tenta adivinhar o valor ausente com base nos valores existentes. Porm, o mtodo seis mostra-se eficaz, pois o valor estipulado com base no maior nmero de dados possvel e a interveno humana no se faz necessria. 3.1.2 - Rudo nos Dados Rudo caracterizado por erro aleatrio ou variao na medida de uma varivel (HAN e KAMBER, 2001). Ou seja, em um atributo numrico, o rudo poderia ser caracterizado por um valor muito pequeno ou muito grande o suficiente para puxar a mdia deste atributo para menos ou para mais, respectivamente. Vrias tcnicas podem ser utilizadas para diminuir o rudo nos dados: Tcnica 1- Ajuste de grupo baseado no valor vizinho: tcnica de reduo de rudos que se baseia em ajustar os valores utilizando os valores vizinhos. Basicamente, este mtodo ordena os valores de um determinado atributo e os divide em grupos de mesmo tamanho. ento aplicada uma tcnica que reduz a diferena entre os valores de cada um destes grupos. 18 Esta tcnica possui dois mtodos de reduo de rudos que so ilustrados na Quadro 3.8 e so citados a seguir: a) Em cada grupo calculada a mdia e todos os valores so substitudos pela mdia do respectivo grupo, igualando assim, os valores de cada grupo. b) Em cada grupo so detectados os valores-limite (menor e maior valor). Cada valor comparado aos limites do grupo onde este est inserido e substitudo por aquele que menos se distanciar, ou seja, pelo valor-limite mais prximo. Quadro 3.8 Mtodos de ajuste de grupo baseado no valor vizinho (HAN e KAMBER, 2001). Na tcnica de Ajuste de grupos baseado no valor vizinho os rudos no so detectados, ou seja, os dados so tratados, seja necessrio ou no. Tcnica 2- Clustering: Esta tcnica, ao contrrio do anterior, detecta o rudo agrupando os dados similares em clusters. Os valores que no se encaixarem em nenhum destes clusters detectados so considerados rudos, conforme ilustrado na Figura 3.9. Estes rudos so suavizados Um determinado dado, como por exemplo preco tem seus valores ordenados: 4, 8, 15, 21, 21, 24, 25, 28, 34 So divididos em trs grupos (eqidistantes): Grupo 1: 4, 8, 15 Grupo 2: 21, 21, 24 Grupo 3: 25, 28, 34 Reduo de rudo utilizando a mdia do grupo: Grupo 1: 9, 9, 9 Grupo 2: 22, 22, 22 Grupo 3: 29, 29, 29 Reduo de rudo utilizando valores-limite: Grupo 1: 4, 4, 15 Grupo 2: 21, 21, 24 Grupo 3: 25, 25, 34 19 substituindo-os pela mdia do cluster mais prximo, ou seja, em cada grupo (cluster) coletada a mdia dos valores nele contido e cada um dos valores fora dos clusters comparado s mdias dos grupos. A mdia mais prxima do rudo o substitui, incluindo, desta forma, o antigo rudo no grupo mais prximo. Figura 3.9 Rudos podem ser detectados utilizando tcnicas de Clustering (HAN e KAMBER, 2001). Tcnica 3- A reduo pode ser realizada com auxlio humano, que informa o intervalo em que se espera que os valores para um determinado atributo se encontrem. Os valores que no estiverem dentro do intervalo informado so adicionados a uma lista de possveis rudos. Esta lista ento apresentada ao usurio para identificar os verdadeiros rudos. As tuplas que possuem os rudos podem simplesmente ser excludas do conjunto de dados a ser submetido ferramenta DM ou pode-se deixar que o usurio faa o ajuste manual destes valores. Neste caso a tarefa deve ser realizada por um usurio qualificado para esta tarefa, que exige um grande conhecimento do domnio da base de dados. Este processo mais rpido do que a verificao manual por toda a base de dados, porm, dependendo do nmero de possveis rudos encontrados so bem 20 mais lentos que um processo automtico como regresso, visto a seguir, ou Ajuste de grupos baseado no valor vizinho. Tcnica 4- Regresso: a regresso se divide em regresso linear, onde, dado dois atributos, o valor de um utilizado para ajustar o valor de outro ou regresso linear mltipla, que considerada uma extenso da primeira. Neste caso, mais de duas variveis so utilizadas para se fazer o reajuste. Uma vez que os dados esto sem rudos, ou pelo menos, com rudos suavizados, um processo de discretizao quase que automtico, pois os valores j esto agrupados ou ao menos sem uma grande diferena entre eles. 3.1.3 - Dados Inconsistentes A inconsistncia de dados ocorre quando um certo dado representado ora de uma forma, ora de outra e so detectados em atributos discretos 2 . Por exemplo, um atributo sexo, em alguns registros representado por m e f, outros masculino ou feminino, ou ainda 0 e 1. O reparo de dados inconsistentes pode ser feito manualmente utilizando parmetros externos informados pelo usurio que padronizam a representao dos dados. A inconsistncia de dados pode ocorrer por vrios motivos, como dados provenientes de mais de um banco de dados, que podem ser representados por valores diferentes em cada banco, como o problema do atributo sexo cito acima, ou ainda, mesmo atributo representado por rtulos (nomes) diferentes como, por exemplo, em uma base de dados o salrio anual representado pelo nome salAnual e em outra, por salario_anual. 2 Atributos podem ser classificados em discretos ou contnuos. Atributos discretos so aqueles em que os valores assumidos podem ser previstos e representados em um conjunto de possveis valores, como sexo, que pode assumir somente dois valores possveis. Atributos contnuos so aqueles em que os valores so imprevisveis como, por exemplo, salario_anual. 21 4- K-EXTRACTOR: A ferramenta implementada neste trabalho foi chamada de K-Extractor (Knowledge Extractor) e tem como objetivo fazer a seleo de um conjunto de dados a partir de um nico banco de dados em Interbase. Uma vez definido tal conjunto de dados, feito um pr-processamento destes dados, que nesta verso faz a Limpeza de Dados implementando algumas das tcnicas apresentadas neste trabalho. Especificamente, o tratamento dos valores ausentes feito oferecendo ao usurio dois mtodos: Ignorar Registro, onde o usurio pode excluir o registro que possui valores em branco do conjunto de dados ou Preenchimento Manual dos Valores, no qual o usurio completa manualmente o valor em branco. Para a deteco de Rudo nos Dados, foi implementada a tcnica na qual o usurio informa o intervalo no qual se espera que um determinado dado se encontre. Os registros que estiverem fora do intervalo so tidos como provveis rudos, e o usurio poder corrig-los, deix-los no conjunto de dados, no caso de se constatar que no um rudo ou exclu-los. O problema de Inconsistncia de dados resolvido apresentando os possveis valores que um atributo discreto pode assumir e caso o usurio queira alterar alguns destes valores, a ferramenta assim o permite e esta alterao propagada em todo o conjunto de dados. Esta ferramenta no tem a pretenso de fazer a minerao dos dados, e sim a preparao destes para que possam ser submetidos a uma ferramenta de DM. No caso, o programa implementado gera sada em arquivos textos separados por vrgula, espao ou ponto-e-vrgula, que representam os tipos de formatos de arquivos mais aceitos pelas ferramentas de DM. A seguir a ferramenta apresentada, explicando e detalhando como as tcnicas anteriormente descritas esto dispostas. importante ressaltar que a ferramenta se divide em sete passos principais para que a preparao dos dados seja efetivada, conforme explicada durante esse captulo. A tela inicial da ferramenta est ilustrada na Figura 4.1. 22 O primeiro passo a seleo da base de dados de onde ser selecionado um conjunto de dados representativos e significativos para uma determinada consulta. O banco de dados, como j mencionado, deve estar no formato Interbase (*.gdb) e pode ser informado ferramenta digitando o caminho onde este pode ser encontrado no campo Banco de Dados ou procurando-o, que pode ser feito pelo menu Arquivo, opo Abrir Banco de Dados ou clicando no boto Procurar, mostrados na Figura 4.1. Figura 4.1 Tela de seleo do banco de dados. O prximo passo selecionar as tabelas deste banco que possuem dados, dos quais algum conhecimento pode ser extrado. Esta etapa pode ser alcanada pelo menu Ferramenta, opo Seleo de Tabela ou pelo boto ( ), os quais estaro disponveis assim que o banco de dados for selecionado. No segundo passo, o sistema exibe todas as tabelas disponveis na base de dados escolhida. E o usurio deve selecion-las com um duplo clique no nome da tabela localizada na lista de Tabelas Disponveis ou selecionando-a e clicando no 23 boto Adicionar. Desta forma a tabela ser colocada na lista de Tabelas Selecionadas, conforme a Figura 4.2. Caso o usurio desista da tabela selecionada, ou seja, queira retirar uma tabela da lista de Tabelas Selecionadas, deve-se dar um duplo clique no nome da referida tabela ou selecion-la e clicar no boto Remover. Figura 4.2 Seleo das tabelas que sero analisadas. Quando, pelo menos uma tabela for selecionada, o passo seguinte ser habilitado atravs do boto ( ) ou pelo menu Ferramenta, opo Seleo de Atributos. A etapa seguinte tem como objetivo fazer a seleo de quais atributos, pertencentes s tabelas selecionadas so pertinentes extrao de conhecimento, ou seja, quais dados so necessrios para que um determinado conhecimento seja obtido. Conforme ilustrado na figura 4.3, o usurio deve selecionar uma tabela no campo Tabela e seus atributos sero visualizados na lista Atributos Disponveis com seus respectivos nomes e tipos de dados. 24 Para informar ferramenta quais atributos devem ser includos no conjunto de dados, deve-se dar um duplo clique no nome do atributo, na lista Atributos Disponveis e este ser acrescentado lista Atributos Selecionados no formato NOME_TABELA.NOME_ATRIBUTO. Este procedimento pode ser realizado atravs do boto Adicionar. O mesmo deve ser realizado com cada uma das tabelas selecionadas. Para mudar de tabela, selecione outra tabela no campo Tabela e a lista Atributos Disponveis ser atualizada, exibindo os atributos da referida tabela. Para desfazer a seleo do atributo, selecione o atributo que deve ser excludo do conjunto de dados na lista Atributos Selecionados e pressione o boto Remover, ou simplesmente com um duplo clique no nome do atributo. Figura 4.3 Seleo de atributos que so relevantes ao processo de extrao de conhecimento. Como mencionado no incio deste captulo, uma ferramenta de DM ser utilizada para fazer a minerao e extrao efetiva de conhecimento. Para algumas ferramentas de DM, a ordem com que os atributos so organizados importante e 25 decisiva na obteno de resultados que atendam um determinado requisito (conhecimento que se quer obter). Desta forma, o quarto passo se dedica a esta ordenao, como mostra a Figura 4.4. Figura 4.4 Ordenao dos atributos selecionados. Depois de ordenados os atributos, a fase de Seleo est completa e a fase de pr-processamento do conjunto de dados selecionados inicia no passo cinco com a Limpeza de Dados, que pode ser selecionado pelo menu Ferramentas, opo Limpeza de Dados ou pelo boto ( ). Esta etapa dividida em trs partes: Valores Ausentes Rudo nos Dados Inconsistncia de Dados E sero detalhadas a seguir: 26 Valores Ausentes: Esta etapa ilustrada na Figura 4.5 e tem como objetivo detectar e informar ao usurio quais tuplas no possuem em alguns de seus atributos valores preenchidos ou quais valores foram deixados em branco. As tuplas so exibidas com todos os seus atributos na lista Atributos Nulos, ou seja, completas para que o usurio tenha condies, se assim for escolhido, de preencher os valores nulos. O preenchimento feito manualmente pelo usurio, que deve informar no lugar do valor em branco, o valor que deseja preencher e pressionar o boto Alterar para confirmar a alterao ou preenchimento do valor, como pode ser visto na Figura 4.6. Porm caso se escolha por eliminar o registro com valor ausente, o usurio deve selecionar o registro que se quer remover e pressionar o boto Excluir. Figura 4.5 Limpeza de dados tratamento dos valores ausentes com opo de preench-los ou exclu-los do conjunto de dados. 27 Figura 4.6 Alterao do valor ausente feita manualmente pelo usurio. As alteraes de edies dos valores devem ser confirmadas pressionando o boto Alterar. Rudo nos Dados: Os rudos so detectados com auxlio do usurio, que deve selecionar, no campo Atributos, um atributo numrico o qual se quer detectar o rudo. Selecionado o atributo, o usurio deve informar nos campos Valor Mnimo e Valor Mximo o menor e maior valor que se espera encontrar no atributo em questo e pressionar o boto Analisar. Os registros que possurem, no atributo selecionado valores fora do intervalo especificado, sero mostrados na lista Possveis Rudos, conforme a Figura 4.7. Estes registros podem ser alterados manualmente, deixados da mesma forma, subentendendo que um dado registro no se caracteriza como rudo ou excludos do conjunto de dados. 28 Para confirmar a alterao dos valores, deve-se selecionar a clula que possui o valor fora do intervalo especificado, digitar o valor correto e pressionar o boto Alterar. Caso o usurio no seja capaz de determinar qual o verdadeiro valor, o usurio pode optar pela excluso que feita selecionando um registro da lista Possveis Rudos e pressionando o boto Excluir. Figura 4.7 Deteco e tratamento dos Rudo nos dados com auxlio do prprio usurio. Inconsistncia de Dados: A inconsistncia se d pela incompatibilidade dos valores que um atributo discreto pode assumir ou pela simples falta de representao de uma informao contida em um dado. A lista Valores Discretos possui os atributos que podem ser discretizados e, portanto, so conhecidos os possveis valores que estes atributos pode assumir. Na lista Discretizao so exibidos tais valores assumidos pelo atributo selecionado na lista Valores Discretos, com a porcentagem de ocorrncia destes valores. 29 Na figura 4.8, o tratamento feito porque os valores assumidos pelo atributo SEXO da tabela ALUNOS so feminino, M e F. Como feminino e F representam a mesma informao, a inconsistncia caracterizada, tendo portanto, a necessidade de trat-la. Figura 4.8 Tratamento de Inconsistncia de Dados. O tratamento pode ser feito, por exemplo, alterando o valor feminino pelo valor F, desta forma, adotada uma padronizao para representao do sexo de um aluno com apenas uma letra. Para fazer esta alterao, deve-se selecionar o valor que se deseja alterar e pressionar o boto Alterar. Uma janela exibida informando o valor para o qual ele ser alterado e pedindo o novo valor para qual ser alterado, como mostrado na Figura 4.9. A alterao feita e reflete sobre todos os valores que antes eram feminino. Desta forma os registros, antes feminino, so agregados ao conjunto de registros F, como pode ser visto na Figura 4.10. 30 Figura 4.9 Alterao do valor feminino pelo valor F. Figura 4.10 Aps a alterao o atributo SEXO assume somente valores F ou M. 31 Com esta etapa terminada, a fase de Limpeza de Dados est completa e pode-se visualizar a distribuio dos valores discretos no passo 6, chamado de Distribuio Grfica, como ilustrado na Figura 4.11. Neste passo, o usurio deve selecionar o atributo de qual se quer ver a distribuio dos valores, que ser exibida em um grfico do tipo pizza. Figura 4.11 Distribuio do valor discreto SEXO, que informa a porcentagem de alunos do sexo masculino e feminino. O ltimo passo do programa gerar um arquivo com o conjunto de dados selecionado e pr-processado para submet-lo a uma ferramenta de DM. Os registros do conjunto de dados em questo so exibidos para que o usurio veja os valores encontrados. A ferramenta K-Extractor gera arquivos de sada no formato de texto tabulado por vrgula, espao ou ponto-e-vrgula. Como pode ser visto na Figura 4.12, o usurio deve informar o nome do arquivo de sada no campo Nome do Arquivo j com a extenso que reconhecida pela ferramenta de DM que ser utilizada. E dependendo da ferramenta que ser 32 utilizada no processo de minerao de dados, pode-se ainda gerar um arquivo de parmetro, bastando para isso, selecionar a opo Gerar arquivo de parmetro. Esta opo foi disponibilizada, pois algumas ferramentas de DM utilizam dois arquivos: um arquivo de dados com os dados propriamente ditos e um arquivo de parmetro com o nome dos atributos e a informao se estes so contnuos, representados pela palavra continuous, ou discretos, representados por todos os valores que podem ser assumidos por um dado atributo. Outra opo para gerar o arquivo de sada e que depende tambm da ferramenta de minerao de dados a ser utilizada como os dados sero tabulados. A definio da tabulao a ser utilizada feita no campo Separao, onde o usurio deve informar uma entre as trs mais trabalhadas pelas ferramentas de DM: vrgula, espao e ponto-e-vrgula. A gerao do arquivo se d ao clicar o boto Salvar. Figura 4.12 ltimo passo: Gerao do arquivo de sada. 33 5- ESTUDO DE CASO 5.1 DEFINIO DO DOMNIO DA APLICAO: Para o estudo de caso deste trabalho foi utilizado o banco de dados do POSCOMP 2002 (Exame de Seleo para Ps-graduao em Cincia da Computao), cedido pela Prof. Solange Rezende, coordenadora nacional do POSCOMP 2002. As especificaes das consultas e informaes a serem extradas da base de dados foram fornecidas pelo Prof. Dr. Carlos Renato Lisboa Francs, responsvel pela aplicao do exame na Universidade Federal do Par. O banco de dados possui vrias tabelas uma para cada local de realizao do exame e outra com o resultado nacional. A tabela Resultado_Total, que representa o resultado nacional, possui todos os dados contidos nas demais tabelas. A tabela em questo possui 2585 registros correspondentes aos alunos que se inscreveram para prestar o exame, sendo composto de 80 atributos postos da seguinte forma: Cdigo, Nome, CPF e RG do respectivo candidato; Local Aplicao, contendo o nome do local onde o candidato deveria realizar o exame; Presena, apresentando os valores Presente ou Ausente, dependendo do comparecimento ou no do candidato ao exame; Geral, contendo a pontuao geral do candidato na prova, 70 no mximo; Matemtica, Fundamentos e Tecnologia, contendo a quantidade de acertos do candidato nas respectivas partes da prova, podendo atingir no mximo os valores 20, 20 e 30, respectivamente; Q.1, Q.2, Q.3, ... , Q.70, referentes s questes existentes no exame, e que podem possuir os valores 0 (zero) no caso de erro ou no comparecimento do candidato ao exame, e 1 (um) no caso de acerto. 34 5.2 SELEO E PR-PROCESSAMENTO DOS DADOS Como foi dito na seo 5.1, a tabela Resultado_Total representa o resultado nacional do exame. Desta forma, selecionamos somente a referida tabela para montar o conjunto de dados, como mostrado na Figura 5.1. Figura 5.1 Seleo da tabela Resultado_Total Da tabela Resultado_Total, foram selecionados os atributos Local Aplicao, Presena, Geral, Matemtica, Fundamentos e Tecnologia, pois so os dados necessrios para a extrao das informaes desejadas, mostrados na Figura 5.2. 35 Figura 5.2 Seleo dos atributos pertinentes anlise. A ordem dos atributos no foi alterada por ser a ordem desejada para montar o conjunto de dados. Na fase de Limpeza de Dados, observamos que no conjunto de dados obtido na fase de seleo, no havia problema de Valores Ausentes, assim como Rudo nos Dados e Inconsistncia de Dados, como pode ser visto na Figura 5.3. 36 Figura 5.3 Nenhum rudo foi detectado no conjunto de dados. Para este estudo de caso foi utilizada a ferramenta de gerao de redes Bayesianas Bayesware Discoverer 3 . Esta ferramenta gera, a partir de um conjunto de dados, uma rede Bayesiana, na qual possvel observar as dependncias entre as variveis do problema e a quantificao, em termos probabilsticos, destas dependncias. Como a ferramenta Bayesware Discoverer trabalha com um nico arquivo separado por espao ( ), foi gerado o arquivo poscomp.txt, como mostrado na Figura 5.4. 3 Ferramenta Disponvel na URL http://bayesware.com 37 Figura 5.4 Gerao do arquivo de sada para a ferramenta de Data Mining. 5.3 DATA MINING O arquivo gerado foi ento submetido ferramenta de extrao de conhecimento Bayesware Discoverer, que apesar de trabalhar com um formato de arquivo prprio do programa, tambm pode ler arquivos do tipo texto separados por espao. Ao submetermos o arquivo poscomp.txt ao programa Bayesware Discoverer, obtivemos como resultado a rede Bayesiana mostrada na Figura 5.5. 38 Figura 5.5 Rede Bayesiana obtida no programa Bayesware Discoverer. Na rede Bayesiana gerada, cada atributo do conjunto de dados representado por um n, onde as setas representam as dependncias diretas entre estes ns. A partir da rede gerada no Bayesware Discoverer, que utiliza algoritmos de propagao, foi possvel fazermos uma srie de inferncias, como ilustra a Figura 5.6, onde ao definir a evidncia de acertos entre 50 e 60, no n Resultado_Total.Geral, os demais ns so atualizados, para retratar a nova situao. Neste caso possvel observar quantos candidatos (em porcentagem) por local de aplicao obtiveram na pontuao geral resultados entre 50 e 60. 39 Figura 5.6 Estado da rede Bayesiana ao definirmos uma evidncia. Outras inferncias podem ser realizadas, atravs da utilizao de outras classes (faixa de valor discretizado), outros ns, inclusive com combinaes de evidncias de diferentes ns. Desta forma, novos conhecimentos podem ser obtidos. 5.4 INTERPRETAO DO CONHECIMENTO: A seguir so mostrados os conhecimentos desejados e os resultados obtidos: Porcentagem de comparecimento nacional: Porcentagem dos candidatos inscritos e que compareceram ao exame em nvel nacional. Comparecimento Porcentagem PRESENTE: 82,1% AUSENTE: 17,9% 40 Porcentagem de comparecimento no estado do Par: Porcentagem dos candidatos inscritos e que compareceram ao exame no estado do Par. Comparecimento Porcentagem PRESENTE: 82,5% AUSENTE: 23,5% Nas anlises que se seguem importante ressaltar que as instituies mencionadas representam locais de aplicao do exame no somente para os seus estudantes, mas tambm para os de outras instituies ou regies adjacentes. Por exemplo, temos a Universidade Federal do Par - UFPA, onde os estudantes que l prestaram o exame no so somente da prpria instituio, mas tambm da Universidade da Amaznia - UNAMA e Centro de Ensino Superior do Par - CESUPA. Porcentagem do maior nmero Geral de acertos: (De 50 a 60 questes acertadas) Instituies onde o exame foi aplicado e suas porcentagens de candidatos que obtiveram um nmero Geral de acertos entre 50 e 60 questes. Colocao Instituio de Ensino Porcentagem 1 LUGAR IME - Instituto Militar de Engenharia - Rio de Janeiro - RJ : 26,5% UFRGS - Instituto de Informtica - Porto Alegre - RS : 2 LUGAR UNICAMP - Instituto de Computao - Campinas - SP : 13,3% 4 LUGAR UFPE - Centro de Informtica - Recife - PE : 10,0% 41 Porcentagem do maior nmero de acertos em Matemtica: (De 15 a 20 questes acertadas) Instituies onde o exame foi aplicado e suas porcentagens de candidatos que obtiveram um nmero de acertos na parte de Matemtica entre 15 e 20 questes. Colocao Instituio de Ensino Porcentagem 1 LUGAR IME - Instituto Militar de Engenharia - Rio de Janeiro - RJ 26,7% 2 LUGAR UNICAMP - Instituto de Computao - Campinas - SP 15,3% USP - IME - Depto. de Cincia da Comput. - So Paulo - SP USP - Inst. de Cincias Mat. e de Comput. - So Carlos - SP 3 LUGAR UFPE - Centro de Informtica - Recife - PE 11,5% Porcentagem do maior nmero de acertos em Fundamentos da Computao: (De 15 a 20 questes acertadas) Instituies onde o exame foi aplicado e suas porcentagens de candidatos que obtiveram um nmero de acertos na parte de Fundamentos da Computao entre 15 e 20 questes. Colocao Instituio de Ensino Porcentagem 1 LUGAR UNICAMP - Instituto de Computao - Campinas - SP 11,7% 2 LUGAR UFMG - Depto. de Cincia da Comput. - Belo Horizonte - MG 10,3% USP - IME - Depto. de Cincia da Comput. - So Paulo - SP 3 LUGAR UFPE - Centro de Informtica - Recife - PE 9,9% 42 Porcentagem do maior nmero de acertos em Tecnologia da Computao: (De 20 a 26 questes acertadas) Instituies onde o exame foi aplicado e suas porcentagens de candidatos que obtiveram um nmero de acertos na parte de Tecnologia da Computao entre 20 e 26 questes. Colocao Instituio de Ensino Porcentagem 1 LUGAR UFRGS - Instituto de Informtica - Porto Alegre - RS 14,1% 2 LUGAR UFPE - Centro de Informtica - Recife - PE 11,1% USP - IME - Depto. de Cincia da Comput. - So Paulo - SP 3 LUGAR IME - Instituto Militar de Engenharia - Rio de Janeiro - RJ 9,1% Porcentagem do maior nmero de acertos conjuntos em Matemtica e Fundamentos da Computao: Instituies onde o exame foi aplicado e suas porcentagens de candidatos que obtiveram um maior nmero de acertos ao mesmo tempo nas partes de Matemtica (de 15 a 20 questes) e Fundamentos da Computao (de 15 a 20 questes). Colocao Instituio de Ensino Porcentagem 1 LUGAR IME - Instituto Militar de Engenharia - Rio de Janeiro - RJ 37,5% 2 LUGAR UNICAMP - Instituto de Computao - Campinas - SP 21,1% 3 LUGAR UFPE - Centro de Informtica - Recife - PE 12,2% Porcentagem do maior nmero de acertos conjuntos em Matemtica, Fundamentos da Computao e Tecnologia da Computao: Instituies onde o exame foi aplicado e suas porcentagens de candidatos que obtiveram um maior nmero de acertos ao mesmo tempo nas partes de Matemtica (de 15 a 20 questes), Fundamentos da Computao (de 15 a 20 questes) e Tecnologia da Computao (de 20 a 26 questes). 43 Colocao Instituio de Ensino Porcentagem 1 LUGAR IME - Instituto Militar de Engenharia - Rio de Janeiro - RJ 29,7% 2 LUGAR UNIFOR - Universidade de Fortaleza - Fortaleza - CE 24,6% 3 LUGAR UNICAMP - Instituto de Computao - Campinas - SP 20,3% Alm das anlises mostradas vrias outras podem ser obtidas, uma vez que os padres a serem obtidos dependem da evidncia que se definida. Tal fato nos permite extrair inmeras informaes da base de dados, simplesmente alterando os ns e fazendo as suas devidas inferncias. 44 6- CONSIDERAES FINAIS A utilizao de sistemas de Descoberta de Conhecimento em Base de Dados (KDD) tem sido decisiva no somente para as empresas atuais, que precisam tomar decises importantes, tendo como respaldo, os dados gerados durante todos os seus anos de atuao no mercado, mas corporaes e instituies de maneira geral, que precisam conhecer seus negcios e estar sempre atualizados e cientes das informaes que so armazenados em suas bases de dados. 6.1- RESULTADOS OBTIDOS Com base nos estudos feitos, conclui-se que a utilizao da Inteligncia Artificial para extrair conhecimento a partir de uma base de dados de extrema importncia. Contudo, o processo de descobrimento de conhecimento no se restringe apenas pura aplicao de algoritmos de minerao de dados, mas engloba outras fases (seleo, pr-processamento, transformao de dados) que embora comumente no sejam levadas em considerao ou pouca ateno lhes reservada, estas fases so necessrias, consistindo, quando utilizadas, no fator que ir propiciar uma minerao de dados mais exata, confivel e eficiente, como foi apresentado neste trabalho. Estando ciente da importncia de se realizar uma pr-anlise e seleo dos dados a serem utilizados, foi desenvolvida uma ferramenta de modo a propiciar ao usurio um controle automatizado, mais fcil e prtico para a fase de preparao dos dados; fase esta que demanda grande parte do tempo total de um processo de extrao de conhecimento em base de dados. A tcnica de pr-processamento implementada na ferramenta desenvolvida foi a Limpeza de Dados, que faz o tratamento dos seguintes problemas, comumente encontrados em banco de dados: Valores Ausentes Rudo nos Dados Inconsistncia de Dados 45 6.2- TRABALHOS FUTUROS Baseado no que foi investigado nesta monografia, os seguintes trabalhos futuros podem ser sugeridos: Estudo e implementao de tcnicas heursticas que agilizem a etapa de seleo dos dados Implementao de clustering como soluo alternativa para o tratamento de rudo nos dados Extenso da ferramenta para o acesso a outros Sistemas Gerenciadores de Banco de dados Para estudo de caso, sugerida a continuao deste, buscando, atravs da insero de algumas informaes no disponveis na base original, obter outros conhecimentos inerentes ao problema, tais como: Desempenho por estado utilizando as seguintes medidas: rea de conhecimento Disciplina Desempenho por regio utilizando as medidas: rea de conhecimento Disciplina Objetivando, desta forma, descobrir quais Unidades Federais ou regies do Brasil esto preparando profissionais mais qualificados, no somente em uma determinada rea de conhecimento, mas tambm fazer inferncias sobre uma certa disciplina. Medidas locais (por Instituio de Ensino) estabelecendo as seguintes mtricas: Disciplina / Regime de Trabalho / Titulao O que se espera encontrar ou mostrar a relao que h entre o desempenho do aluno em uma determinada disciplina e a qualificao do docente. 46 Perfil de egresso Com esta anlise o que se espera traar o perfil dos graduandos que esto deixando as Instituies de Ensino (IES), mostrando quais reas de conhecimento so mais aptos. 47 REFERNCIA BIBLIOGRFICA ANICK, P. G., Exploiting clustering and phrases for context-based information retrieval. ACM SIGIR Conference on Research and Development in Information Retrieval. Philadelphia, 1997. APT, C. et al., Automated learning of decision rules for text categorization. ACM Transactions on Information Systems, v.12, n.3, Julho de 1994. ARAJO JR, R., Estudo de necessidade de informao dos gerentes do setor editorial e grfico do Distrito Federal 178p. Dissertao (Mestrado em cincia da informao) Departamento de Cincia da Informao e Documentao, Universidade, Braslia, 1998. BERENDT, B., Understanding Web Usage at Different Levels of Abstraction: Coarsening and Visualizing Sequences. Workshop de Data Mining na Web (WEBKDD), 2001. BERRY M.; LINOFF, G., Data Mining Techniques for Marketing, John Wiley & Sons, 1997. CHOO, C. W., Information Management for the Intelligent Organization: the art of scanning the environment.2.ed.[]s.1.:ASIS (ASIS monograph series), 1998. DAVENPORT, T.; PRUSAK, L., Conhecimento empresarial: como as organizaes gerenciam o seu capital intelectual. Traduo de Lenke Peres. Rio de janeiro: Campus, 1998. FAYYAD, U.; PIATESKY-SHAPIRO, G.; SMYTH, P.; UTHURUSAMY, R. Advances in Knowledge Discovery and Data Mining: AAAI Press, 1996. 48 FIDALGO, R.; ROCHA, C. A. J. Tomada de Deciso utilizando Tecnologias de Banco de Dados e Inteligncia Artificial, 1999. HAN, J.; KAMBER, M., Data Mining Concepts and Techniques, Morgan Kaufmann, 2001 LOH, S.; GARIN, R. S., Web Intelligence Inteligncia Artificial para Descoberta de Conhecimento na Web, Maro 2001 MANNILA, H., Data Mining : Machine Learning, Statistic and Databases. Department of Computer Science, University of Helsinki, 1997. URL:http://www.cs.helsinki.fi/~mannila/ ROCHA, C. A. J.; REZENDE, S. O. Processo de Extrao de Conhecimento de Base de Dados. Universidade de So Paulo So Carlos, 1998. ROCHA, C. A. J.; REZENDE, S. O. Redes Bayesianas para Extrao de Conhecimento de Bases de Dados. Universidade de So Paulo So Carlos, 1999. ROCHA, C. A. J., Redes Bayesianas para Extrao de Conhecimento de Base de Dados, Considerando a Incorporao de Conhecimento de Fundo e o Tratamento de Dados Incompletos. Dissertao de Mestrado. Instituto de Cincias Matemticas de So Carlos, So Paulo, 1999. RUSSEL, S. e NORVING, P. Artificial Intelligence A Modern Approach. Prentice Hall, 1995.