Sie sind auf Seite 1von 11

Implementao e Estudo de caso do algoritmo Apriori para Minerao de Dados

Arbex, Eduardo Compasso* Eduardo.arbex@uol.com.br Saboredo, Alexandre de Paiva* Alexandre.saboredo@terra.com.b r Miranda, Dhalila* dhalila_rj@yahoo.com.br

*Curso de Sistemas de Informao, Associao Educacional Dom Bosco, Resende RJBrasil


Resumo O objetivo deste trabalho apresentar os resultados obtidos na implementao e estudo de caso d e um algoritmo para Minerao de Dados (Data Mining), chamado Apriori. Alm de expor os resultados obtidos at o momento, o artigo apresenta uma comparao deste algoritmo com os resultados obtidos utilizando-se o software WEKA. 1 Introduo A humanidade tem, ao longo do tempo, armazenado uma grande quantidade de informaes. Nas grandes empresas este fenmeno no diferente. Era de se esperar que este acumulo de dados trouxesse s empresas uma fonte de informaes teis. Entretanto, o que se constata que a busca por informaes teis neste mundo de dados necessita de auxilio de tcnicas apuradas Neste contexto est situado o KDD (Knowledge Discovery in Databases) [FAYY96], que busca extrair de grandes bases de dados as informaes que no podem ser encontradas a olho nu. Inserido neste processo de descoberta, temos uma etapa que denominamos Datamining (Minerao) onde so aplicadas as tcnicas para buscar as informaes. Uma das tcnicas comumente utilizadas a verificao de regras de associaes [SRIK95]. Dentro deste escopo, encontramos vrios algoritmos disponveis, entre eles podemos destacar o algoritmo Apriori [Agra93]. Devido ao pouco material disponvel que venha a detalhar este algoritmo, que nos dispomos a neste trabalho de iniciao cientifica, pesquisar este algoritmo e mostrar detalhes de implementao. Alem disto iremos demonstrar os resultados alcanados com a implementao do algoritmo e aps, compara-los com o resultado obtido a partir da submisso dos mesmos dados ao software WEKA. 2-Fases/etapas do KDD Podemos identificar as seguintes fases no processo de KDD: Seleo onde so selecionados ou segmentados dados de acordo com critrios definidos; Pr-processamento que o estagio de limpeza de dados, onde informaes julgadas desnecessrias so removidas e h a reconfigurao dos dados para assegurar formatos consistentes (sexo F ou M); Transformao onde transformam-se os dados em formatos utilizveis dependendo da tcnica Datamining utilizada; Data mining fase em que se processa a verdadeira extrao dos padres de comportamento dos dados e por fim Interpretao e Avaliao Identificados os padres pelo sistema, estes so interpretados gerando assim, conhecimentos, os quais daro suporte tomada de decises humanas Na figura 1 temos:uma representao grfica deste processo

Figura 1 Processo KDD

3 Regras de Associao Representam padres onde a ocorrncia de eventos em conjunto alta. Podemos dizer que a probabilidade de que um conjunto de itens aparea em uma transao, dado que outro conjunto esteja presente. Um exemplo de tal tipo de regra seria "75% dos consumidores que compram o produto A e B tambm compram o produto C". O objetivo de minerar regras de Associao, encontrar todos os conjuntos de itens que freqentemente ocorrem de forma conjunta na base de dados e formar regras a partir destes conjuntos. Quanto ao tipo de descoberta, as regras de Associao so consideradas um mtodo no supervisionado, e obtm o segundo lugar em percentual de utilizao em aplicaes, somente atrs de Classificao. As Regras de Associao so representadas da seguinte forma: X => Y (l-se X implica em Y) , onde X o antecessor e Y o conseqente e X e Y so dois itemsets distintos na Base de Dados. Cada regra da forma X => Y possui dois atributos que determinam sua validade no conjunto de dados e tambm limitam a quantidade de regras extradas. So eles o suporte e a confiana. Estes possibilitam o descarte das regras julgadas de pouco interesse, j que so menos freqentes e confiveis. A funo do Suporte determinar a freqncia que ocorre um itemset dentre todas as transaes da Base de Dados, a porcentagem de transaes onde este itemset aparece. Um itemset ser considerado freqente se o seu suporte for maior ou igual a um suporte mnimo estabelecido previamente. N de registros com (X U Y) Sup (X U Y) = N total de transaes do BD

3.1 O Algoritmo APRIORI O algoritmo APRIORI considerado um clssico na extrao de Regras de Associao. Ele foi proposto pela equipe de pesquisa QUEST da IBM que deu origem ao Software Intelligent Miner. Este algoritmo faz recursivas buscas no Banco de Dados procura dos conjuntos freqentes (conjuntos que satisfazem um suporte mnimo estabelecido). Alem disto, possui diversas propriedades que otimizam o seu desempenho, como por exemplo, a propriedade de antimonotonia da relao, que diz que para um itemset ser freqente, todos os seus subconjuntos tambm devem ser, alm de utilizar recursos da memria principal e estrutura hash. As trs fases que compem o APRIORI so: Gerao dos conjuntos Candidatos; Poda dos conjuntos Candidatos e Contagem do Suporte (Nesta fase necessrio visitar o BD) A este algoritmo aplicada a propriedade de Antimonotonia da Relao ou Propriedade Apriori que descrita a seguir: Se X est contido em Y e X no freqente, logo Y tambm no freqente. Isto implica uma diminuio do tempo de execuo, pois se X no freqente, ento no ser necessrio calcular o suporte de Y, e o BD no precisar ser varrido. 3.1.1 Funcionamento do Algoritmo Apriori Esse algoritmo gera um conjunto de itens freqentes a cada uma de suas passagens. Com base nestes Conjuntos ser gerado um outro conjunto Ck, conjunto de itens candidatos, que consta os itens do conjunto freqente (Lk) com minsup maior que o estabelecido. O conjunto candidato resultado do produto cartesiano do conjunto de freqentes da passagem anterior com ele mesmo. Posteriormente o conjunto candidato podado, seu suporte contado e os itens que tem suporte acima do estabelecido sero os itens freqentes da prxima passagem (Lk+1). O Algoritmo Apriori utiliza os itens freqentes obtidos pelo comando executado em SQL, sendo a primeira passagem k=1. Para k=2, enquanto o conjunto obtido na passagem anterior no for vazio ento k ser incrementado e o conjunto de candidatos receber os itens retornados pela funo apriori_gen.

A Funo Apriori-gen responsvel pela unio dos conjuntos freqentes a fim de formar o conjunto candidato com k itens. Para isso tem os itens freqentes da passagem anterior como parmetro. Ela faz tambm a poda dos candidatos. Ento para todas as transaes t contidas no conjunto de transaes adicionado um contador de suporte, verificando assim quais itens do conjunto candidato esto contidos em cada uma das transaes. Para o processo de contagem do suporte dos candidatos, os conjuntos so dispostos em uma rvore Hash. Esse um mtodo de espalhar os elementos de um conjunto seguindo uma dada funo (funo hash) com ela possvel realizar uma busca direta pelo elemento desejado, evitando a principio buscas seqenciais em todo conjunto, acarretando em um ganho significativo em tempo de execuo.

Figura 2 Algoritmo Apriori Um n em uma rvore hash ou contm uma lista de conjuntos de itens (n folha), ou contm uma tabela hash (n interno) essa usada quando o nmero mximo de elementos em uma folha excede o limite estabelecido. Quando um conjunto candidato adicionado, inicia-se da raiz da rvore at alcanar uma folha, a definio do caminho a ser seguido dada pela funo hash calculada para este anteriormente. Inicialmente cada n criado como sendo uma folha. A poda realizada se algum subconjunto do conjunto candidato no estiver presente no conjunto de itens freqentes da passagem anterior. Como meio de otimizao, a poda dos conjuntos tambm pode ser feita atravs de uma rvore hash, mas no algoritmo original ela feita atravs da funo Apriori_Gen. A Funo Subset encarregada de contar o suporte dos itens candidatos, ela toma como parmetros o conjunto candidato (Ck) e o conjunto de Transaes (T). Primeiramente ela faz as combinaes entre os itens da transao da seguinte forma: um item combinado com todos os outros que esto imediatamente a sua frente e assim at o ultimo elemento. Posteriormente verificam-se quais destes esto presentes na rvore hash, da seguinte forma: calculada a funo hash dos subconjuntos obtidos com a transao e ento esses so comparados com a rvore, sendo que se presentes na rvore haver um contador de suporte que incrementar o suporte deste itemset. Feito isso teremos o suporte dos itens candidatos, os itens que possurem suporte maior que o estabelecido formaro o conjunto de itens freqentes desta passagem. O Algoritmo Apriori termina quando o conjunto de itens freqentes da passagem anterior for igual a zero, e retorna como resultado de sua execuo a unio de todos os itens freqentes de todas as passagens. 3.2 Algoritmo Apriori Passo a Passo Neste tpico dividiremos o algoritmo Apriori descrito na figura2 em sete partes para um melhor entendimento: 1 Parte: L1 = {large 1-itemset}; INPUT: - Suporte Mnimo D Banco de Dados de transaes

L1 Conjunto de itens freqentes com 1 elemento. Este conjunto formado por todos os elementos do Banco de Dados isoladamente que correspondem ao nvel mnimo de suporte. Ex.: {{A}; {B}; {C}; {D}; {E}; {F}} Entende-se que um grande conjunto composto de vrios subconjuntos. L1 pode ser obtido atravs de um comando SQL: INSERT INTO L1 SELECT pn, count (*) FROM D GROUP BY pn HAVING count (*) >2; Tendo a Base de Dados D abaixo nt pn T1 A T1 B T1 C T2 B T2 C T3 A T3 B Onde: pn -> a descrio do item na transao, como mostrado na tabela abaixo. 2 -> nvel mnimo de suporte count > um contador de suporte. O Comando SQL descrito percorre a Base de Dados D e agrupa todos os elementos pn que tem o suporte maior que o suporte mnimo estabelecido (itens freqentes). No caso da tabela acima temos que A=2, B=3 e C=2. Logo L1= {{A}; {B}; {C}}

2 Parte: for (k=2; Lk-1 # ; k++) do begin Essa parte do algoritmo inicia um looping onde logo em seguida, comeam a serem gerados os conjuntos candidatos. K um contador e inicia-se com 2. Identifica o nmero da passagem pelo algoritmo. Tambm serve como base para identificar o nmero de elementos do conjunto. Ex.: Passagem 2 forma conjuntos candidatos com 2 elementos K=2 forma o conjunto C2; K=3 forma o conjunto C3 OBS: Inicia-se com 2 porque o algoritmo inicia-se com o L1. Lk-1 # - Condio de encerramento do looping. Este encerra quando o conjunto da passagem anterior for um conjunto vazio. Por que Lk-1 ? Quando K=2 o conjunto de entrada para o procedimento ser o conjunto inicial onde k=1, e C 2 ser gerado atravs de L1 Quando K=3 o conjunto de entrada ser o conjunto da passagem anterior onde k=2, ou seja, C 3 ser formado pelo conjunto L2, e assim por diante, at que a condio de parada seja verdadeira. k++ - Incrementa o contador K. 3 Parte: Ck = apriori_gen(Lk-1); Ck - Conjunto de itens candidatos com k elementos. K tambm o nmero da passagem na funo apriori_gen(Lk-1). Esta funo recebe o conjunto Lk-1 como parmetro e, a partir dele gera os conjuntos pr-candidatos. Em uma outra parte isolada da funo apriori_gen, realizada a poda dos pr-candidatos, gerando assim o conjunto candidato C de ndice K, contendo K elementos, que a resposta do apriori_gen ao algoritmo principal apriori. Devido a sua complexidade, a funo apriori_gen e o seu funcionamento sero tratados separadamente neste documento. O que foi descrito nesta seo apenas um resumo do que ela faz e qual a sua importncia no algoritmo.

4 Parte: forall transactions t em D do begin Ct = subset(Ck, t); A funo Subset recebe o conjunto Ck com os itens candidatos j podados, gerados pela funo apriori_gen, e recebe tambm as transaes t da Base de Dados D, uma a uma seqencialmente.

Esta funo cria uma rvore hash e armazena todos conjuntos candidatos em um n folha da rvore, que so apontados pelos ns internos chamados tabelas hash. Com a rvore montada, a funo joga na rvore a transao correspondente e verifica quais conjuntos candidatos presentes na rvore esto contidos na transao. A funo subset insere na rvore cada item da transao, um por um, como sendo um item inicial de um conjunto candidato. Aplica-lhe a funo hash, para saber qual ramo da rvore deve ser seguido e, logo aps calcula a funo hash do prximo elemento da transao, inserindo-o na rvore (Isso feito para todos os elementos da transao) formando combinaes com o item inicial. Com o uso da funo hash, possvel ir direto folha onde o elemento est, fazendo uma busca randmica(direta) na rvore, no sendo necessrio percorrer todas as folhas a cada vez que um item da transao acrescentado rvore. Se o conjunto candidato formado estiver presente na folha, a funo guarda-o no conjunto resposta C t. Dessa forma, conclumos que Ct formado por todos os conjuntos candidatos (itemset) de C k presentes em uma transao t. Modelo de rvore hash: C2= {{A,B}; {A,E}; {B,E}} Funo Hash: A =1,B=2,C=1,D=2 e E=1

Figura 3 rvore Hash


5 Parte: forall candidatos c em Ct do c.count++; Para todos os subconjuntos c pertencentes ao conjunto C t (Conjuntos candidatos encontrados na Base de Dados de transaes) incrementa-se o seu contador de suporte. Ex.: Ct= {{A,B}; {A,C}; {D,E}} c1={A,B} c2={A,C} c3={D,E} Terminada a primeira transao, inicia-se a segunda e assim por diante. Isso feito para cada transao isoladamente. O Algoritmo percorre toda a Base de Dados atrs dos conjuntos freqentes. Obs: A 4 e 5 parte do algoritmo so executadas seqencialmente.

6 Parte: Lk = {c em Ck | c.count >= suporte_mnimo}; Lk = Conjuntos freqentes so armazenados em Lk. Ck = Conjuntos candidatos com elementos de tamanho k. Lk recebe todos os conjuntos c pertencentes a C k cujo suporte seja maior ou igual ao suporte mnimo estabelecido na primeira parte do algoritmo. O conjunto Lk definido neste comando servir de entrada para a prxima iterao do algoritmo, e formar novos conjuntos candidatos.

7 Parte: Answer = Uk Lk; Answer uma varivel que recebe a unio de todos os valores de Lk. (L1 U L2 U L3 U L4 ... U Ln) Funo APRIORI_GEN Insert into Ck Ck dado a funo como uma tabela resposta, ou seja, o resultado da funo SQL ser lanado em C k que por sua vez repassado ao algoritmo Apriori. select p.item1, p.item2, ..., p.itemk-1, q.itemk-1 Garante que sero selecionados somente a coluna 1 da tabela p e a coluna 1 da tabela q, visto que estas so formadas por duas colunas onde a primeira contm os elementos e a segunda o contador de suporte. from Lk-1 p, Lk-1 q Utiliza Lk-1 para gerar os conjuntos pr-candidatos. Indica onde esto as colunas selecionadas anteriormente. Faz um produto cartesiano do conjunto freqente Lk-1 com ele mesmo: Lk-1* Lk-1 Lk-1 = Conjunto freqente da passagem anterior where p.item1 = q.item1 and p.item2 = q.item2 and ... and p.itemk-2 = q.itemk-2 and p.itemk-1 < q.itemk-1; Garante que os itens do conjunto candidato formado estaro ordenados lexicograficamente, eliminando aqueles que possurem itens equivalentes. Ex.: AA - ser eliminado AB - no ser eliminado BA - ser eliminado forall itemset c em Ck do forall (k-1)-subsets s of c do if (s no pertencer a Lk-1) then delete c from Ck; Esta parte da funo faz a poda dos conjuntos pr-candidatos. Se tivermos um conjunto C k com 3 elementos, verifica-se se todos os seus subconjuntos de K-1 itens (subconjuntos com 2 elementos) esto presentes no conjunto de freqentes da passagem anterior Lk-1. Se por acaso o subconjunto s de c no estiver presente no conjunto de freqentes da passagem anterior, ento c ser excludo de Ck. Este passo ocorre devido propriedade do algoritmo APRIORI que diz que para um conjunto ser freqente todos os seus subconjuntos tambm devem ser freqentes.

insert into Ck select p.item1, p.item2,..., p.itemk-1, q,itemk-1 from Lk-1 p , Lk-1 q where p.item1 = q.item1 and p.item2 = q.item2 and p.itemk-2, q.itemk-2 and p.itemk-1 < q.itemk-1; forall itemsets c Ck do forall (K-1)-subsets s of c do If (s Lk-1) then delete c from Ck; Figura 4 - Funo Apriori_gen 3.3 - Gerao de Regras No processo de Gerao de Regras no preciso revisitar a Base de Dados, pois a contagem do suporte j foi feita em fases anteriores do Apriori. forall Lk , k>=2 genrules (lk, lk); O algoritmo Apriori pega todos os conjuntos freqentes lk de Lk , onde K>=2 e chama a funo genrules passando todos os conjuntos lk como parmetro, um de cada vez.

A funo genrules recebe o conjunto freqente L k por duas vezes, a primeira como l k e a segunda como am, conjunto freqente com m-itens, onde inicialmente m=k, e lk = am Em seguida, encontramos todos os subconjuntos no nulos de a m com am-1 elementos. Estes subconjuntos so armazenados em conjunto chamado de A. Para cada subconjunto a m-1 de am pertencente a A, escrevemos a regra da forma am-1 => (lk - am-1), se a razo conf=sup(l k) / sup(am-1) for maior ou igual a confiana mnima. Considera-se todos os subconjuntos de a m para gerar as regras com mltiplos tamanhos. O algoritmo divide o conjunto freqente am em vrios subconjuntos de m-1 elementos em busca das regras vlidas. No prximo passo testa se o valor de m-1 maior que 1, e se a condio for verdadeira chama novamente a funo genrules, num processo recursivo, passando o conjunto lk e o conjunto am-1. Novamente, a funo genrules recebe o conjunto l k e o conjunto am-1 como am, e repete todo o processo at que o conjunto am-1 contenha somente um elemento.

Figura 4 Procedure genrules 4 Exemplo Prtico de Execuo do Algoritmo APRIORI Demonstraremos a seguir a execuo do algoritmo Apriori tendo como base de dados as transaes presentes na tabela ao lado TRANSAO T1 T2 T3 T4 T5 T6 T7 T8 T9 ITENS 1,2,5 2,4 2,3 1,2,4 1,3 2,3 1,3 1,2,3,5 1,2,3

Considerando um Suporte Mnimo de 22% (2 Transaes) o algoritmo Apriori em suas passagens retornar os seguintes conjuntos: C1 1 2 3 4 5 6 7 6 2 2 L1 1 2 3 4 5 6 7 6 2 2 C2 1,2 1,3 1,4 1,5 2,3 2,4 2,5 3,4 4 4 1 2 4 2 2 0 L2 1,2 1,3 1,5 2,3 2,4 2,5 4 4 2 4 2 2

C3 L3 L4 1,2,3 2 1,2,3 2 1 VAZIO 1,2,5 2 1,2,5 2 A partir da base de dados geramos o conjunto candidato com k-1 elementos C 1. O conjunto L1 ser formado pelos elementos de C1 que possurem o suporte mnimo estabelecido, no caso 22%. C 2 ser formado em memria a partir da juno dos elementos de L1 feito pela funo Apriori_gen. Os elementos de C2 que no obtiverem suporte mnimo no sero considerados freqentes, portanto no entraro no conjunto L2. A partir de L2 ser formado o conjunto C3. Alguns conjuntos formados em C3 foram podados pela Apriori_Gen, pois os seus subconjuntos de dois elementos no estavam presentes no conjunto L 2. Como exemplo, temos o conjunto {1, 2, 4}, ele foi podado porque o seu subconjunto {1,4} no est presente em L2. L3 ser formado pelos conjuntos de C3 que obtiverem suporte mnimo. Em seguida gerase C4, conta-se o suporte de seus elementos e forma-se o conjunto L 4, que no caso um conjunto vazio, pois o elemento de C4 {1,2,3,5} no possui o suporte estabelecido. 4.1 Gerando as Regras Os conjuntos freqentes Lk onde K >= 2, formados na execuo demonstrada anteriormente, sero enviados funo Genrules para gerar as regras. Neste caso, o primeiro conjunto a entrar no algoritmo ser o conjunto L2, e todos os seus elementos l2 sero repassados um a um, e formaro regras com 1 elemento no conseqente. Quando o algoritmo terminar de gerar as regras de L 2, ir gerar as regras de L3, que diferentemente de L2, poder possuir mais de um item no conseqente. Para este exemplo usaremos uma Confiana Mnima de 50%, onde as regras vlidas esto destacadas

3,5 4,5 C4 1,2,3,5

1 0

5 - Resultados obtidos com a implementao do algoritmo Apriori Para podermos confirmar os resultados obtidos com nosso prottipo, criamos uma base de dados de teste e mineramos informaes utilizando o nosso prottipo e o programa WEKA, que ser descrito abaixo.

Logo aps a minerao, ambos os resultados obtidos foram comparados. Nosso prottipo faz acesso a esta base de dados que est em localizada em um sistema gerenciador de banco de dados MySQL baseado em LINUX. Observando a base de dados, podemos perceber que ela possui dois campos, numero e elemento. um exemplo onde o nmero o numero da venda e o elemento o produto vendido. Observe a parte da base de dados abaixo: Numero Elemento 2 b 2 c 2 d 2 f 2 h Observamos que no campo Numero existe vrios 2 e no campo elemento existe b, c, d, f e h. Como Numero o numero da venda ento podemos dizer que na venda de numero 2 vendemos os produtos b, c, d, f e h. 5.1 Minerando dados usando o prottipo Primeiramente nosso prottipo pede os seguintes dados (ao lado est o que ns utilizamos): Nome da Base de Dados: Transaes. (Possui 268 vendas) Nome do Campo Primrio: Numero. (Campo que contm o numero da venda) Nome do Campo a ser minerado: Elemento. (Campo que ser retirado as regras) Suporte Mnimo: 40. (40 vendas de 268 vendas) Confiana Mnima: 70%. Nosso aplicativo obteve os seguintes resultados: N X Implica Y *Suporte de X 1 B e 78 2 B f 78 3 C f 109 4 H e 73 5 H f 73 6 b,e f 55 7 c,d f 67 8 c,e f 73 *Suporte de X e Y 55 59 77 53 53 41 49 53 Confiana(%) 70.51 % 75.64 % 70.64 % 72.60 % 72.60 % 74.55 % 73.13 % 72.60 %

5.2 - Minerando dados usando o software WEKA O WEKA (Waikato Environment for Knowledge Analysis) desenvolvido na universidade de Waikato na Nova Zelandia. Ele efetua minerao de dados, podendo retirar vrios tipos de conhecimento, como classificao e associao (o qual iremos utilizar posteriormente). O sistema foi feito em Java, sendo testado nos sistemas operacionais Linux, Windows, e Macintosh (testado pelos criadores do WEKA). Por ser um software de domnio pblico, est disponvel para download em http://www.cs.waikato.ac.nz/ml/weka/. 5.2.1 Arquivo ARFF Para minerar dados com o WEKA utilizamos o arquivo do tipo ARFF, Que em seu corpo tem a seguinte estrutura: Nome da tabela, indicado pelo atributo @relation. Ex.: @relation listadecompras Nome dos campos, indicados pelo atributo @attribute e logo depois do nome seu tipo. Ex.: @attribute numero real

Dados dos campos separados por virgula, logo aps o atributo @data. Ex.: @data 12,1,2,3 5.2.1.1 Converso da tabela de teste transaes para o tipo de arquivo ARFF Para utilizarmos a base de dados de teste, que chamamos transaes, no WEKA primeiro devemos converte-la para o tipo de arquivo ARFF, tipo padro do WEKA. Na tabela de teste transaes a transao (venda) identificada pelo campo numero. Exemplo: Numero Elemento 1 A 1 B 2 B 2 C 2 D

Na primeira venda vendeu-se produto A e B. Na Segunda venda vendeu-se B, C, D. Para passar-mos para ARFF. Devemos selecionar todos os elementos possiveis. Esses elementos vo ser nossos campos da tabela. No caso acima os elementos possveis so A, B, C, D. Para criar os registros. Devemos usar uma especificao. No primeiro campo deve ser o numero da transao. E quando possuir o elemento, na coluna do respectivo elemento colocar um valor, que no nosso caso utilizamos o nmero 1, quando no tiver o elemento coloque ? para o weka identificar que o elemento no est no registro. Exemplo: Forma visual da tabela: Tabela nova Numero A B C D 1 1 1 ? ? 2 ? 1 1 1 Em arquivo ARFF: @relation nova @attribute numero real @attribute A {1} @attribute B {1} @attribute C {1} @attribute D {1} @data 1,1,1,?,? 2,?,1,1,1

5.3 Resultados da aplicao do WEKA base de dados : N 1 2 X b b,e Implica Y f f Suporte de X 78 55 Suporte de X e Y 59 41 Confiana(%) 76% 75%

3 4 5 6 7 8

c,d c,e h h c b

f f f e f e

67 73 73 73 109 78

49 53 53 53 77 55

73% 73% 73% 73% 71% 71%

6 - Concluso Minerar Bases de Dados um processo muito complexo, mas que ao mesmo tempo uma ferramenta de grande utilidade para as corporaes que desejam explorar melhor as informaes que esto implcitas em suas bases de dados. As tcnicas e as ferramentas do Data Mining permitem obter uma viso melhor e amplificada do negcio o qual se trata, simplificando o processo de explorao de dados, auxiliando a tomada de decises e o uso da inteligncia competitiva nas estratgias de negcios. Um dos objetivos deste trabalho, foi apresentar as Regras de Associao e tambm mostrar ao leitor apenas uma pequena parte do que constitui e o que vem a ser o Data Mining com alguns conceitos bsicos, esclarecendo a forma de utilizao desta tcnica. As Regras de Associao representam apenas um tipo de conhecimento que possvel se obter com a utilizao do Data Mining, e este trabalho apresenta uma de suas formas de descoberta atravs do algoritmo APRIORI. O outro objetivo foi mostrar que o prottipo implementado eficaz no processo de descoberta de relaes implcitas na base de dado. Eficcia esta comprovada pela comparao entre os resultados obtidos pelo prottipo e pela alicao do software WEKA 7 - Vises Futuras No momento estamos desenvolvendo o algoritmo ID3 que ser aplicado tarefa de classificao. 8 - Bibliografia [AGRA93] R. Agrawal, T. Imielinski and A. Swami. Mining Association rules between sets of itens in large databases. Proc. 1993 Int. Conf. Management of Data (SIGMOD-93), 207-216. May/93. [FAYY96] Fayyad, U. M., Piatetsky Shapiro, G., Smyth, P. & Uthurusamy, R. Advances in Knowledge Discovery and Data Mining, AAAIPress, The Mit Press, 1996. [SRIK95] R. Srikant and R. Agrawal. Mining generalized association rules. Proc. 21st Very Large Databases (VLDB) Conf., Zurich, Switzerland, 1995.

Das könnte Ihnen auch gefallen