Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Marcelo DAMASCENO(1)
(1) Instituto Federal de Educao, Cincia e Tecnologia do Rio Grande do Norte/Campus Macau, Rua das Margaridas, 300, COHAB, Macau-RN, 59500-000, e-mail:mailto:marcelo.damasceno@gmail.com
RESUMO
A utilizao de tcnicas de Minerao de Dados vem sendo aplicadas diariamente nas empresas. Estas tcnicas so utilizadas na identificao de informaes relevantes em grandes volumes de dados. Existem diversos softwares no mercado que utilizam tcnicas de minerao para obter seus resultados. Alguns destes softwares so pagos, inviabilizando sua aplicao em pequenas empresas ou mesmo por instituies de ensino. O Weka uma suite que contm diversas tcnicas de minerao de dados, totalmente gratuito por ser um software livre. Este minicurso tm como objetivo apresentar diversas tcnicas de minerao de dados utilizando o Weka. As tcnicas sero apresentadas e discutidas na resoluo de problemas reais, utilizando somente ferramentas presentes na suite Weka. Palavras-chave: minerao de dados, weka, descoberta de conhecimento em banco de dados
1. INTRODUO
A todo momento dados vm sendo armazenados, formando grandes volumes de dados. Os dados armazenados contm informaes ocultas de grande relevncia para o negcio. Devido ao grande volume de dados, a extrao destas informaes no uma tarefa trivial. Existe uma grande necessidade de teorias e ferramentas para o auxlio dos analistas para a extrao e anlise de informaes teis. O conjunto destas teorias e ferramentas pertencente a um processo conhecido como Descoberta de Conhecimento em Banco de Dados (DCBD). A DCBD est preocupada com o desenvolvimento de mtodos e tcnicas para que os dados faam sentido. A DCBD est concentrada no mapeamento dos dados brutos (informaes brutas) em modelos mais compactos (relatrios, grficos), genricos (identificao de modelos que descrevem os dados) ou teis (modelos preditivos que estimem valores futuros) que os dados originais. No ncleo deste processo, DCBD, se encontra a aplicao de tcnicas para a identificao e extrao de informaes relevantes ocultas nos dados. Estas tcnicas so conhecidas como minerao de dados por identificarem padres e conhecimentos relevantes para o negcio, ou seja, minerar os dados a procura do ouro (informaes relevantes). WEKA uma sute de minerao de dados muito popular no meio acadmico, desenvolvido utilizando a linguagem Java. Criada nas dependncias da Universidade de Waikato, Nova Zelndia. Atualmente mantida por uma comunidade de entusiastas por ser um software livre disponvel sobre a licensa GPL. Este minicurso abordar de forma terica e prtica, questes relacionadas a tcnicas de minerao de dados, resolvendo problemas clssicos utilizando a suite de minerao Weka. Iremos resolver problemas de agrupamento, predio, regresso numrica e classificao.
Podemos definir dados como um conjunto de fatos sobre determinado assunto e padres como uma linguagem ou um modelo que descreve um sub-conjunto deste fatos. Ou seja, identificar um padro ajustar um modelo aos dados ou identificar uma estrutura no conjunto de dados, descrevendo-os de forma genrica. A DCBD um processo iterativo e interativo composto de diversas etapas que envolvem a preparao dos dados, procura por padres, avaliao e refinamento. O processo interativo pois todas as etapas contm tarefas e decises a serem feitas pelos usurios. Iterativo, pois todas as etapas esto conectadas. Caso a etapa de avaliao no seja satisfatria, de acordo com o processo, podemos voltar para a etapa de preparao dos dados. A Figura 1 representa o processo.
Primeiramente necessrio entender os desejos do usurio, isto , catalogar as necessidades do ponto de vista do negcio e do usurio. Com os desejos catalogados, podemos definir o objetivo do DCBD. Somente poderemos definir o objetivo do processo de minerao quando os requisitos forem levantados, pois a escolha da tcnica de minerao ir depender do objetivo a ser alcanado. Aps o levantamento dos requisitos ter sido realizado, deve-se criar o conjunto de dados no qual o processo ir trabalhar. Este conjunto de dados deve conter todas as informaes necessrias para que os algoritmos de minerao possam alcanar seu objetivo. Essa etapa conhecida como Seleo. A segunda etapa composta por tarefas de pr-processamento. Tcnicas de pr-processamento so responsveis pela remoo de rudos (erros e exemplos fora do padro), pela definio de estratgias para lidar com valores faltosos e pela formatao dos dados de acordo com os requisitos da ferramenta de minerao. A terceira etapa, conhecida como Transformao, tem por objetivo localizar caractersticas teis para representar os dados. Responsvel tambm pela seleo dos melhores exemplos e atributos presentes no conjunto de dados. Logo aps os dados terem sido limpos e pr-processados, iremos aplicar as tcnicas de minerao de dados para alcanar os objetivos definidos na primeira etapa. Os objetivos identificados podem ser descritos como tarefas de classificao, regresso, agrupamento, predio, etc. necessrio escolher qual algoritmo de minerao deve ser utilizado aps a determinao de qual tarefa de minerao ser executada. As tcnicas so escolhidas de acordo com as caractersticas dos dados e da tcnica e com os requisitos apresentados pelos
usurios. Algumas tcnicas de minerao contm parmetros que so utilizados em seu funcionamento, tambm faz parte desta etapa encontrar os melhores parmetros, para que o mtodo possa ser o mais preciso e gil possvel. Somente aps todas essas tarefas terem sido realizadas, hora da execuo propriamente dita do algoritmo de minerao. O algoritmo ir procurar por padres utilizando as suas estratgias, utilizando os dados informados. A quinta etapa interpretar e avaliar os padres identificados. Este passo inclui visualizar os padres extrados ou os modelos que resumem a estrutura e as informaes presentes nos dados. Alm da visualizao, so utilizadas medidas tanto tcnicas quanto subjetivas para avaliar os padres extrados. As medidas tcnicas so informaes referentes a preciso, erro mdio, erro quadrtico e taxas de falsos positivos e falsos negativos. Medidas subjetivas so referentes a informaes como utilidade, entendimento ou complexidade dos padres extrados. Ao final de todo o processo teremos conhecimento em forma de padres. Sendo assim, poderemos utilizar os padres extrados para os quais eles foram desejados. Os padres podem ser utilizados sozinhos ou embutidos em outros sistemas.
3. MINERAO DE DADOS
A noo de encontrar padres teis em grandes volumes de dados pode ser conhecido por diversos nomes, tais como minerao de dados, extrao de conhecimento, descoberta de informaes, arqueologia de dados e processamento de padres de dados. O termo minerao de dados o mais usado por profissionais da computao, estatsticos e analistas de dados. A fase de minerao de dados uma fase do processo de Descoberta de Conhecimento em Banco de Dados (DCBD). Esta etapa responsvel pela aplicao dos algoritmos que so capazes de identificar e extrair padres relevantes presente nos dados (HAN, 2001; WITTEN, 2000). O processo DCBD interdisciplinar, tanto em sua aplicao, quanto das suas fundamentaes tericas. O processo pode ser aplicado a qualquer problema de identificao de padres em dados e contm fundamentao de diversas reas como a banco de dados, inteligncia artificial, estatstica, probabilidade e visualizao de dados.
3.1 Aprendizado
Toda tcnica de minerao passa por um processo chamado de treinamento. A fase de treinamento tem este nome por ser um processo de apresentao dos dados processados para o algoritmo de minerao, cujo objetivo identificar, ou seja, aprender as caractersticas ou padres teis ao objetivo do processo de descoberta de conhecimento. Utilizam-se dados processados para a realizao do aprendizado. Aps o aprendizado ter sido realizado, aplicada uma avaliao, onde podemos verificar medidas estatsticas dos resultados alcanados. A avaliao do algoritmo treinado deve ser realizada utilizando dados no vistos pelo algoritmo, ou seja, inditos. A utilizao de dados inditos fornecer medidas realistas sobre o desempenho do algoritmo, pois os mesmos sero feitos a partir de dados no vistos na fase de treinamento. A fase de avaliao ser realizada de forma correta caso a diviso do conjunto de dados seja realizada. O conjunto deve ser dividido em dados de treinamento e de teste. s vezes, necessrio dividir o conjunto de dados em 3 diferentes conjuntos: treinamento, validao e teste. O conjunto de validao utilizado para ajustar valores dos parmetros de alguns algoritmos e ao mesmo tempo uma boa generalizao. Quando o conjunto de dados dividido em dois, geralmente a diviso de 70% do conjunto para o conjunto de treinamento e 30% para o conjunto de testes. J, quando o conjunto ser divido em 3 (trs), usa-se a proporo 70% para treinamento, 20% para validao e 10% para testes.
3.4 UCI
UCI um repositrio de dados que pode ser utilizado em tarefas de minerao de dados. Atualmente o repositrio contm 194 conjuntos de dados, para atividades como classificao, regresso e agrupamento. O site organiza os conjuntos de dados em diferentes categorias, como tipos de atributo e dados, rea de aplicao, nmero de atributos e instncias e formato do arquivo. Infelizmente o UCI no fornece os conjuntos de dados no formato padro do WEKA, i.e, ARFF, mas isto pode ser contornado atravs do acesso ao site de conjunto de dados do WEKA (http://www.cs.waikato.ac.nz/~ml/weka/index_datasets.html). Tal site contm diversos conjuntos de dados, alm dos presentes no UCI.
4. WEKA
A suite Weka (Waikato Enviroment for Knowledge Analysis) formado por um conjunto de implementaes de algoritmos de diversas tcnicas de Minerao de Dados (UNIVERSITY OF WAIKATO, 2010). O Weka est implementado na linguagem Java, que tem como principal caracterstica a sua portabilidade, desta forma possvel utiliz-la em diferentes sistemas operacionais, alm de aproveitar os principais benefcios da orientao a objetos. O WEKA um software livre, ou seja, est sob domnio da licena GPL e est disponvel em http://www.cs.waikato.ac.nz/ml/weka. Alguns mtodos implementados no WEKA: Mtodos de classificao rvore de deciso induzida Regras de aprendizagem Naive Bayes Tabelas de deciso Regresso local de pesos Aprendizado baseado em instncia Regresso lgica Perceptron Perceptron multicamada Comit de perceptrons SVM Mtodos para predio numrica Regresso linear Geradores de rvores modelo Regresso local de pesos Aprendizado baseado em instncia Tabela de deciso Perceptron multicamadas Mtodos de Agrupamento EM Cobweb SimpleKMeans DBScan CLOPE Mtodos de Associao Apriori FPGrowth PredictiveApriori Tertius
5. PROBLEMAS RESOLVIDOS
Esta seo ir focar na resoluo de problemas utilizando a suite Weka. Ser exemplificado problemas de classificao, regresso, agrupamento e associao.
5.1 Classificao
Um problema clssico de classificao classificar a flor iris em 3 espcies utilizando o comprimento e a largura da spala e da ptala. O conjunto de dados contm 150 instncias de 3 espcies (setosa, virgnica e versicolor). Para resolver este problema iremos utilizar o algoritmo J48 que gera uma rvore de deciso. Assim, poderemos entender a relao entre os valores dos atributos e a espcie da flor. Para a realizao da tarefa, deve-se iniciar o Weka e abrir o arquivo ARFF contendo o conjunto de dados Iris. Na Figura 2, vemos uma representao da tela com o conjunto de dados j aberto. Na mesmo possvel ver todos os atributos, inclusive a classe. Alm dos atributos, possvel visualizar alguns dados estatsticos como o valor mximo e mnimo, mdia e desvio padro.
Aps o carregamento do conjunto de dados, iremos executar o algoritmo J48. Iremos pular as etapas do processo de DCBD, pois o conjunto de dados j est pr-processado e transformado para o formato que o algoritmo requer. A Figura 3 exibe a aba de classificadores (Classify), com o algoritmo J48 selecionado, treinamento utilizando 70% do conjunto de dados e a rvore de deciso utilizando a estrutura de representao do Weka. Podemos extrair 5 regras atravs da rvore representada na Figura 2. So: LarguraPtala <= 0.6 Setosa LarguraPtala > 1.7 Virginica LarguraPtala <= 1.7 e ComprimentoPtala <= 4.9 Versicolor ComprimentoPtala > 4.9 e LarguraPtala <= 1.5 Virginica ComprimentoPtala > 4.9 e LarguraPtala > 1.5 Versicolor
Alm das regras, podemos perceber que as medidas relativas a spala no foram utilizadas para a determinao da espcie da flor. Sendo assim, as medidas da spalas so irrelevantes para a tarefa de classificao.
O algoritmo gerou tal equao: Preo de Venda = -26.6882 * houseSize + 7.0551 * lotSize + 43166.0767 * bedrooms + 42292.0901 * bathroom - 21661.1208. Assim, atravs da equao, o proprietrio poder propor um preo de acordo com o padro observado nas redondezas de seu imvel. Podemos interpretar a partir da equao que a presena de granito nos quartos no importante. O tamanho da casa influi negativamente no preo do imvel. Os quartos e os banheiros so mais importantes que o tamanho do lote, pois seus pesos so maiores que o peso referente ao lote.
5.3 Agrupamento
Como dito anteriormente, a tcnica de agrupamento destinada a anlise exploratria dos dados. O agrupamento agrupa as instncias de acordo com seus atributos utilizando medidas de similaridade. Iremos utilizar o conjunto de dados Iris, junto com o algoritmo CobWeb para exemplificar a aplicao de uma tcnica de agrupamento utilizando o Weka. Iremos verificar a acurcia do algoritmo em subdividir o conjunto de dados em um nmero correto de classes e a definio de cada classe a sua respectiva instncia. Para isso iremos utilizar o conjunto Iris, sabendo o nmero de classes. Deve-se selecionar o algoritmo CobWeb, a partir da aba Cluster, com a opo percentage split (percentagem da diviso) com o valor 70 e a opo Store to clusters evaluation (Armazenar agrupamentos para visualizao) marcada. A Figura 5 exibe o resultado da execuo do algoritmo.
Atravs da Figura 5 podemos visualizar que o algoritmo dividiu o conjunto de dados em 4 grupos, sendo que um grupo contm nenhuma instncia. Cada grupo ficou exatamento com 50 instncias, nmero correto de instncias; podemos comparar este resultado com o conjunto de dados. Pode-se visualizar o agrupamento com mais detalhes atravs de grficos. Os grficos permitem a observao dos atributos, classes e grupos das instncias utilizadas. A Figura 6 representa um grfico, cuja abscissa representa o nmero da instncia, a ordenada, a classe que a instncia representa e as cores representam o grupo que determinada instncia pertence. Pode-se perceber ainda, que todas as instncias foram corretamente agrupadas, pois as pertencentes a cada classe foram agrupadas em um mesmo grupo.
Pode-se tambm visualizar os grupos atravs de uma rvore. A rvore desta execuo pode ser observada atravs da Figura 7. Tambm possvel visualizar detalhes sobre as instncias presentes em cada grupo. A Figura 8 representa todas as instncias pertencentes ao grupo 1. possvel saber detalhes sobre uma instncia em especfico, para isso necessrio apenas selecionar tal opo. A Figura 8 representa os detalhes de uma instncia. possvel visualizar todos os valores desta instncia.
5.4 Associao
A tcnica de associao uma tcnica exploratria (AGRAWAL, 1994). A associao gera regras que descrevem os padres mais relevantes presentes nos dados. As regras so compostas por precedentes e conseqentes, ou seja, a regra contm no precedente um subconjunto de atributos e seus valores e no conseqente um subconjunto de atributos que decorrem do precedente. Por exemplo, quem compra ovos, manteiga, farinha de trigo e chocolate tambm compra fermento. As regras servem para diversas utilidades, dentre elas a descoberta de padres de comportamento, aplicaes em marketing e desenvolvimento de novos produtos. Iremos utilizar o algoritmo Apriori implementado na suite para exemplificar a aplicao da associao no Weka. O conjunto de dados que iremos utilizar ser o supermercado.arff. Este conjunto de dados descreve um conjunto de compras de clientes em um supermercado. Cada instncia uma compra e caso o cliente compre certo atributo, o valor para ele ser 't'. O conjunto composto por 217 atributos e 4627 instncias.
Para utilizar o algoritmo Apriori, necessitamos primeiramente carregar o arquivo supermercado.arff. Aps o arquivo ter sido aberto, iremos aba Association. A Figura 10 representa a aba Association com o algoritmo Apriori selecionado. Alm da seleo, possvel visualizar tambm algumas regras.
A suite Weka retorna as 10 melhores regras, nmero que pode ser alterado nas configuraes do algoritmo. O nmero aps o precedente significa o nmero de instncias que a regra cobre; j o nmero aps o conseqente significa o nmero de instncias preditas corretamente. O valor aps a palavra conf o valor da confidncia da regra. A confiana significa o percentual de ocorrncia da regra. A confiana calculada a quantidadedeinstnciascontendoAquantoB quantidadedeinstnciascontendoA partir da Equao: conf(A B)= . A Figura 9 apresenta 10 regras: Se o cliente comprou biscoitos, comida congelada, frutas e o total foi alto ento ele comprou po e bolo. 92% de confiana; Se o cliente comprou utenslios de cozimento, frutas e o total foi alto ento ele comprou po e bolo. 92% de confiana; Se o cliente comprou utenslios de cozimento, comida congelada, frutas e o total foi alto ento ele comprou po e bolo. 92% de confiana; Se o cliente comprou biscoito, frutas, vegetais e o total foi alto ento ele comprou po e bolo. 92% de confiana; Se o cliente comprou salgadinhos, frutas e o total foi alto ento ele comprou po e bolo. 91% de confiana; Se o cliente comprou biscoitos, comida congelada, vegetais e o total foi alto ento ele comprou po e bolo. 91% de confiana;
Se o cliente comprou utenslios de cozimento, biscoitos, vegetais e o total foi alto ento ele comprou po e bolo. 91% de confiana; Se o cliente comprou biscoitos, frutas e o total foi alto ento ele comprou po e bolo. 91% de confiana; Se o cliente comprou comida congelada, frutas, vegetais e o total foi alto ento ele comprou po e bolo. 91% de confiana; Se o cliente comprou comida congelada, frutas e o total foi alto ento ele comprou po e bolo. 91% de confiana;
6.
CONCLUSES
Este documento apenas uma introduo a minerao de dados e ao seu uso utilizando a suite Weka. A suite Weka tem muito mais potencialidades do que as apresentadas neste minicurso. Deve-se adquirir experincia e maior conhecimento da ferramenta com seu uso e na resoluo de problemas reais. A minerao de dados e conseqentemente a DCBD, possuem uma vasta aplicao, tanto comercial quanto acadmica. Este minicurso fornece apenas orientaes iniciais nesta rea e apresenta algumas tcnicas utilizando a suite Weka. O avano da tecnologia e conseqentemente do volume de dados propicia o aumento da rea de atuao de um analista de dados. O analista tem em suas mos um grande mercado consumidor, que pode fornecer aos seus clientes solues fceis, geis e inteligente. A leitura e o aprendizado contnuo so peas chaves para um profissional de minerao de dados de sucesso.
REFERNCIAS
AGRAWAL, R.; SRIKANT, R. Fast algorithms for mining association rules in large databases. Proceedings of the International Conference on Very Large Databases, Santiago, Chile, 1994. FAYYAD, U. M.; PIATESKY-SHAPIRO, G.; SMYTH, P. From Data Mining to Knowledge Discovery: An Overview. In: Advances in Knowledge Discovery and Data Mining, AAAI Press, 1996. HAN, J.; KAMBER, M. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2001. UNIVERSITY OF WAIKATO. Weka 3 Machine Learning Software in Java. Disponvel no site da University of Waikato (2010). URL: http://www.cs.waikato.ac.nz/ml/weka WITTEN, I.; FRANK, E. Data Mining Practical Machine Learning Tools. Morgan Kaufmann, 2000.