1. INTRODUO............................................................................................... 4 1. INTRODUO............................................................................................... 4 2. FUNDAMENTOS TERICOS........................................................................ 7 2.1 Data Mining............................................................................................... 7 2.1.1 Processo de Descoberta de Conhecimento....................................... 7 2.1.2 Data Mining........................................................................................ 8 2.1.3 Tarefas de Data Mining...................................................................... 9 2.1.4 Metodologia Data Mining.................................................................. 10 2.2 Introduo ao R ...................................................................................... 12 2.2.1 Comear a usar o R......................................................................... 13 2.2.2 Packages ......................................................................................... 15 2.2.3 Documentao de apoio .................................................................. 16 3. CASO DE ESTUDO..................................................................................... 18 4. ESTUDO...................................................................................................... 21 4.1. rvores de Deciso................................................................................ 21 4.2 Regresso Linear ................................................................................... 26 4.3 rvores de regresso.............................................................................. 27 4.4 Redes Neuronais.................................................................................... 29 4.5 LDA......................................................................................................... 31 5. CONCLUSO.............................................................................................. 33 BIBLIOGRAFIA ............................................................................................... 36 ANEXOS.......................................................................................................... 38
3 1. INTRODUO
Este trabalho surge na disciplina de Opo III do 5 ano da Licenciatura de Informtica de Gesto da Universidade do Minho. Por sua vez, com esta disciplina pretende-se, para alm do desenvolvimento de competncias especficas, a realizao de um projecto de investigao. Para a consecuo deste objectivo optmos pelo tema Data Mining em R.
Existem vrias ferramentas e para cada uma esto disponveis diversas tcnicas para o mesmo tipo de problema de Data Mining. Estas, por seu turno, devem ser escolhidas em funo dos resultados obtidos para vrias parametrizaes.
O R uma ferramenta destinada ao desenvolvimento de sistemas de apoio deciso de anlise de dados, bem como execuo de tarefas mais complexas que envolvam programao. Ao mesmo tempo, uma linguagem de programao e um ambiente para computao estatstica e grficos.
Para a anlise das diversas tcnicas foi escolhida uma base de dados com o objectivo de criar um sistema de forma a prever o nvel de qualidade da gua de uma albufeira. Utilizou-se a ferramenta R com o objectivo de permitir obter uma ideia genrica sobre o tipo de funcionamento da ferramenta em questo e qual a sua potencialidade.
Na realizao do plano de trabalhos, o grupo comeou por efectuar pesquisa bibliogrfica relativa ao tema em estudo. Inicialmente, o Hugo Vieira ficou responsvel por estudar os artigos relativos parte de Data Mining, enquanto o Cludio Pinto e o Lus Bulhes se responsabilizaram por, em primeiro lugar, instalar a ferramenta R e, em segundo lugar, estudar essa mesma ferramenta atravs de alguns manuais e artigos obtidos atravs da pesquisa realizada. Aps esta fase, reuniram-se os conhecimentos e iniciou-se o trabalho conjunto das duas partes.
4 Para alm da introduo o relatrio composto por mais quatro captulos. No segundo captulo constitudo por fundamentos tericos tanto de Data Mining como de ferramenta em questo. Assim, sobre Data Mining, abordmos os temas relacionados com o processo de descoberta de conhecimento, Data Mining, tarefas de Data Mining e metodologias de Data Mining. Quanto teoria relacionada com o R falmos sobre como obter e instalar a ferramenta, bem como aspectos bsicos da sua utilizao. No captulo trs analisamos o caso de estudo referente a uma base de dados de uma albufeira. No que diz respeito ao quarto captulo abordamos o estudo do problema de classificao atravs de comandos em R. A finalizar o relatrio temos a concluso com os aspectos positivos e negativos do trabalho.
5 O plano previsto para o trabalho foi o seguinte:
6 2. FUNDAMENTOS TERICOS
2.1 Data Mining
2.1.1 Processo de Descoberta de Conhecimento
Processo de descoberta de conhecimento o processo que, globalmente, transforma dados de baixo nvel em conhecimento de alto nvel. Descoberta de conhecimento em bases de dados um processo, no trivial, de identificao de padres vlidos, originais, potencialmente teis e em ltimo caso, de padres compreensveis em dados. Sendo assim existem diversas formas de descobrir conhecimento, mtodos, ferramentas, processos, etc. Aqui seguem-se alguns exemplos:
Capacidade para aceder a variadas fontes de dados: Normalmente os dados a serem analisados, pertencem a diferentes reas de uma empresa, corporao, etc. Esses dados tm de ser recolhidos, verificados e integrados antes de ser realizada uma anlise mais detalhada
Acesso a dados Offline/Online: Acesso a dados online significa que diferentes queries podem correr directamente sobre a mesma base de dados correndo concorrentemente com outras transaces. Acesso a dados offline significa que a anlise feita aos dados desempenhada num determinado instante numa fonte de dados, muitas vezes importando ou exportando processos da fonte de dados original para um formato de dados especfico, exigido pelas ferramentas de descoberta de conhecimento.
O modelo de dados subjacente: Para cada caso, podem existir modelos de dados especficos. Existem muitas ferramentas, hoje em dia, que apenas aceitam o seu input, na forma de apenas
7 uma tabela. Isto significa que para cada caso existe um modelo de dados que mais se adequa ao problema.
Nmero mximo de tabelas/linhas/atributos: So limites hipotticos nas capacidades de descoberta de conhecimento, da ferramenta utilizada.
Tamanho mximo da base de dados que a ferramenta confortavelmente manipula: Este factor deve ser encarado como muito importante. Existem variados factores para alm da capacidade de linhas, colunas, tabelas que a ferramenta pode suportar. Existem factores como a memria, o tempo de processamento, capacidades de visualizao, etc.
Tipos de atributos que a ferramenta suporta: Algumas ferramentas de descoberta de conhecimento tm algumas restries quanto ao tipo de atributos que suporta.
Linguagem Query: A linguagem query actua como um interface entre o utilizador, o conhecimento e a base de dados. Permite ao utilizador processar dados e conhecimento e controlar o processo de descoberta de conhecimento.
2.1.2 Data Mining
o processo que assenta na extraco de padres ou modelos sobre dados observados, isto , aps o estudo/observao de determinados dados, possvel a extraco de padres ou modelos, sobre esses mesmos dados.
8 2.1.3 Tarefas de Data Mining
Processamento de Dados: Dependendo dos objectivos e dos requisitos do processo de descoberta de conhecimento em bases de dados (KDD), analistas podem seleccionar, filtrar, agregar, retirar amostras, limpar ou transformar dados.
Previso: Dados um conjunto de dados e um modelo de previso, prev o valor para um atributo especfico do respectivo conjunto de dados.
Regresso: Dado um conjunto de dados, regresso a anlise da dependncia do valor de alguns atributos sobre os valores de outros atributos no mesmo conjunto, e a produo automtica de um modelo que consegue prever os valores dos atributos para outros registos.
Classificao: Dado um conjunto de classes predefinidas, determina para qual destas classes, um dado especfico pertence.
Clustering: Dado um conjunto de dados, parte esse conjunto num conjunto de classes, para que dados com caractersticas semelhantes sejam agrupados.
Anlise Link (associaes): Dado um conjunto de dados, identifica as relaes entre atributos e os dados para que a presena de um padro implique a presena de outro padro.
Visualizao do modelo: Tcnicas de visualizao ajudam a melhor compreender o problema. Tcnicas como a visualizao de grficos, histogramas, filmes 3D, etc.
9 Anlise exploratria de dados (EDA): Anlise exploratria de dados a explorao interactiva de um conjunto de dados sem grandes dependncias em suposies preconcebidas ou modelos, como a tentativa de identificar padres interessantes.
2.1.4 Metodologia Data Mining
Mtodos estatsticos: Aproximaes estatsticas, usualmente, assentam num modelo probabilstico explcito. Estatsticas so candidatas gerao de hipteses ou modelos.
Raciocnio com base em casos: uma tecnologia que tenta resolver um dado problema atravs do uso directo de solues e experincias passadas.
Redes Neuronais: So formadas de largos nmeros de neurnios simulados, conectados uns aos outros, de uma maneira similar aos neurnios cerebrais. A fora das interligaes dos neurnios podem mudar (ou ser mudadas pelo algoritmo de aprendizagem) em resposta a um dado estmulo ou a um output obtido, que fora a rede a aprender.
rvores de Deciso: uma rvore em que cada nodo no terminal representa um teste ou deciso em relao a um determinado dado.
Regras de induo: Regras que determinam uma correlao estatstica entre a ocorrncia de determinados atributos num conjunto de dados.
10 Algoritmos genticos / Programao Evolutiva: So estratgias de optimizaes algortmicas que so inspiradas pelos princpios observados na evoluo natural. Dado um conjunto de potenciais solues para determinado problema, estas competem entre si. As melhores solues so seleccionadas e combinadas umas com as outras.
11 2.2 Introduo ao R
O R uma ferramenta para o desenvolvimento de sistemas de apoio a deciso e anlise de dados tal como a execuo de tarefas mais complexas que envolvam programao. Uma das suas principais caractersticas o seu carcter gratuito, estando disponvel em diversas plataformas (Windows, Linux, MacOS).
Tem origem na linguagem S, desenvolvida nos laboratrios da AT&T Bell por Rick Becker, J ohn Chambers e Allan Walkins. Esta uma ferramenta de cdigo aberto (Open Source), ou seja, susceptvel de ser alterado pelo utilizador quer para modificao das funcionalidades existentes quer para o desenvolvimento de novas funcionalidades.
uma ferramenta bastante poderosa com uma programao por objectos e um conjunto bastante vasto de packages que acrescentam bastantes potencialidades.
Para Data Mining so especialmente teis algumas bibliotecas e funes, como iremos ver mais frente. A biblioteca rpart (recursive partition and regression trees) pode ser utilizada tanto para rvores de regresso como de classificao. A funo lm pode ser usada para obter regresses lineares. J a biblioteca nnet (neural networks) utilizada no mbito das redes neuronais.
Para a instalao do R basta ligar o computador a Internet e fazer o download a partir do site desta aplicao, http://www.R-project.org. Este site devera ser seguido o link com o nome CRAN no menu disponvel a esquerda. Ai dever seguir o link Windows (95 and later) disponvel na seco Precompiled Binary Distributions. No cran seguinte, deve seguir a pasta base e fazer o download do ficheiro rw2001.exe (o nome do ficheiro poder variar em verses posteriores do R).
12
Uma vez efectuado o download do ficheiro dever proceder-se a instalao do R, bastando para isso executar o ficheiro.
2.2.1 Comear a usar o R
Depois da instalao efectuada, para usar o R, basta clicar no cone que, normalmente est disponvel no desktop do Windows ou ento ir directoria onde foi instalado o programa e na pasta \bin executar o ficheiro RGui.
A execuo do R faz aparecer a seguinte janela:
13
Esta janela apresenta o prompt do R (> ), com o cursor sua frente. aqui que vamos introduzir os comandos que pretendemos que o R execute.
Por exemplo, para saber qual a verso do R que estamos a utilizar basta utilizar o comando R.version e premir Enter.
Para terminar a execuo do R basta executar o seguinte comando:
Ao executar este comando vai aparecer uma caixa de dilogo como apresentada na figura seguinte. Se respondermos Sim a esta pergunta o R vai guardar a informao contida num ficheiro, permitindo que, na prxima vez que executarmos o R poderemos continuar o trabalho anterior. Se optarmos por seleccionar No o programa ir fechar sem guardar o trabalho efectuado nessa sesso.
14 Se escolhermos guardar o estado actual, o R vai criar um ficheiro .Rhistory. Este ficheiro gravado no directrio actual onde o programa est a funcionar. Para saber o directrio actual basta fazer no prompt,
possvel alterar esse directrio indo ao menu File e escolhendo a opo Change dir
2.2.2 Packages
Quando instalado, o R j vem com alguns pacotes de base que fornecem as principais funcionalidades para anlise de dados, ou seja, j possui os comandos bsicos para a execuo do programa. No entanto, e uma vez tratar-se de uma aplicao de Open Source, outras funcionalidades foram e continuam a ser desenvolvidas e disponibilizadas com o propsito de serem acrescentadas programa.
possvel instalar novas funcionalidades (packages) que so disponibilizadas no CRAN. Uma forma de proceder instalao destes novos pacotes pode ser atravs de ficheiros zip disponibilizados no CRAN para os vrios packages, utilizando o menu Packages seguido de Install Packages(s) from local zip files.
15
Outra maneira de instalar packages aceder directamente atravs da Internet usando, tambm no menu Packages a opo Install Packages(s) from CRAN. Ir, ento, aparecer uma caixa com os packages existentes no CRAN como demonstra a figura seguinte.
Neste caso est a ser seleccionado o package RODBC que um pacote que, por defeito no instalado quando a instalada a ferramenta.
2.2.3 Documentao de apoio
de realar a existncia de muita documentao de apoio de suporte ferramenta. O prprio CRAN disponibiliza bastantes documentos de apoio ao uso da aplicao. Outra forma possvel de obter informao sobre o modo de
16 funcionamento do programa atravs da funo de ajuda integrada na ferramenta. O R vem com uma funo de ajuda muito til para compreender e saber utilizar os comandos disponveis. Essa opo de ajuda tambm fornece, na maioria dos casos, alguns exemplos do modo como utilizar determinado comando. Por exemplo, se pretendido obter ajuda sobre a funo sd usamos:
>help(sd)
ou, em alternativa,
>?sd
Executando-se um destes comandos, ir abrir-se uma janela com a ajuda sobre a funo, nomeadamente os argumentos que aceita, a explicao de cada argumento e exemplos.
Tambm disponvel est um manual da aplicao em formato HTML que obtido atravs do comando:
>help.start()
17 3. CASO DE ESTUDO
Para o estudo desta ferramenta foi utilizada uma base de dados j existente. Esta base de dados encontra-se disponvel no url http://piano.dsi.uminho.pt/disciplinas/LIGIA/20032004/ia20022003.htm. Este repositrio de dados BDALBUFEIRA4 contm informao sobre o nvel da qualidade da gua de uma albufeira. de salientar que esta base de dados se encontrava no formato Excel e foi tratada onde optmos por descartar algumas variveis por estas terem valores muito dspares, no se mantendo ao longo do tempo. Posteriormente convertida em formato Access.
Uma vez que o objectivo, neste caso de estudo, gerar/induzir um modelo baseado em regras de produo que permita prever, da forma mais eficiente, qual o nvel de qualidade da gua, estamos perante um problema de classificao aprendizagem de uma funo que faa o mapeamento de um elemento dos dados em uma ou vrias classes.
Podemos concluir que, dependendo dos valores existentes em cada uma das variveis que afectam a qualidade da gua, esta pode atingir cinco nveis diferentes (1, 2, 3, 4 ou 5).
No estudo de Data Mining nas rvores de deciso, rvores de regresso, regresso linear, anlise linear discriminante e redes neuronais foi utilizada sempre a mesma base de dados.
A BDALBUFEIRA4 constituda por uma tabela qualidade, composta por um total de 33 campos (1 de sada qualidadeagua e os restantes de entrada). Tudo isto, faz um total de 3564 instncias. Todos estes campos so numricos e no existem valores em falta. Estes campos tm o seguinte significado:
18
1 qualidadeagua Qualidade da gua da albufeira com captao superfcie (CS). Pode ser classificada em 1, 2, 3, 4 e 5. 2 Est trofico Estado trfico com CS 3 Nvel alb Nvel da albufeira em metros 4 Vol arma Volume armazenado na albufeira em dam 3 5 Transparencia Transparncia da gua em metros 6 Temp Amostra CS Temperatura da amostra com CS em C 7 ph Ph com captao superfcie 8 Condut 20 C CS Condutividade a 20C com CS 9 SST CS SST em mg dm -3 com CS 10 Cloretos CS Cloretos em mg dm -3 com CS 11 Oxigenio dissCAMP CS Oxignio dissolvido (CAMP) com CS 12 Oxigenio diss AB CS Oxignio dissolvido (LAB) com CS 13 Oxidabilidade CS Oxidabilidade em mg dm -3 com CS 14 CBO5 CS CBO5 em mg dm -3 com CS 15 Azoto amoniacal CS Azoto amoniacal em mg dm -3 com CS 16 Azoto Azoto kjeldahl em mg dm -3 com CS 17 Nitratos CS Nitratos em mg dm -3 com CS 18 Fosfato CS Fosfato total em mg dm -3 com CS 19 Cobre CS Cobre total em mg dm -3 com CS 20 Coliformes CS Coliformes totais com CS 21 Temp ar 3m Temperatura mdia do ar a 3m em C 22 Temp max 3m Temperatura mxima mdia do ar a 3m em C 23 Temp max elevada 3m Temperatura mxima mais elevada do ar a 3m em C 24 Temp max baixa 3m Temperatura mxima mais baixa do ar a 3m em C 25 Temp min 3m Temperatura mnima mdia do ar a 3m em C 26 Temp min elevada 3m Temperatura mnima mais elevada do ar a 3m em C 27 Temp min baixa 3m Temperatura mnima mais baixa do ar a 3m em C 28 Precip media Precipitao mdia / mm m -2 29 Vel do vento 3m Velocidade mdia do vento a 3m em m.s -1 30 Direc vento Direco mdia do vento 31 Humidade 3m Humidade relativa mdia a 3m 32 Radiacao solar Radiao solar mdia em W m -2 33 Balano radiacao Balano mdio da radiao em W m -2
19 O aspecto da base de dados em Access representado na figura seguinte.
20 4. ESTUDO
4.1. rvores de Deciso
O R possui uma gama bastante variada de mtodos que podem ser usados para obter modelos para problemas de classificao. Um desses mtodos conhecido como rvores de deciso.
Uma rvore de deciso formada por um conjunto de ns de deciso, perguntas, que permitem a classificao de cada caso. Uma rvore de deciso consiste numa hierarquia de testes a algumas das variveis envolvidas no problema de deciso. A rvore pode ser lida a partir do teste encontrado na parte superior da mesma, normalmente chamado n raiz da rvore.
Em primeiro lugar vamos carregar a base de dados atravs da instruo:
Posteriormente elabormos uns comandos, de modo a ficarmos com duas tabelas. Uma para uma amostra aleatria para os casos de treino e outra para os casos de teste. Assim, definimos uma percentagem de 2/3 para os casos de treino. A amostra poderia no ter sido feita de forma aleatria.
21 Deste modo, obtemos dois dataframes diferentes que dizem respeito a amostras complementares da base de dados original.
Aps termos esse conjunto de dataframes, estamos em condies de obter uma rvore de deciso. As seguintes instrues fazem isso mesmo,
Resultados:
A primeira destas instrues carrega o package rpart que contm as funes necessrias para a obteno de rvores de deciso no R. A segunda instruo obtm um destes modelos usando a funo rpart colocando o resultado no objecto rvore. A funo rpart tem dois argumentos principais um indica a forma do modelo a obter, e o outro os dados a usar para o obter. A forma do modelo a obter fornecida funo usando uma sintaxe genrica de descrio modelos que consiste, sucintamente, em indicar o nome da varivel de deciso de seguida do smbolo _ e uma lista das variveis que podem ser usadas no
22 modelo para obter a deciso. Esta lista pode ser substituda pelo smbolo . (como no exemplo acima), querendo significar que se podem usar todas as outras variveis existentes nos dados fornecidos a funo. Os dados a usar na obteno do modelo so fornecidos no segundo argumento da funo e devem ser um dataframe com as colunas com nomes que estejam de acordo com os nomes de variveis referidos na forma do modelo.
A seguir a obter a rvore podemos pedir ao R para mostrar o contedo do objecto a que atribumos o resultado. O R apresenta a rvore em forma de texto. Mas se ns quisermos este pode ser apresentado em forma de grfico como ns podemos ver na figura seguinte:
23 Determinao da Percentagem de Erro do modelo
Uma aproximao a esse erro de classificao pode ser obtida utilizando os exemplos de treino. Depois de criado o modelo, determinamos o que o modelo proponha para o campo classifica e depois cruzamos o que est nos dados com o que foi previsto, fazendo-se a matriz de confuso.
Neste caso concreto a funo predict produz uma dataframe com tantas linhas quantos casos de teste.
No primeiro caso de teste a funo produz a probabilidade de cada deciso. Assim, por exemplo, no primeiro caso de teste a rvore prev a qualidade da gua com 2.0 com 100% de confiana.
24
A matriz de confuso quantifica quantos exemplos da base de dados utilizada seriam classificados bem pelo modelo construdo (representado na diagonal principal) sendo que os outros seriam mal classificados.
25 4.2 Regresso Linear
Nesta seco vamos ver como podemos obter modelos de regresso linear mltipla, usando o R. Este tipo de modelos so frequentemente usados para problemas de regresso. Sem entrarmos em detalhes tcnicos referentes s condies de aplicabilidade deste tipo de modelos.
Para obter um modelo de regresso linear em R podemos usar a funo lm.
Atente no formato semelhante dos argumentos desta funo, quando comparados com os da funo rpart.
26 4.3 rvores de regresso
As rvores de regresso so muito idnticas s rvores de deciso. A diferena principal reside no facto de as folhas das primeiras conterem previses numricas e no decises.
A obteno de rvores de regresso usando o R feita atravs da funo rpart, tal como nas rvores de deciso. Assim, esta funo vai obter uma rvore de regresso ou de deciso consoante o tipo da varivel objectivo. Se esta for um factor, a funo obtm uma rvore de deciso, se for uma varivel numrica obtida uma rvore de regresso. De resto toda a sintaxe igual, embora a funo possua parmetros especficos para cada tipo de rvore.
Como optmos por ser uma varivel numrica (qualidadeagua) no nosso caso as rvores vo ser iguais. Podemos ento concluir que se trata de uma rvore de regresso.
Comparando as previses, tanto na regresso linear como nas rvores de regresso, possvel observar que, para este problema concreto, as previses
27 da rvore de regresso so mais precisas do que as do modelo linear, uma vez que obtm um erro absoluto mdio mais baixo. de salientar que depois de vrios testes os resultados foram sempre parecidos, ou seja, atravs dos resultados obtidos as rvores de regresso foram sempre mais precisas
28 4.4 Redes Neuronais
A ferramenta R possui uma quantidade variada de mtodos, que podem ser usados para obter modelos para problemas de classificao. Para tal, apresenta um package nnet para o uso de redes neuronais, que contm as funes necessrias para a obteno de redes neuronais no R. Como funes mais importantes, este pacote tem a funo nnet e a funo predict.
A funo nnet poder treinar a rede de um tipo Unidireccional em que poder ser constituda por uma s camada ou por vrias camadas (multicamada) em que esta ultima s permite apenas uma camada intermdia.
Os principais parmetros desta funo so:
x: uma matriz ou dataframe com as variveis de entrada na rede
y: uma matriz ou dataframe com as variveis de sada da rede
size: nmero de nodos na camada intermdia. Se zero a rede no contem camada intermdia
wts: Um vector com os valores iniciais dos pesos das conexes. Se ausente os pesos sero escolhidos aleatoriamente.
linout: Se verdadeiro a funo de activao para as sadas a linear. Por defeito utiliza a funo logstica
entropy: Se verdadeiro o mtodo de minimizao dos erros o da mxima verosimilhana. Por defeito utiliza o mtodo dos mnimos quadrados.
29 softmax: Se verdadeiro utiliza a funo log-linear com funo de activao e o mtodo da mxima verosimilhana no algoritmo de minimizao dos erros. Linout, entropy e softmax so mutuamente exclusivos.
rang: valor que vai determinar o intervalo de valores para inicializao aleatria dos pesos [-rang,rang]
decay: constante de decaimento dos pesos. Serve para evitar o overfitting da rede pois a cada iterao reduz os valores dos pesos da rede.
maxit: nmero mximo de iteraes da rede. 100 o valor por defeito
> rede<-nnet(qualidadeagua ~ .,dados.treino,size=1,rang=1, decay=0.00001, maxit=1000) #weights: 35 initial value 381.109270 iter 10 value 208.007647 final value 208.006032 converged
De forma a obter uma matriz com os valores previstos pela rede temos a funo predict.
>rede.previsao<-predict(rede,dados.teste)
O resultado desta operao pode ser observado na figura seguinte.
30 4.5 LDA
A funo LDA (Linear discriminant analysis) uma aproximao estatstica que serve para classificar as amostras de classes desconhecidas, baseadas em amostras de treino com classes conhecidas.
Esta funo esta disponibilizada no package MASS. Deste modo preciso executar o comando library(MASS) e s ento ficam disponveis as funes relativas a este pacote tais como a funo lda.
>analise.linear Call: lda(qualidadeagua ~., data =dados.treino)
Concludo este trabalho de explorao, cumpre-nos reflectir sobre o valor e potencialidade desta ferramenta R. Evidentemente que aquilo que, para j, nos apraz dizer que as funcionalidades que explormos foram muito reduzidas, se tivermos em linha de conta as capacidades que um programa desta natureza comporta. Alm disso, o caudal de conhecimento que possumos sobre essa mesma ferramenta ainda bastante tnue. No entanto, o nosso objectivo ao delinear e escrever algo sobre esta temtica foi antes, e acima de tudo, um esforo de familiarizao com este programa, de modo a percepcionarmos as potencialidades ou valncias do mesmo.
A primeira caracterstica positiva a notar diz respeito ao facto de estarmos perante uma aplicao que contempla todo o tipo de anlises estatsticas usadas. Isto quer dizer que possvel realizar qualquer anlise estatstica usando esta ferramenta. Para tal, muito contribui o facto de se tratar de uma aplicao de cdigo aberto e usada por uma comunidade cada vez mais alargada de utilizadores por todo o mundo, que vo contribuindo para o desenvolvimento de novas e sucessivas funcionalidades.
Outra caracterstica positiva, a possibilidade de se escrever o cdigo e guard-lo num ficheiro de texto, para posterior execuo. Isto abre espao, criao de novas funes, que podem ser auxiliares para tratamento de dados e cdigo, com uma sequncia de funes a executar, e guardar todo esse cdigo num ficheiro. Se inicialmente podemos ser levados a despender algum tempo e esforo na criao desse cdigo, os ganhos futuros, em termos de tempo, e portanto, de rentabilidade, sero substanciais, se essas tarefas tiverem de ser executadas repetidamente, ou houver possibilidade de reutilizao das mesmas.
Se atendermos s funcionalidades grficas do programa, embora no exploradas na sua verdadeira e completa dimenso, neste pequeno trabalho,
33 elas so sobejamente aliciantes, de acordo com o que pudemos constatar, atravs da consulta da documentao fruto da pesquisa conseguida.
A existncia de bastante documentao de apoio ao uso da ferramenta outro dos pontos fortes a ter em considerao. Por outro lado, a aplicao inclui de base muitos documentos de suporte ao uso da ferramenta e a funo help permite obter informao em relao a todas as funcionalidades existentes. Por outro lado, se pesquisarmos na Internet encontraremos a publicao de muitos trabalhos que fazem uma abordagem sistemtica a variadssimos problemas que se ligam utilizao do R.
Para l destes pontos fortes aqui enunciados, importa salientar o facto de se tratar de uma ferramenta que nos facultada gratuitamente nos campos da Internet, o que significa, por si s, a possibilidade de um elenco muito grande de informao que nos pode orientar fecundamente, ao longo da utilizao da aplicao.
O nico factor que, partida, poder ser considerado como negativo o facto do interface com o utilizador ser efectuado atravs de linhas de cdigo e no por meio de ambiente grfico. Isso obriga a uma familiarizao com o nome das funes e os seus parmetros, bem como a conhecimentos avanados da estrutura dos dados que as funes recebem como argumentos, para assim se poder evitar, ou pelo menos diminuir, o aparecimento de erros. precisamente esta razo que faz com que o processo de adaptao ferramenta seja mais lento do que uma outra aplicao em que o interface grfico seja por objectos. No entanto, aquilo que nos afigura afirmar a este propsito, que medida que ganhamos experincia com o uso da ferramenta, a sua utilizao torna-se mais intuitiva e simples, e essa barreira acaba por se atenuar ou mesmo desaparecer.
Uma palavra para o package eZmining. Tivemos imensas dificuldades em instalar pois a sua verso era incompatvel com a verso actual do R. Contactmos com o autor do package e mesmo assim no conseguimos instalar. S mais tarde, depois de termos uma verso compilada com a nova
34 verso do R que conseguimos pr o package a funcionar. J no foi mau de todo.
Em resumo, a nossa apreciao global da ferramenta francamente positiva. O R constitui sem dvida um excelente meio de anlise de dados, podendo ser utilizado profissionalmente para este fim sem perda de qualidade, em relao a outras ferramentas de carcter comercial existentes.
35 BIBLIOGRAFIA
Brown, M.L., Kros, J .F. (2003) Data Mining and the Impact of Missing Data.
Cortez, P., Anlise Inteligente de Dados, Unidade 2: Estatstica para a aprendizagem.
Cortez, P., Anlise Inteligente de Dados, Unidade 4:Estudo de Caso com Redes Neuronais.
Dantas, R.P. (2004) Explorao e Anlise de Ferramentas de Data Mining: Tanagra, R, Analyze.
Dantas, R.P. (2004) ezMining: Um Package de Data Mining para o R.
Faraway, J .J . (2002) Practical Regression and Anova using R.
Goeble, M., Gruenwald, L. (1999) A Survey of Data Mining and Knowledge Discovery Software Tools, SIGKDD Explorations, ACM SIGKDD, Vol. 1, Issue 1, 06/99.
Gonalves, J .A. (2003/2005) Explorao da Ferramenta R.
Gonalves, J .A. (2003/2005) Previso com Redes Neuronais usando a Ferramenta R. Lee, S.J ., Siau, K. (2001) A Review of Data Mining Techniques.
Maindonald J .H. (2001) Using R for Data Analysis and Graphics. An Introduction.
Mitra, S., Sankar, K., Mitra, P. (2002) Data Mining in Soft Computing Framework: A Survey, IEEE Transactions on Neural Networks, Vol. 13, N 1, 01/02
R Project, Writing R extensions (ficheiro R-exts.pdf, disponvel na directoria doc\manual do R aps instalao, ou em http://cran.r- project.org/doc/manuals/R-exts.pdf).
Torgo, L. (2003) Data Mining with R: learning by case studies, Porto.
Torgo, L. (2003) Programao, Anlise de Dados e Sistemas de Apoio Deciso usando o R.
36 Venables W.N., Ripley B.D. (1999) Modern Applied Statistics With S-Plus, Third Edition, Springer.
Venables, W. and Smith, D.M. and the R Development Core Team (2004). An Introduction to R Version. Notes on R: A Programming Environment for Data Analysis and Graphics.
Widener, T. (1996) The KDD Process for Extracting Useful Knowledge from Volumes of Data, Communications of The ACM, Vol. 39, N 11, 11/96.
37
ANEXOS
38 Cdigo R
library(RODBC)
lig<-odbcConnectAccess("BDALBUFEIRA4.mdb")
bd<-sqlQuery(lig,"select * from qualidade")
#definir % de casos de treino ptr=2/3
#amostra de casos de treino aleatria treino<-sample(1:NROW(bd),as.integer(ptr*NROW(bd))) #amostra de casos de treino sequencial temporalmente #treino<-seq(1,ptr*NROW(bd), by=1) dados.treino<-bd[treino,] dados.teste<-bd[-treino,]
fix(bd)
#-----------------------------arvores de decisao--------------------------
library(rpart) arvore<-rpart(qualidadeagua ~.,bd)
#funcao para visualizar a arvore mostra.arvore<-function(arvore){ plot(arvore) text(arvore,digits=3,font=6) } mostra.arvore(arvore1)
fix(dados.treino) #teinar a arvore arvore1<-rpart(qualidadeagua ~.,dados.treino)
fix(dados.teste) #testar a arvore previsoes.modelo<-predict(arvore1,dados.teste)
#matriz de confusao matriz.confusao<-table(dados.teste$qualidadeagua,previsoes.modelo) #percentagem de erro perc.erro<- 100*(matriz.confusao[1,2]+matriz.confusao[1,3]+matriz.confusao[1,4]+ matriz.confusao[2,1]+matriz.confusao[2,3]+matriz.confusao[2,4]+
#matriz de confusao matriz.confusao4<-table(dados.teste$qualidadeagua,rede.previsao) #percentagem de erro erro4<- 100*sum(matriz.confusao4[col(matriz.confusao4)!=row(matriz.confusao4)])/sum (matriz.confusao4)