Você está na página 1de 86

CENTRO UNIVERSITRIO FEEVALE

CARLOS EDUARDO DOS SANTOS

DATA MINING APLICADO A CAMPANHAS DE MARKETING

Novo Hamburgo, dezembro de 2008.

CARLOS EDUARDO DOS SANTOS

DATA MINING APLICADO A CAMPANHAS DE MARKETING

Centro Universitrio Feevale Instituto de Cincias Exatas e Tecnolgicas Curso de Sistemas de Informao Trabalho de Concluso de Curso

Professor orientador: Edvar Bergmann Araujo

Novo Hamburgo, dezembro de 2008.

AGRADECIMENTOS

Gostaria de agradecer a todos os que, de alguma maneira, contriburam para a realizao desse trabalho de concluso, em especial: Deus que est me proporcionando esta oportunidade, aos meus pais que me proporcionaram ensinamentos preciosos e me

incentivaram a estudar, a minha esposa, aos amigos e ao meu orientador que me auxiliou no que foi preciso para execuo desse trabalho.

RESUMO

O mercado vive um momento em que as empresas possuem grandes volumes de dados armazenados em seus discos rgidos. No entanto, poucas esto valendo-se disso para ampliar sua capacidade competitiva atravs da aplicao de tcnicas computacionais para obter conhecimento. A tecnologia de data mining utiliza como matria prima a informao e, a partir desta, produz conhecimento. Desta forma, auxilia os responsveis pela tomada de decises a efetuarem isso de forma mais assertiva, com o objetivo de obter o retorno do investimento de forma satisfatria, trazendo assim um diferencial competitivo. Sendo assim, esse trabalho tem o objetivo de estudar e aplicar as tcnicas e algoritmos de data mining. Sero analisados os resultados a fim de indicar o algoritmo que demonstrar resultados satisfatrios, quando aplicados em uma base de clientes do setor de varejo caladista, visando elaborao de campanhas de marketing mais eficazes. Palavras-chave: Data Mining. Campanhas de Marketing. Descoberta de Conhecimento. Varejo Caladista.

ABSTRACT
The market experiences a time where companies have a large volume of data stored on their hard drives. However, few companies are taking advantage of that scenario by applying computational techniques in order to become more competitive and gain knowledge. Data Mining technology uses as its main raw material information and, from that point, produces knowledge. This way, it helps the responsible personnel to take the decision with accuracy, focusing on a satisfactory return of investment, thereby bringing a competitive differential. Therefore, this work aims to study and apply the techniques and algorithms for data mining. The results are analyzed and the algorithms that demonstrate satisfactory results are pointed out, when applied to a market of retail footwear industry, aiming the development of more effective marketing campaigns. Keywords: Data Mining. Marketing campaigns. Discovery of Knowledge. Retail footwear.

LISTA DE FIGURAS

Figura 1.1 Etapas do processo de KDD________________________________________ 17 Figura 2.1 Data mining e sua interdisciplinaridade_______________________________ 22 Figura 2.2 Associaes entre registros de dados e classes _________________________ 25 Figura 2.3 Hipteses de funes induzidas a partir dos exemplos de entradas e sadas ___ 26 Figura 2.4 Aplicao de previso de sries temporais_____________________________ 28 Figura 2.5 Representao de trs clusters gerados com a tcnica ____________________ 29 Figura 3.1 Arquivo .arff do Weka ____________________________________________ 33 Figura 3.2 Algoritmo Apriori _______________________________________________ 35 Figura 3.3 Conjunto de candidatos em potencial (C1) a grandes itemsets _____________ 36 Figura 3.4 Grande conjunto de dois elementos __________________________________ 36 Figura 3.5 Grande conjunto de trs elementos __________________________________ 36 Figura 3.6 Regras geradas no momento da juno _______________________________ 37 Figura 3.7 Regras com confiana acima do mnimo ______________________________ 38 Figura 3.8 Tela do Weka para configurao do J48.J48 ___________________________ 39 Figura 3.9 Funo da entropia _______________________________________________ 40 Figura 3.10 Tela do Weka para configurao do J48.PART________________________ 41 Figura 3.11 Tela do Weka para configurao do Bagging _________________________ 42 Figura 3.12 O fluxo do funcionamento do algoritmo KMeans ______________________ 44 Figura 3.13 Primeiros passos do algoritmo KMeans______________________________ 45 Figura 3.14 Passos subseqentes do algoritmo KMeans___________________________ 45 Figura 4.1 Modelo ER dos dados de vendas, clientes e produtos ____________________ 47 Figura 4.2 Exemplo de tabela nica com dados de clientes, produtos e caracter coringa__ 48 Figura 4.3 Categorias de produtos reduzidas ___________________________________ 50 Figura 5.1 Arquivo Arff gerado na etapa de transformao para o Apriori ____________ 53

Figura 5.2 Arquivo Arff baseado no exemplo base de dados _______________________ 54 Figura 5.3 Parmetros do algoritmo Apriori ____________________________________ 54 Figura 5.4 Sada da execuo do Apriori ______________________________________ 56 Figura 5.5 Nova formatao do arquivo Arff ___________________________________ 56 Figura 5.6 Nova sada da execuo do Apriori __________________________________ 57 Figura 5.7 Novas regras geradas na execuo do Apriori __________________________ 58 Figura 5.8 Representao grfica de resumo sobre cada atributo ____________________ 59 Figura 5.9 Resultado da nova execuo do Apriori Fator confiana alterado _________ 60 Figura 5.10 Grfico estatstico da quantidade de produtos _________________________ 61 Figura 5.11 Resultado da nova execuo do Apriori sem produto meia_______________ 62 Figura 6.1 Arquivo Arff gerado na etapa de transformao para o J48 _______________ 64 Figura 6.2 Parmetros do algoritmo J48 _______________________________________ 65 Figura 6.3 Parmetros e resultados dos testes iniciais_____________________________ 67 Figura 6.4 Classificao obtida nos testes iniciais _______________________________ 68 Figura 6.5 Resultados estatsticos da execuo do J48 atributo alvo estado civil________ 70 Figura 6.6 rvore de classificao do J48 atributo alvo estado civil _________________ 71 Figura 6.7 Resultados estatsticos da execuo do J48 atributo alvo sexo _____________ 72 Figura 6.8 Informaes sobre execuo do J48 com atributo alvo sexo _______________ 73 Figura 6.9 rvore de classificao do J48 atributo alvo sexo_______________________ 73 Figura 6.10 Classificao obtida com atributo alvo distintos _______________________ 74 Figura 6.11 Resultado estatstico do mtodo Bagging ____________________________ 75 Figura 6.12 Resultado estatstico do mtodo Boosting ____________________________ 76 Figura 6.13 Resultado estatstico do perodo sazonal com atributo alvo ESTADO_CIVIL 78 Figura 6.14 Resultados 1 do perodo sazonal com atributo alvo ESTADO_CIVIL ______ 78 Figura 6.15 Resultados 2 do perodo sazonal com atributo alvo ESTADO_CIVIL ______ 79 Figura 6.16 Resultado estatstico do perodo sazonal com atributo alvo SEXO_________ 80 Figura 6.17 Resultados 1 do perodo sazonal com atributo alvo SEXO _______________ 80 Figura 6.18 Resultados 2 do perodo sazonal com atributo alvo SEXO _______________ 81

LISTA DE QUADROS

Quadro 2.1 Relao das vendas de uma loja de calados __________________________ 23 Quadro 2.2 Formato Basket da relao das vendas do quadro 2.1 ___________________ 23 Quadro 3.1 Caractersticas do Weka __________________________________________ 32 Quadro 3.2 Transaes de venda de uma loja de calados _________________________ 35

LISTA DE ABREVIATURAS E SIGLAS

BI DM DW KDD MD MER OLAP SAD SGBD SQL TI

Bussines Intelligence Data Mining Data Warehouse Knowledge Database Discovery Minerao de Dados Modelo Entidade Relacionamento On-Line Analytic Processing Sistemas de Apoio Deciso Sistema de Gerenciamento de Banco de Dados Structured Query Language Tecnologia de Informao

SUMRIO
I TRODUO __________________________________________________________ 12 1 DESCOBERTA DE CO HECIME TO EM BA CO DE DADOS ______________ 16 1.1 ETAPAS DO PROCESSO DE KDD________________________________________ 1.1.1 Seleo de Dados ______________________________________________ 1.1.2 Pr-processamento _____________________________________________ 1.1.3 Transformao ________________________________________________ 1.1.4 Data Mining __________________________________________________ 1.1.5 Apresentao da Informao Descoberta ____________________________ 1.2 CONSIDERAES FINAIS _____________________________________________ 2.1 CONCEITO ___________________________________________________________ 2.2 REGRAS DE ASSOCIAO ________________________________________________ 2.3 HIERARQUIAS DE CLASSIFICAO _________________________________________ 2.4 PADRES SEQENCIAIS _________________________________________________ 2.5 PADRES COM SRIES TEMPORAIS ________________________________________ 2.6 CLUSTERI G (AGRUPAMENTO) ____________________________________________ 3.1 CARACTERSTICAS DO WEKA____________________________________________ 3.2 ALGORITMO DE REGRA DE ASSOCIAO ____________________________________ 3.3 ALGORITMOS DE HIERARQUIAS DE CLASSIFICAO ___________________________ 3.3.1 Algoritmo J48.J48 _________________________________________________ 3.3.2 Algoritmo J48. PART ______________________________________________ 3.3.3 Mtodos Bagging e Boosting_________________________________________ 3.4 ALGORITMO DE CLUSTERI G (AGRUPAMENTO) _______________________________ 4.1 MODELAGEM DOS DADOS _______________________________________________ 4.2 SELEO DOS DADOS ___________________________________________________ 4.3 PR-PROCESSAMENTO __________________________________________________ 4.4 ALGORITMOS A SEREM ESTUDADOS ________________________________________ 17 17 18 18 19 19 19 21 22 25 26 27 29 31 34 38 39 40 42 43 46 48 49 50

2 DATA MI I G _________________________________________________________ 21

3 WEKA ________________________________________________________________ 31

4 ESTUDO DE CASO _____________________________________________________ 46

5 ALGORITMO DE ASSOCIAO _________________________________________ 52 5.1 TRANSFORMAO DOS DADOS ___________________________________________ 52 5.2 PARAMETRIZAES E TESTES DE FUNCIONAMENTO ___________________________ 53

5.3 MINERAO DO DADOS _________________________________________________ 59 6 ALGORITMO DE CLASSIFICAO______________________________________ 63 6.1 TRANSFORMAO DOS DADOS ___________________________________________ 6.2 PARAMETRIZAES E TESTES DE FUNCIONAMENTO ___________________________ 6.3 MINERAO DO DADOS _________________________________________________ 6.4 VALIDAO BAGGI G __________________________________________________ 6.5 VALIDAO BOOSTI G _________________________________________________ 6.6 APLICAO EM PERODO SAZONAL ________________________________________ 63 64 69 74 75 77

CO CLUSO____________________________________________________________ 82 REFER CIAS BIBLIOGRFICAS ________________________________________ 84

INTRODUO

Devido ao crescente volume de dados gerados a cada dia pelas organizaes, somado ao aumento constante da competitividade do mercado, surge a necessidade da utilizao de ferramentas capazes de gerar conhecimento a partir dos dados armazenados. Considerando um cenrio de mercado globalizado, onde a concorrncia mais acirrada, as empresas necessitam reduzir cada vez mais suas margens de lucros para se manter competitivas. Para tanto, torna-se essencial utilizar as informaes de forma mais ativa. Com o intuito de auxiliar as empresas nessa explorao de dados, alguns conceitos e ferramentas para organizar as informaes se fazem necessrias. Destacam-se o Data Warehouse (DW), Data Mart (DM), Bussines Intelligence (BI) e ferramentas OLAP que formam os pilares estratgicos dos Sistemas de Apoio a Deciso (SAD)1. Existe tambm o processo de Descoberta do Conhecimento em Bancos de Dados (Knowledge Discovery in Database - KDD). Esses recursos tm aumentado o seu grau de maturidade e tambm sua participao no oramento dos gestores de TI, devido a extrao de padres e conhecimento da base de dados ser uma das reas do negcio, onde possvel ter vantagens competitivas de forma tangvel.
A anlise de grandes quantidades de dados pelo homem invivel sem o auxlio de ferramentas computacionais apropriadas. Portanto, torna-se imprescindvel o desenvolvimento de ferramentas que auxiliem o homem, de forma automtica e inteligente, na tarefa de analisar, interpretar e relacionar esses dados para que se possa desenvolver e selecionar estratgias de ao em cada contexto de aplicao. (GOLDSCHMIDT, 2005, p.1).

O Sistema de Apoio a Deciso, segundo Sprague (1991), um sistema de informao que apia qualquer processo de tomada de deciso em reas de planejamento estratgico, controle gerencial e controle operacional.

13

Segundo Elmasri (2005), o Processo de Descoberta de Conhecimento composto por seis fases, sendo elas: seleo dos dados, limpeza, enriquecimento, transformao ou codificao, data mining e construo de relatrios e apresentao da informao descoberta. Durante a etapa de Minerao de Dados, realizada a busca efetiva por conhecimentos teis no contexto da aplicao de KDD (GOLDSCHMIDT, 2005). Minerao de Dados definida como: O processo no-trivial de identificar vlidos, novos, potencialmente utilizveis e por ltimo, padres compreensveis dentro dos dados. (traduo nossa) (Fayyad, 1996, p. 40 - 41). Isto obtido atravs da aplicao de determinados algoritmos que so utilizados para descoberta de padres nos dados armazenados em uma base. Vrios autores, dentre eles Elmasri (2005) e Goldschmidt (2005), tem apontado data mining como uma das tecnologias mais promissoras para o futuro prximo. Os autores citam cinco tcnicas de descoberta de conhecimento durante o data mining: Regras de Associao contempla a busca por itens que ocorram na mesma freqncia em transaes de banco de dados. Pode servir de exemplo, a descoberta sobre a melhor aproximao de produtos nas gndolas de supermercados; Hierarquias de classificao o objetivo um mapeamento de um conjunto de registros atravs da criao de hierarquia de classes em forma de rtulos categricos predefinidos. A diviso de clientes de uma financeira em faixas de crdito pode servir como exemplo; Padres seqenciais uma extenso da regra de associao com a finalidade de descobrir padres atravs de vrias transaes ocorridas durante um perodo de tempo. Na regra de associao os padres a serem conhecidos referem-se a cada transao, denominados padres intratransaes. Na descoberta de seqncias, um nmero variado de transaes analisado em um perodo de tempo denominado por padres intertransaes; Padres com sries temporais algumas similaridades podem ser encontradas em uma srie temporal de uma seqncia de dados atravs de movimentos de tendncias cclicas, sazonais e irregulares ou randmicos como vendas dirias ou fechamento de valores de aes que podem servir como exemplo;

14

Clustering (agrupamento) dado pelo particionamento dos registros que compartilhem propriedades comuns entre os elementos do cluster que os distinguem de outros clusters tendo por objetivo aumentar a similaridade interna do cluster e diminuir a similaridade externa;

As tcnicas citadas podem apresentar resultados diferentes. Portanto, a partir da aplicabilidade dessas tcnicas, necessrio efetuar uma anlise para verificar qual se mostra mais eficaz, considerando o tipo de tarefa especfica a qual se deseja da Descoberta de Conhecimento. As tecnologias de Data Mining tm sido aplicadas em uma grande variedade de contextos empresariais. No contexto do marketing2, a aplicao de tcnicas de Data Mining permite descobrir o padro de comportamento do pblico consumidor e definir estratgias de marketing mais eficazes, padro esse, que no pode ser obtidos atravs das ferramentas convencionais de inferncia3 de dados. Segundo Mackenna (2002, p.28), a tecnologia da informao agora um componente to essencial para reagir s mudanas do mercado e satisfazer os clientes que os executivos de muitas reas da organizao esto tomando decises sobre marketing e executando plano de marketing. Um exemplo bastante conhecido foi a aplicao feita por uma grande rede de supermercados americana, onde foi descoberto um universo de compradores de fralda que tambm compravam cerveja nas vsperas de finais de semana em que jogos eram transmitidos na televiso. Esse conhecimento foi utilizado na aproximao das gndolas desses dois produtos, aumentando assim a venda dos mesmos.
[...] uso de banco de dados e redes para analisar as tendncias do consumidor e da concorrncia, realizar vrias simulaes, compilar informao atual e comunic-la a todos na empresa que devem adaptar-se e responder de acordo. A rede muda a natureza de quem participa do processo estratgico. Usando a rede, os planos estratgicos podem ser mais abrangentes, monitorados constantemente e adaptados com uma comunicao instantnea. (McKenna, 2002, p.34).

O setor financeiro tem utilizado intensamente esse recurso na anlise de concesso de crdito a clientes, anlise de performance do mercado acionrio e tambm na deteco de

Marketing: uma arquitetura integradora que permite o contnuo processo de aprendizado organizacional atravs do qual a empresa acumula conhecimento por meio da interao contnua com os consumidores e o mercado para aprender, adaptar-se e responder de forma criativa e competitiva. (McKenna, 2002, p.202) Inferncia: deduzir por meio de raciocnio, tirar por concluso ou conseqncia.

15

fraudes, buscando por compras no carto de crdito que divirjam do perfil habitual de compra do proprietrio. Na rea da sade, tem sido utilizado em anlise dos efeitos colaterais dos medicamentos, na estimativa de sobrevivncia de um determinado paciente, considerando o resultado diagnosticado atravs dos exames. No setor do varejo caladista, recursos computacionais como a minerao de dados ainda so pouco utilizados. Na maioria dos casos os investimentos so direcionados para melhorar a estrutura da rea de vendas, ficando esse tipo de investimento em segundo plano. Outro fator o desconhecimento dos gestores sobre esses recursos e qual o retorno financeiro real que pode trazer atravs da aplicao da minerao dos dados, produzindo campanhas de marketing com menores investimentos e maior retorno. Segundo Mackenna (1999, p. 53) a tecnologia de computadores projetada especificamente para automatizar as funes de marketing e vendas sem dvida melhora os lucros. Pode gerar conhecimento para reorganizar o layout das lojas, dispondo seus produtos em um melhor formato, com base na anlise do padro de consumo identificado nas informaes dos clientes. Com base nos conceitos citados, o objetivo deste trabalho identificar os resultados obtidos pelas tcnicas e algoritmos de minerao, buscando o que possua a maior aderncia a uma base de clientes do setor de varejo caladista, atravs da utilizao da ferramenta Weka que implementa essas tcnicas. Dessa maneira, espera-se gerar conhecimento que permita o desenvolvimento de campanhas de marketing mais eficazes, aumentando o retorno financeiro e diminuindo o custo destas, aproveitando de forma eficiente as informaes disponveis. Este trabalho est estruturado em 6 captulos. O captulo 1 discorre sobre o conceito e as etapas da descoberta de conhecimento em banco de dados. O captulo 2 concentra-se na explanao das tcnicas e algoritmos utilizados na etapa de Data Mining. O captulo 3 trata sobre a ferramenta de minerao Weka e tambm dos algoritmos implementados por ela. O captulo 4 aborda algumas caractersticas da empresa do setor de varejo caladista e tambm aspectos da modelagem, seleo e pr-processamento dos dados. O captulo 5 aborda a aplicao do algoritmo de associao apresentando os resultados obtidos. O captulo 6 discorre sobre o algoritmo de classificao e os mtodos de meta aprendizagem Bagging e Boosting com apresentao dos resultados gerados em cada algoritmo. Completam o documento a concluso e a bibliografia.

1 DESCOBERTA DE CONHECIMENTO EM BANCO DE DADOS

Devido crescente evoluo da rea de tecnologia da informao, os meios de armazenamento de informaes tm aumentado muito a sua capacidade e reduzido o seu custo. Paralelo a isso, o volume de dados tem aumentando muito nos ltimos anos, o que torna cada vez mais complexa a transformao dessa informao em conhecimento til para as organizaes. Torna-se invivel ao homem efetuar uma anlise dessa grande massa de dados, sem a ajuda de um processo de tratamento dos dados e uma ferramenta computacional que o auxilie nessa rdua tarefa. Com intuito de auxiliar a anlise, interpretao e transformao do dado em conhecimento, surgiu uma rea de estudos denominada Descoberta de Conhecimento em Bases de Dados (Knowledge Discovery in Database - KDD) (GOLDSCHMIDT, 2005). De acordo com Goldschmidt (2005), o termo KDD foi formalizado em 1989 em referncia ao amplo conceito de procurar conhecimento a partir de bases de dados. O processo de KDD interativo e iterativo e composto por etapas seqenciais (FAYYAD, 1996). Complementando o autor, Goldschmidt (2005) acrescenta que interativo por indicar a necessidade de envolvimento do homem controlando o processo e iterativo por sugerir a possibilidade de repeties total ou parcial do processo buscando conhecimento satisfatrio por meio de refinamentos sucessivos. Dessa forma o processo de KDD sugere uma estrutura cooperativa entre o homem e a mquina. Humanos definem seus objetivos a fim de identificar novos conhecimentos para auxiliar em sua rea de atuao e, por sua vez, computadores processam grandes volumes de dados com o intuito de encontrar padres vlidos, visando satisfazer os objetivos traados anteriormente pelo humano.

17

1.1 Etapas do Processo de KDD Na busca de obter conhecimento em uma base de dados em seu estado bruto, uma das principais tarefas encontrar o entendimento do domnio da aplicao e ter os objetivos finais definidos de forma clara. Torna-se fundamental que o analista de KDD elabore um modelo de boa qualidade para que o usurio visualize o relacionamento existente entre os atributos, a fim de garantir a qualidade no resultado apresentado ao final do processo. O processo de KDD constitudo por um conjunto de etapas (figura 1.1), que sero apresentadas a seguir.

Figura 1.1 Etapas do processo de KDD


Fonte: FAYYAD et al., 1996

1.1.1

Seleo de Dados Essencialmente, a etapa de seleo de dados tem o objetivo de identificar os dados

que esto armazenados nas mais diversas bases de dados, avaliando a sua importncia dentro do domnio e objetivos definidos anteriormente. Esses dados, na maioria das vezes, esto armazenados em bases transacionais, sofrendo alteraes constantemente. Goldschmidt

18

(2005) recomenda que seja feita uma cpia dos dados a fim de que o processo de KDD no interfira nas rotinas operacionais eventualmente relacionadas base de dados. Caso os dados estejam armazenados em um DataWarehouse, o mesmo autor, sugere que seja utilizada essa estrutura no processo de KDD. Nos demais casos, comum utilizar a congregao dos dados em uma nica tabela. Dessa forma, percebe-se que o processo de KDD independe da disponibilidade ou no de DataWarehouses.

1.1.2

Pr-processamento A etapa de pr-processamento inicia-se aps a seleo dos dados. Consiste na

limpeza dos dados, atravs de um pr-processamento, visando adequ-los para a etapa de minerao de dados. Isso se faz atravs da integrao de dados heterogneos e da eliminao de rudos e de erros (SCHNEIDER, 2007). De acordo com Goldschmidt (2005), importante perceber que a qualidade dos dados possui grande influncia na qualidade dos modelos de conhecimento a serem abstrados a partir destes dados. Quanto pior a qualidade dos dados informados ao processo de KDD, pior ser a qualidade dos modelos de conhecimento gerados (GIGO- Garbage in, Garbage out). Fayyad (1996) foi um dos primeiros a apontar os objetivos desta fase, indicando que: Pr-processamento inclui a remoo de rudos, caso isso seja necessrio, deve-se recolher as informaes necessrias para o modelo ou explicar o rudo, decidindo sobre as estratgias para o tratamento de dados ausentes nos campos, e apresentar relatrio de seqncia das informaes e conhecer as alteraes (traduo nossa) (p. 42).

1.1.3

Transformao Nessa etapa ser feita a codificao necessria nos dados, para atender as

necessidades especficas dos algoritmos de minerao de dados (GOLDSCHMIDT, 2005). Elmasri (2005) complementa, indicando que o enriquecimento incrementa os dados com fontes adicionais de informaes a fim de fornecer mais elementos para o processo de descoberta de conhecimento. A etapa de transformao onde os dados de entrada sero recebidos do prprocessamento, j com uma formatao diferente de quando no haviam sido pr-processados.

19

A transformao ser exclusivamente para que os dados j formatados sejam organizados de maneira que a ferramenta e/ou tcnica escolhida possa realizar a minerao nos dados. Cada ferramenta de minerao de dados e/ou tcnica pode ter uma maneira especial de receber os dados. As etapas de seleo, pr-processamento e transformao formam a preparao dos dados em um processo de KDD (GONCHOROSKY, 2007).

1.1.4

Data Mining Vrios autores, dentre eles Fayyad (1996) e Elmasri (2005) referem-se a Data

Mining como a principal etapa do processo de KDD, pois ser nessa etapa onde ocorrer a busca efetiva por novos conhecimentos, atravs da aplicao de tcnicas e algoritmos sobre os dados resultantes das etapas anteriores do KDD. No prximo captulo, esse assunto ser discutido de forma mais ampla e detalhada.

1.1.5

Apresentao da Informao Descoberta Esta ltima etapa uma das mais importantes. Nesse momento, o analista de KDD,

juntamente com o especialista do domnio, analisam e interpretam os padres gerados pela etapa de Data Mining a fim de identificar qual dos padres constitui uma nova descoberta. Aqui o analista poder identificar a necessidade ou no de reiniciar qualquer um dos passos para mais iteraes. Aps avaliar os padres descobertos e identificar sua relevncia para a corporao, ento o momento de consolidar o conhecimento gerado, incorporando o mesmo dentro de outros sistemas, documentar ou utiliz-los, auxiliando a tomada de deciso humana (FAYYAD, 1996). 1.2 Consideraes Finais importante conceituar o processo de descoberta de conhecimento em banco de dados, bem como suas etapas, para visualizar de forma clara a interao entre o homem e os procedimentos computacionais e sua importncia na obteno de sucesso ao trmino do processo. A maioria dos autores pesquisados define a etapa de minerao de dados, como uma

20

das mais importantes do processo de KDD, pelo fato de que a descoberta de novos padres ocorre nessa etapa. Considerando a importncia da etapa de Data Mining e sendo ela o foco desse estudo, essa etapa ser explicada de maneira mais ampla no prximo captulo. Cabe ainda salientar que existem outras tendncias de pesquisa associadas a minerao de dados como: minerao de textos (Text Mining), minerao multimdia e ainda Web Mining que refere-se a garimpagem de dados na Web.

2 DATA MINING
2.1 Conceito Data Mining definido por estudiosos como: um passo do processo de KDD, que consiste na aplicao de algoritmos de descoberta de dados que, sob certas limitaes de eficincia computacional aceitveis, produzem uma enumerao particular de padres sobre estes dados. (traduo nossa) (Fayyad, 1996, p.41). Tambm definida por Cabena (1997) como o processo de extrair previamente informao no conhecida, vlidas e teis de grandes bases de dados, utilizando a informao para tomada de decises no mundo dos negcios (traduo nossa).
Para entender o conceito de Data Mining, importante analisar a traduo literal do verbo minerar. O verbo normalmente refere-se minerao, ato de extrair recursos preciosos escondidos na Terra. Associando isso com a palavra dados, sugere uma pesquisa profunda para extrair informaes adicionais e at ento desconhecidas entre a massa de dados disponvel. [traduo nossa] (GIUDICI, 2003, p.1).

Alguns autores, dentre eles Elmasri (2005) e Goldschmidt (2005), citam que muitas vezes a minerao de dados (MD) e a descoberta de conhecimento em bases de dados (KDD) so confundidas e conceituadas de forma indistinta, como se fossem sinnimos. Mas na verdade, a minerao apenas uma etapa no KDD. Pois, no momento da garimpagem que ocorre a busca efetiva por conhecimento e padres at ento desconhecidos pelo humano. A minerao de dados uma rea multidisciplinar, relacionando as reas de estatstica, aprendizado de mquina, inteligncia artificial/redes neurais e bancos de dados, conforme ilustrado na figura 2.1. Segundo Schneider (2007), apesar da minerao de dados e estatstica serem tecnologias distintas, a estatstica pode ser considerada a base das tecnologias criadas para minerao de dados. Isto por fazer uso de conceitos como

22

distribuio normal, varincia, anlise de regresso, desvio simples, anlise de conjuntos, anlises de discriminantes e intervalos de confiana para que estes sejam utilizados nas pesquisas, anlises e descobertas de relacionamentos entre os dados. J em relao a aprendizado de mquina, que est voltado para a otimizao de um agente, a minerao de dados preocupa-se em buscar conhecimento compreensvel em grandes conjuntos de dados.

Figura 2.1 Data mining e sua interdisciplinaridade


Fonte: Adaptado de CARVALHO, 1999

Segundo Elmasri (2005), existe uma evoluo do dado para informao e para o conhecimento medida que o processamento evolui. O autor ainda classifica o conhecimento em indutivo e dedutivo. O conhecimento dedutivo deduz novas informaes a partir da aplicao de regras lgicas predefinidas de deduo sobre os dados existentes. J o conhecimento indutivo, onde o Data Mining apia-se para descobrir novas regras e padres a partir dos dados fornecidos. O autor tambm apresenta cinco tcnicas comumente realizadas para descrever o conhecimento descoberto durante o Data Mining, conforme apresentado nas prximas sees.

2.2 Regras de associao Essa tcnica tem a inteno de identificar associao entre itens que ocorram na mesma freqncia em uma mesma transao de banco de dados. Inmeras aplicaes dessa

23

tcnica podem ser citadas como exemplo: campanhas de marketing direcionadas, supermercados, planejamento de promoes de vendas e controle de estoque (SCHNEIDER, 2007). De acordo com Goldschmidt (2005), uma regra de associao uma implicao da forma X Y, onde X e Y so conjuntos de itens tais que X Y = . importante enfatizar, que nessa regra, X definido como o antecedente, e Y como conseqente, onde a interseo vazia entre eles garante que no sero extradas regras bvias, indicando que um item est associado a ele mesmo. A seguir esto indicados dois exemplos de regras de associao. A regra (1) indica que a compra de bota pode levar a compra de bolsa e a regra (2) que a compra de bolsa e sapato, pode levar a compra de meia. (1) Bota Bolsa (2) Bolsa Sapato Meia Quadro 2.1 Relao das vendas de uma loja de calados Transao 1 2 3 4 5 6 7 8 9 10 Bota No Sim No Sim No No No No No No Meia Sim No Sim Sim No No No No No No Tnis No Sim No No Sim No No No No No Bolsa Sim Sim Sim Sim No No Sim No No No Sapato Sim Sim Sim Sim No Sim No No No No Sandlia No No No No No No No No Sim Sim Cinto No No No No No No No Sim Sim No

Fonte: Adaptado de GOLDSCHMIDT, 2005

Uma alternativa para a representao de dados mostrado no quadro 2.1 denominada de formato basket conforme observado no quadro 2.2. Quadro 2.2 Formato Basket da relao das vendas do quadro 2.1 Transao 1 1 1 2 2 Item Meia Bolsa Sapato Bota Tnis

24

2 2 3 3 3 4 4 4 4 5 6 7 8 9 9 10

Bolsa Sapato Meia Bolsa Sapato Meia Bota Bolsa Sapato Tnis Sapato Bolsa Cinto Sandlia Cinto Sandlia
Fonte: Adaptado de GOLDSCHMIDT, 2005

Suporte mnimo e confiana mnima so fatores considerados relevantes, para que uma regra de associao seja avaliada. Suporte calculado atravs da freqncia que a transao ocorre no banco de dados, com determinado conjunto de itens, e dividido pelo nmero total de transaes. Se o percentual do suporte gerado for baixo, sugere que no existe evidncia expressiva que os itens em X Y ocorram juntos, considerando que o conjunto de itens ocorre em uma pequena frao de transaes (ELMASRI, 2005). Suporte = X Y / nmero total de registros No exemplo do quadro 2.1 e 2.2, as regras (1) e (2) possuem suporte de 20% e 30% respectivamente. A confiana da regra calculada de forma semelhante ao suporte, porm a diviso feita considerando apenas a freqncia em que X ocorre. Confiana = X Y / nmero de registro com X A medida de confiana tem por objetivo, demonstrar a qualidade da mesma, indicando o quanto a ocorrncia do antecedente da regra pode garantir a ocorrncia do conseqente (GOLDSCHMIDT, 2005). Considerando o exemplo do quadro 2.1 e 2.2, as regras (1) e (2) possuem confiana de 20% e 30% respectivamente. Como exemplo de algoritmos de regra de associao, pode ser citado o Apriori, por ser um dos mais utilizados e referenciados na literatura dentre outros existentes. Essa tcnica

25

revela a afinidade oculta existente entre produtos que freqentemente so comprados em uma mesma transao. Com base nisso, possvel identificar caractersticas de um potencial comprador, permitindo desenvolver campanhas de marketing direcionadas.

2.3 Hierarquias de Classificao A tcnica de classificao tem o objetivo de mapear um conjunto de registros, examinando suas caractersticas atravs de uma funo para enquadr-lo corretamente a um nico rtulo categrico predefinido conforme mostra figura 2.2. Segundo Goldschmidt (2005), uma das tcnicas mais importantes e populares de Data Mining e pode ser formalizada considerando um par ordenado da forma (x,f(x)), onde x representa um vetor de entradas e f(x) a sada de uma funo f, desconhecida, que foi aplicada a x. Uma vez identificada, essa funo pode ser aplicada a novos registros com o objetivo de prever em qual rtulo eles se enquadram, sendo denominado pelo autor como algoritmo de aprendizado (GOLDSCHMIDT, 2005). f(?)

Conjunto de dados

Conjunto de Classes

Figura 2.2 Associaes entre registros de dados e classes


Fonte: GOLDSCHMIDT et al., 2005

definido por Elmasri (2005) como processo de aprendizado supervisionado. Onde o primeiro passo do modelo de aprendizado efetuado utilizando um treinamento a partir de um conjunto de dados j classificados anteriormente. Cada registro do conjunto de treinamento ter um atributo, definido como rtulo, indicando a que classe ele pertence. O autor ainda cita algumas preocupaes pertinentes em relao ao modelo e o algoritmo que o

26

produz, que so a habilidade do modelo em categorizar corretamente os novos dados, seu custo computacional ligado ao algoritmo e a sua escalabilidade. Goldschmidt (2005) sugere que um conjunto de hipteses podem ser alcanadas a partir do algoritmo de aprendizado. Essas hipteses so chamadas de classificador. Conforme representada geometricamente na figura 2.3, trs hipteses possveis induzidas a partir do conjunto de exemplos da figura 2.2.

Figura 2.3 Hipteses de funes induzidas a partir dos exemplos de entradas e sadas
Fonte: GOLDSCHMIDT et al., 2005

Como exemplo de classificao, possvel considerar os clientes de uma loja de calados residentes em uma determinada cidade e categoriz-los de acordo com o tipo de calados comprados por eles anteriormente. Essas categorias podem ser divididas em: esporte, social, casual e infantil. O objetivo dessa classificao prever em qual dos rtulos o restante dos clientes se enquadram, para desenvolvimento de uma campanha de marketing focada por categoria. Os algoritmos J48.J48, J48.PART, C4.5, ID3, redes neurais Back-Propagation, classificadores Bayesianos, podem ser usados para aplicao na tcnica de classificao.

2.4 Padres Seqenciais A descoberta de padres seqenciais uma extenso da regra de associao. Essa tcnica tem por objetivo descobrir um modelo atravs de vrias transaes ocorridas durante um perodo de tempo, buscando encontrar por padres a partir de um conjunto de transaes conceituado como, intertransaes, tornado evidente uma complexidade maior na busca por padres. J a regra de associao citada anteriormente, tem por objetivo determinar os padres

27

de uma nica transao, denominada intratransaes, diferenciando assim, uma regra da outra (GOLDSCHMIDT, 2005). De acordo com Elmasri (2005), o problema de identificar padres seqenciais est em, localizar todas as subseqncias de um dado conjunto de encadeamento que tenha um suporte mnimo previamente definido pelo usurio. A seqncia S1, S2, S3,... um predecessor do fato de que um cliente que tenha efetuado a compra do conjunto S1, esteja predisposto a comprar S2, S3, e assim sucessivamente. Essa previso baseia-se no suporte dessa srie no passado. Goldschmidt (2005) cita como exemplos de algoritmos para essa aplicao o Generalized Sequential Patterns (GSP) e Sequential Pattern Discovery Using Equivalence Classes (SPADE). O autor complementa que esses algoritmos baseiam-se na propriedade de antimonotonicidade do suporte: Uma k-seqncia somente pode ser freqente se todas as suas (k-1)-subseqncia forem freqentes. O suporte de uma seqncia deve ser mantido mesmo que tenha expandido para uma srie com mais conjuntos de itens, nunca podendo crescer por conta disto.

2.5 Padres com Sries Temporais Uma srie temporal caracteriza-se pelo acompanhamento de um fenmeno ordenado que ocorra em um determinado perodo de tempo, buscando encontrar similaridade na seqncia. A anlise de uma srie temporal o mtodo de identificao das peculiaridades, dos modelos e das propriedades importantes da seqncia. Atravs dessa anlise, possvel descrever de forma simplificada, o seu elemento gerador (GOLDSCHMIDT, 2005). O autor ainda complementa, citando quatros principais tipos de movimentos que normalmente so utilizados para caracterizar as sries temporais, sendo elas: Movimentos de Tendncia sinaliza a direo genrica que o grfico utilizar para se mover ao longo do tempo; Movimentos Cclicos refere-se aos movimentos alternados de uma curva, que pode a mesma ser peridica ou no. Indica que, os ciclos no precisam fundamentalmente aps intervalos de tempos iguais, seguir exatamente os mesmos padres;

28

Movimentos Sazonais referem-se aqueles eventos que se repetem de tempos em tempos. So movimentos similares um ao outro e sua ocorrncia se d, em funo de uma data especial, como aumento das vendas de calados na semana que antecede o dia das mes ou ainda dia dos namorados;

Movimentos Irregulares ou Randmicos j esse tipo de movimento ocorre em funo de fatores climticos. Como exemplo possvel citar o aumento nas vendas de botas durante as semanas em que as temperaturas caem;

Segundo Goldschmidt (2005), em sries temporais a busca por similaridade envolve a identificao da seqencia de dados que, em relao ao padro apresentado demonstraram pouca variao. As buscas por similaridade podem ser dividas em combinao de subseqncias, que consiste em localizar todas as seqncias de dados da srie, que se igualam ao padro apresentado ou aproximao de seqencias, que busca encontrar a srie de dados que mais se assemelham com a srie em anlise. A figura 2.4 apresenta o comportamento de trs produtos em uma determinada janela de tempo, em que uma srie foi analisada. possvel concluir que o produto C menos voltil do que os produtos A e B e que ambos seguem a mesma poltica de estoque e tambm, pode-se fazer predio com boa certeza para o produto C (CARVALHO, 2008).

Figura 2.4 Aplicao de previso de sries temporais


Fonte: CARVALHO, 2008

Essa tcnica pode revelar o comportamento de um determinado produto apresentando os perodos sazonais ou ainda demonstrar a tendncia de venda do mesmo. A diminuio dos riscos nas tomadas de deciso e o auxilio ao planejamento da empresa, podem

29

valer-se da previso de sries temporais considerando que a eficcia de uma deciso est vinculada, na maioria das vezes, a eventos ocorridos anteriormente.

2.6 Clustering (agrupamento) A tcnica de Clustering ou agrupamento citado por Elmasri (2005) como aprendizado no supervisionado. Diferentemente da tcnica de classificao citada anteriormente, o agrupamento divide os dados sem a necessidade de uma amostra de treinamento. Atravs do particionamento dos registros que partilham propriedades comuns entre os elementos do cluster, busca aumentar a semelhana interna do cluster, reduzindo a similaridade intercluster. Clustering uma tcnica descritiva comum onde um rtulo identifica um grupo finito de categorias ou cluster para descrever os dados (JAIN; DUBES apud FAYYAD et al., 1996, p.45). O autor ainda cita que as categorias podem ser mutuamente exclusivas e exaustivas ou consistir de uma representao mais rica, como hierrquicas sobrepostas ou categorias (TRADUO NOSSA). Goldschmidt (2005) acrescenta que, pelo fato da clusterizao auxiliar os usurios a realizarem agrupamentos naturais dos registros em conjuntos de dados, pode ser definida como uma das tcnicas bsicas da minerao de dados. Geralmente, essa tcnica requer que o usurio informe o nmero de grupos que devem ser considerados. A partir do nmero informado, os registros podem ser agrupados no mesmo cluster, considerando a similaridade existente entre eles. Feito esse agrupamento, possvel efetuar uma anlise dos elementos que compem cada cluster e com base nas caractersticas comum entre os registros, criar um rtulo para representar o grupo. Na figura 2.5 possvel visualizar no grfico os 3 clusters gerados a partir da aplicao da tcnica sobre dados fictcios.

Figura 2.5 Representao de trs clusters gerados com a tcnica


Fonte: Adaptado de FAYYAD et al., 1996, p. 14

30

Os mtodos de clusterizao mais utilizados e conhecidos so os mtodos por particionamento e os mtodos hierrquicos.
Os algoritmos de clusterizao por particionamento dividem a base de dados em k grupos, onde o usurio escolhe o nmero de k. Inicialmente, estes algoritmos escolhem k objetos como sendo os centros dos k clusters. Os objetos so ento divididos entre os k clusters de acordo com a medida de similaridade adotada, de modo que cada objeto fique no cluster que fornea o menor valor de distncia entre o objeto e o centro do mesmo. Os algoritmos utilizam ento, uma estratgia iterativa, que determina se os objetos devem mudar de cluster, fazendo com que cada cluster contenha somente elementos similares entre si. (GOLDSCHMIDT, 2005).

De acordo com Elmasri (2005), o algoritmo inicia com a escolha aleatria de k registros para apresentar a centride (mdia). Baseados na distncia existente entre os

registros e a mdia do agrupamento, o total de registro colocado em um agrupamento especifico. Aps todos os registros terem sido colocados em um agrupamento inicial, recalculada a mdia do agrupamento. Esse processo poder ser repetido vrias vezes, onde cada registro examinado e colocado em um novo agrupamento cuja mdia mais prxima. Existem vrias tcnicas e processo de clusterizao. Entre os principais algoritmos de clusterizao podem ser citados: K-Means, Fuzzy K-Means, K-Modes e K-Medoid (GOLDSCHMIDT, 2005). Essa tcnica poder ser utilizada para criar clusters de clientes, considerando alguns atributos como: idade, sexo, renda e calados adquiridos anteriormente. Esses agrupamentos possibilitariam a visualizao de segmentos de clientes que compram um determinado tipo de calado especfico. Isso permitiria montar campanhas de marketing direcionadas de acordo com cada agrupamento de cliente, objetivando uma maior eficincia e eficcia, gerando um maior retorno financeiro com um investimento menor.

3 WEKA

Como foi citado anteriormente, para conseguir garimpar uma grande quantidade de dados e obter conhecimento vlido e utilizvel, surge a necessidade da utilizao de ferramentas capazes de gerar conhecimento a partir dos dados armazenados. Considerando essa necessidade, ferramentas tm sido disponibilizadas no mercado, para auxiliar o homem na execuo do processo de KDD e especificamente na minerao dos dados. Algumas delas so pagas, desenvolvidas por grandes empresas de software, como: Intelligent Miner fabricado pela IBM, Oracle Data Mining construdo pela Oracle e tambm o SAS Enterprise Miner da empresa SAS. Existem tambm, ferramentas open source como: Pentaho, Rapid Miner e o Weka. O Weka ser a ferramenta utilizada no desenvolvimento desse estudo, devido sua popularidade no meio acadmico, ser de fcil utilizao, alm de ser gratuita. Nas prximas sees sero detalhadas algumas funcionalidades, interfaces e algoritmos implementados pelo Weka.

3.1 Caractersticas do WEKA Waikato Environment for Knowledge Analysis WEKA uma ferramenta de cdigo aberto disponvel na Web. Foi desenvolvida na linguagem de programao Java pelo curso de cincia da computao da universidade de Waikato na Nova Zelndia (GOLDSCHMIDT, 2005) e est disponvel no site da ferramenta (WEKA, 2008). O autor ainda cita que a ferramenta possui quatro diferentes implementaes de interface sendo elas:

32

Simple Client nessa interface o usurio interage com o Weka atravs de linhas de comando onde requer um conhecimento aprofundado do programa, tornandose bastante flexvel e rpida para usurios avanados;

Explorer essa a interface de utilizao mais comum, e trata de forma separada as etapas de pr-processamento (filtros), minerao de dados (associao, clusterizao e classificao) e ps-processamento (apresentao dos resultados);

Experimenter um ambiente onde possvel fazer experimentos atravs de testes estatsticos, com o intuito de avaliar o desempenho de diferentes algoritmos;

KnowledgeFlow essa uma interface grfica que permite construir o fluxo dos processos de KDD e tambm efetuar o planejamento das aes;

Diversos mtodos de associao, classificao e clusterizao esto implementados no Weka. Pelo fato de ser uma ferramenta de cdigo aberto, a incluso ou remoo de novos mtodos pode ser efetuada de forma rpida e simples, tornado uma ferramenta customizvel e expansvel. Tambm possvel visualizar os dados de forma grfica atravs de histogramas, e os resultados podem ser apresentados na forma de rvores de deciso, diagramas de disperso e ainda gerar modelos grficos para montagem de redes neurais (GOLDSCHMIDT, 2005). Um resumo das caractersticas do Weka est relacionado no quadro 3.1. Quadro 3.1 Caractersticas do Weka

Fonte: GOLDSCHMIDT, 2005

33

Segundo Santos (2005) e Weka (2008), o Weka manipula um arquivo com extenso .ARFF que contm texto puro e composto de trs partes: Relao a primeira linha do arquivo deve conter a identificao da relao ou tarefa que esta sendo estudada, sendo, antecedida da expresso @relation; Atributos logo abaixo, uma lista atributos relacionada, onde cada linha inicia com @attribute acompanhada do nome do atributo e seguida do seu tipo, que pode ser nominal (as alternativas devem ser relacionadas como uma lista separada por vrgulas e cercadas por chaves) ou numrico (neste caso o nome deve ser seguido do tipo de dado); Dados depois, uma linha simples contendo a expresso @data indica o incio da relao de dados do arquivo. Cada linha representa uma instncia e deve ter valores separados por vrgula correspondentes (e na mesma ordem) dos atributos da seo Atributos; O arquivo tambm pode conter linhas de comentrios que no sero processadas. Essas linhas devem iniciar com o sinal de percentagem (%). Na figura 3.1 pode-se verificar o formato do arquivo .ARFF.

Figura 3.1 Arquivo .arff do Weka


Fonte: WEKA, 2008

A ferramenta Weka foi escolhida para o desenvolvimento desse trabalho, por vrios motivos: apresentar os principais algoritmos e tcnicas de DM, estar sendo utilizada em vrios trabalhos acadmicos sobre minerao de dados, disponvel na web e ser de fcil instalao e

34

utilizao. Como exemplo de utilizao do Weka, podem ser citado trabalhos como Gonchorosky (2005) e Oliveira (2002). importante ressaltar, que este estudo est sendo desenvolvido sobre uma base de dados relacional a partir do SGBD de uma empresa do setor de varejo caladista. Considerando que cada algoritmo necessita de uma preparao e tratamento especfico para ser submetido ao processamento, as informaes dos clientes, como idade, sexo, renda, etc e dados de suas respectivas compras, sero organizadas de forma a atender os requisitos de cada algoritmo. A seguir, sero apresentados alguns algoritmos presentes no Weka. Os algoritmos de padres seqenciais e padres com sries temporais no sero abordados nesse captulo, porque a ferramenta no os implementa.

3.2 Algoritmo de Regra de Associao O algoritmo Apriori um clssico de minerao de regras de associao (AGRAWAL, apud GOLDSCHMIDT, 2005). O Apriori, apresentado na figura 3.2, busca identificar conjuntos de itens que ocorram concomitantemente na mesma transao, denominando esse conjunto como itemsets. Elmasri (2005) e Goldschmidt (2005) citam o principio da antimonotonicidade4 para ajudar a reduzir o espao de busca por solues possveis. Os autores salientam a necessidade inicial da definio de valores mnimos para suporte e confiana a serem considerados pelo Apriori.

Uma k-seqncia somente pode ser freqente se todas as suas (k-1)-subseqncia forem freqentes ( GOLDSCHMIDT, 2005).

35

Figura 3.2 Algoritmo Apriori


Fonte: MONGIOVI , 1998

O quadro 3.2 representa um banco de dados D referente s venda de uma loja de calados, com 4 transaes sendo o suporte mnimo de 2 (Smin = 0.5) e confiana mnima (Cmin) 0.8, que ser utilizado para exemplificar as iteraes do algoritmo. Quadro 3.2 Transaes de venda de uma loja de calados Transao 1 2 3 4 Bota Sim No Sim No Meia Bolsa No Sim Sim Sim Sim Sim Sim No Sapato Sim No No No Cinto No Sim Sim Sim

Mongiovi (1998) e Goldschmidt (2005) decompem o algoritmo Apriori em basicamente duas etapas. A primeira delas se caracteriza por encontrar todos os grandes conjuntos de itens freqentes denominados, itemsets (Lk) que satisfaam condio de suporte mnimo (Smin). Sendo o suporte assim calculado: Suporte(X) = Nmero de registros que contm X / Nmero total de registros Na figura 3.3 est representado o grande conjunto (L1), aps o conjunto de candidatos em potencial (C1) ter sido avaliado e excludo os elementos que no possuam o

36

suporte mnimo previamente definido como 2. Nesse exemplo o elemento Sapato no atingiu o suporte mnimo, tendo somente uma venda na transao 1. C1 L1 Itemset Suporte Itemset Suporte Bota 2 Bota 2 Meia 3 Meia 3 Bolsa 3 Bolsa 3 3 Sapato 1 Cinto Cinto 3 Figura 3.3 Conjunto de candidatos em potencial (C1) a grandes itemsets
Fonte: Adaptado de MONGIOVI, 1998

Conjuntos com dois e trs itens tambm so formados a partir de novas iteraes feitas no banco de dados D seguindo o mesmo conceito citado acima para verificar o suporte mnimo. Sendo assim, j possvel gerar os grandes conjuntos como mostra a figura 3.4 e a figura 3.5.

L2 C2 Itemset Suporte Itemset Suporte {Bota, Meia} 1 {Bota, Bolsa} 2 {Bota, Bolsa} 2 {Meia, Bolsa} 2 {Bota, Cinto} 1 {Meia, Cinto} 3 2 {Meia, Bolsa} 2 {Bolsa, Cinto} {Meia, Cinto} 3 {Bolsa, Cinto} 2 Figura 3.4 Grande conjunto de dois elementos
Fonte: Adaptado de MONGIOVI, 1998

L3 Itemset Suporte Itemset {Meia, Bolsa, Cinto} 2 {Meia, Bolsa, Cinto} Figura 3.5 Grande conjunto de trs elementos
Fonte: Adaptado de MONGIOVI, 1998

C3

Suporte 2

A segunda etapa tem o objetivo de gerar as regras de associao a partir de um grande conjunto de itens freqentes (X), com fator de confiana mnimo (Cmin) estabelecido previamente. Sendo as regras de associao assim geradas:

Y X, se suporte(XY) / suporte (X Y) Cmin, ento gera a regra X Y Y,


onde o fator de confiana de uma regra R: X Y, definido como: Confiana = X Y / nmero de registro com X

37

Ainda nessa etapa, o algoritmo trata de fazer o corte (poda) das combinaes que no aparecem na freqncia que foi estipulada anteriormente (Suporte e Confiana). Na figura 3.2 onde o algoritmo apresentado, possvel notar a chamada da funo apriori-gen(Lk-1), que tem por objetivo gerar novos candidatos. De acordo com Mongiovi (1998), a idia deste algoritmo unir os elementos de Lk-1, 2 a 2 e manter apenas aqueles em que todos os seus subconjuntos de tamanho k-1 pertenam a Lk-1. Isso ocorre em dois momentos: juno e poda. Juno: Insert into Ck From Gk-1(p), Gk-1 (q) {elementos p e q de Gk-1} Select p.item1 = q.item1, ..., p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1; Considerando a juno do itemsets apresentados acima, foi gerado o conjunto de regras possveis, conforme mostra figura 3.6. Regra Fator de confiana 1,00 {Bota} Bolsa 0,67 {Bolsa} Bota 0,67 {Meia} Bolsa 0,67 {Bolsa} Meia 1,00 {Meia} Cinto 1,00 {Cinto} Meia 0,67 {Bolsa} Cinto 0,67 {Cinto} Bolsa 1,00 {Meia,Bolsa} Cinto 0.67 {Meia,Cinto} Bolsa 1,00 {Cinto,Bolsa} Meia 0,67 {Meia} Bolsa,Cinto 0,67 {Bolsa} Meia,Cinto 0,67 {Cinto} Meia, Bolsa Figura 3.6 Regras geradas no momento da juno

Poda: A idia da poda eliminar todo c pertencente a Ck tal que algum (k-1) subconjunto de c no pertence a Lk-1. Ck = {c Ck | s c, sLk-1} para todo c Ck faa para todo s c e |s| = k-1 faa Se s Lk-1 ento elimina c de Ck.

38

Aplicando a poda no conjunto de regras possveis que foram geradas conforme mostra figura 3.6 e considerando o fator de confiana mnimo, a figura 3.7 obtida como resultado. Regra Fator de confiana 1,00 {Bota} Bolsa 1,00 {Meia} Cinto 1,00 {Cinto} Meia 1,00 {Meia,Bolsa} Cinto 1.00 {Cinto,Bolsa} Meia Figura 3.7 Regras com confiana acima do mnimo O interesse em pesquisar o algoritmo apriori, aplic-lo na base de dados de uma rede de lojas do setor de varejo caladista, gerando regras de associao para as transaes de vendas. Aps os resultados sero analisados e verificados se estes so aplicveis e trazem informaes importantes para o setor de marketing efetuar campanhas mais eficazes. O exemplo visto anteriormente possui uma quantidade pequena de registros, mas foi til para compreender a aplicao da tcnica de regras de associao.

3.3 Algoritmos de Hierarquias de Classificao Os algoritmos de classificao consistem basicamente em produzir um modelo de classificao, denominado classificador, a partir de um conjunto de registros existentes, para que posteriormente esse modelo seja utilizado para classificar outros exemplos de classe desconhecida (CARVALHO,2000). A ferramenta Weka trabalha com dois algoritmos de classificao sendo eles: J48.J48 que uma verso do algoritmo C4.5 release 8 que foi desenvolvido na linguagem Java para a ferramenta Weka e o J48.PART pertencentes a famlia J48. O algoritmo C4.5 foi substitudo posteriormente pelo C5.0 que uma verso mais recente, disponvel apenas comercialmente (QUINLAN, 1999). O Weka organiza os algoritmos internamente em uma estrutura de pacotes. As implementaes de algoritmos de classificao tais como: Weka.classifiers.J48.J48 e o Weka.classifiers.J48.PART, fazem parte do pacote weka.classifiers. Uma breve descrio desses algoritmos apresentada a seguir.

39

3.3.1 Algoritmo J48.J48 De acordo com Oliveira (2002) o J48.J48 considerado um dos mais conhecido algoritmo do Weka, ele desenvolve um modelo de rvore de deciso que baseia-se num conjunto de dados de treinamento utilizando, posteriormente, esse modelo para classificar outras instncias em um conjunto de teste. Alguns parmetros como o uso de podas na rvore, nmero mnimo de instncias por folha, construo de rvore binria e outros mais, podem ser modificados conforme a tela de parmetros da ferramenta que mostra a figura 3.8, durante o processo de utilizao do algoritmo com o intuito de proporcionar melhores resultados.

Figura 3.8 Tela do Weka para configurao do J48.J48


Fonte: WEKA, 2008

Goldschmidt (2005) define rvore de deciso como um padro de conhecimento onde cada n interno da rvore representa uma deciso sobre um atributo que determina como os dados so particionados pelos seus ns filhos.
[...] Inicialmente, a raiz da rvore contm toda a base de dados com exemplos misturados das vrias classes. Um predicado, denominado ponto de separao, escolhido como sendo a condio que melhor separa ou discrimina as classes. Tal predicado envolve exatamente um dos atributos do problema e divide a base de dados em dois ou mais conjuntos, que so associados cada um a um n filho. Cada novo n abrange, portanto, uma partio da base de dados que recursivamente separada at que cada conjunto associado a cada n folha consista inteiramente ou predominantemente de registros de uma mesma classe. (GOLDSCHMIDT, 2005).

40

Elmasri (2005) acrescenta que o n para particionar as amostras utiliza o atributo com o melhor critrio para separao, ou ainda, aquele que maximiza a medida de ganho de informao. O autor ainda menciona, que o uso de entropia como alcance de ganho de informao motivado, objetivando minimizar nas parties resultantes, os dados de amostra. Conseqentemente, ir minimizar o nmero de testes condicionais para classificar um novo registro.

O clculo da entropia obtido atravs da frmula representada na figura 3.9:

Figura 3.9 Funo da entropia


Fonte: Adaptado ELMASRI, 2005

Onde: A = vj significa que o atributo A tem o valor vj n o nmero de classes diferentes c1,c2,...,cn p(i) a probabilidade de um registro pertencer classe cn

3.3.2 Algoritmo J48. PART O algoritmo J48.PART, segundo Oliveira (2002), uma variao do J48.J48, que a partir da rvore de deciso, constri regras de produo e Mongiovi (1998) acrescenta, que a meta de um gerador de regras, gerar um conjunto mnimo de regras (quantidade e comprimento). Segundo Gonchorosk (2005), para a criao da lista de deciso, o algoritmo utiliza uma rvore j estruturada e realiza a induo de regras, que aps, as regras vo sendo comprovadas ou alteradas. O J48.PART possui uma abordagem de dividir para conquistar pelo fato de que, a cada iterao uma rvore de deciso criada de forma parcial, transformando a melhor folha em uma regra e dessa forma, obter maior ganho de informao (traduo nossa) (Weka, 2008).

41

O mtodo de gerao de regras de produo ocorre em dois estgios: primeiramente as regras so induzidas de uma rvore e o segundo estgio, as regras so refinadas. Para cada regra criada estimada a sua cobertura, atravs de quanto representam em relao aos demais registros da base. Isso ocorre repetidamente at que todas as instncias estejam cobertas a fim de refinar a regra. As regras com coberturas mais altas, sempre em relao quantidade de registros da base, so apresentadas para o usurio e as demais so descartadas (OLIVEIRA, 2002). Da mesma forma que J48.J48, possui parmetros configurveis pela ferramenta Weka, o J48.PART tambm tem parmetros que podem ser modificados, porm em uma quantidade menor conforme mostra figura 3.10 da tela do Weka.

Figura 3.10 Tela do Weka para configurao do J48.PART


Fonte: WEKA, 2008

A ferramenta Weka ainda dispe de mtodos para aumentar o desempenho, que podem ser utilizados juntamente com os algoritmos J48.J48 e o J48.PART, destacando-se os mtodos: Bagging e Boosting, que sero visto na prxima seo.

42

3.3.3 Mtodos Bagging e Boosting De acordo com Oliveira (2002), para a construo de conjuntos de classificadores, o Weka dispe os mtodos de meta aprendizagem. Essas classes so consideradas como aditivos para melhorar os resultados, sendo possvel associar esses mtodos aos algoritmos de aprendizagem (WEKA, 2008). O mtodo Bagging caracteriza-se por: a partir de conjuntos de amostras de dados contnuos e independentes, gerar os classificadores. As amostras so construdas a partir de um conjunto de dados de treinamento. De forma aleatria, m instncias so extradas com substituio a partir do conjunto original, ou seja, caso ocorra repetio de instncias nas amostras. Por default o Weka sugere 10 interaes como mostra a figura 3.11 (OLIVEIRA, 2002) (WEKA, 2008).

Figura 3.11 Tela do Weka para configurao do Bagging


Fonte: WEKA, 2008

J o mtodo Boosting, caracteriza-se por: cada instncia de treinamento recebe um peso associado a ela, onde ao ser induzido o primeiro classificador, todas as instncias recebero o mesmo peso. Aps a primeira induo ser feita, as instncias de treinamento a qual foram atribudas um peso incorretamente, recebero novos pesos baseado nos classificadores que anteriormente foram gerados (OLIVEIRA, 2002).

43

Nos dois mtodos de meta aprendizagem, o algoritmo de aprendizagem que ser utilizado para criar os classificadores definido pelo usurio (WEKA, 2008). Outros mtodos esto disponveis no Weka, porm para este estudo, foram destacados os mtodos de Bagging e Boosting.

3.4 Algoritmo de Clustering (Agrupamento) Os algoritmos de agrupamento ou clustering tem uma caracterstica interessante que o diferencia dos algoritmos de classificao, onde o agrupamento dos registros realizado de acordo com caractersticas semelhantes apresentadas entre os dados. Elmasri (2005) define este processo como aprendizado no supervisionado onde o objetivo colocar os registros em grupos, de forma que os registros de um grupo sejam semelhantes entre si e diferentes dos componentes dos demais grupos. A ferramenta Weka trabalha com alguns algoritmos de clustering, podem ser citados: EM, Cobweb, X-means, FarthestFirst e SimpleKMeans. Sendo este ltimo o que ser utilizado para realizao desse estudo. Segundo Goldschmidt (2005) o algoritmo seleciona aleatoriamente k pontos de dados numricos, que sero definidos como centrides (elementos centrais) dos clusters. Logo aps, cada registro da base atribudo ao cluster em que a distncia deste ponto (registro) em relao ao centride do cluster, seja a menor entre todas as distncias calculadas. A cada iterao, um novo centride atribudo para cada cluster, atravs da mdia dos pontos do cluster, o que ir caracterizar a configurao do cluster para a prxima iterao. Esse processo ser concludo, quando os centrides dos clusters no se modificarem mais ou ainda quando atingir o nmero mximo de iteraes anteriormente parametrizado pelo usurio. O fluxo do funcionamento do algoritmo est exemplificado na figura 3.12.

44

Figura 3.12 O fluxo do funcionamento do algoritmo KMeans


Fonte: Adaptado GOLDSCHMIDT, 2005

O autor ainda salienta que a partir de um parmetro k, um conjunto de n objetos divido em k clusters onde a similaridade intracluster seja alta, mas que a similaridade intercluster, seja baixa. A similaridade de um cluster medida em relao mdia de valores dos objetos que compem o cluster, definido como: centro de gravidade do cluster. As figuras 3.13 e 3.14 ilustram a aplicao do algoritmo em um arquivo com 20 registros de dados considerando o parmetro k = 3.

45

Figura 3.13 Primeiros passos do algoritmo KMeans


Fonte: Adaptado GOLDSCHMIDT, 2005

Figura 3.14 Passos subseqentes do algoritmo KMeans


Fonte: Adaptado GOLDSCHMIDT, 2005

No prximo captulo, ser detalhada a origem dos dados que sero utilizados para esse estudo, assim como sua modelagem e proposta de tratamento.

4 ESTUDO DE CASO

De acordo com Gonchorosk (2005), um estudo de caso uma tcnica empregada, que tem por objetivo realizar algum tipo de estudo e anlise envolvendo uma pesquisa, buscando conhecimento detalhado sobre algo real. Considerando esse conceito, ser feito um estudo sobre a aplicao de minerao de dados no setor de varejo caladista, buscando encontrar informaes que permitam desenvolver campanhas de marketing de forma eficiente e eficaz. O estudo ser feito utilizando os dados de uma grande empresa do setor de varejo caladista. Atualmente, a empresa no se beneficia da utilizao de nenhuma ferramenta de data mining para extrair conhecimento e padres desconhecidos. Toda a informao armazenada na base de dados hoje, obtida atravs das ferramentas convencionais de inferncia de dados, como: utilizao de consultas SQL sendo executas em forma de relatrios pr-definidos ou ainda por consultas especficas solicitadas a rea de TI. Na maioria das vezes, os gestores buscam conhecimento vlido e til, atravs de grandes planilhas geradas a partir das consultas executadas na base. Nas prximas sees, ser detalhada a forma como os dados esto modelados e como sero tratados para realizao desse estudo.

4.1 Modelagem dos dados Para no interferir no ambiente de produo e nem no ambiente de desenvolvimento, foi definido para esse estudo um universo de tabelas que possuem dados sobre clientes, seus volumes financeiros de compra e suas preferncias por tipos de produtos. A base utilizada

47

para aplicao do data mining possui dados de notas fiscais e produtos das notas no perodo de 02/01/2006 a 04/04/2008. Um ambiente isolado foi montado. Ele consiste de um SGBD Oracle 10g instalado e configurado, para onde foram importadas as tabelas e dados pr-selecionados. A ferramenta Weka tambm est instalada nesse mesmo ambiente. Na figura 4.1, apresentado o Modelo Entidade Relacionamento (MER) das tabelas que sero utilizadas para o desenvolvimento desse estudo.

Figura 4.1 Modelo ER dos dados de vendas, clientes e produtos Na figura 4.1 possvel visualizar as tabelas pr-selecionadas que esto basicamente divididas em trs grandes grupos que so: NOTA_VENDA e PRODUTO_NOTA_VENDA que possuem dados sobre as vendas e os produtos envolvidos nelas, CLIENTE, ENDERECO_CLIENTE, CEP, CIDADE e UNIDADE_FEDERATIVA onde constam os atributos de clientes e seus respectivos detalhamentos e por ltimo os dados sobre produtos, que esto armazenados nas tabelas PRODUTO, REFERENCIA_PRODUTO,

48

HIERARQUIA_PRODUTO,

TIPO_PRODUTO,

LINHA,

MARCA,

SECCAO

CLASSIFICACAO_PRODUTO. 4.2 Seleo dos dados Os dados do sistema de origem esto armazenados em uma base relacional. Para aplicar as tcnicas de data mining, poderia se optar por criar uma tabela nica "no normalizada" a partir da juno de todas as tabelas envolvidas ou construir um data mart. Optou-se por criar a tabela no normalizada por considerar este processo mais simples e que atenderia de forma satisfatria as necessidades para a minerao de dados. Uma consulta SQL foi gerada, onde cada tupla conter toda informao necessria para o processamento. Goldschmidt (2005) denomina esse mtodo como juno orientada, onde os atributos e registros foram selecionados prevendo um potencial para influir na minerao. Caracterizando assim, a etapa de seleo de dados. Nessa query um tratamento foi feito para trazer os produtos das notas como colunas do mesmo registro da nota fiscal. Esse processo foi necessrio para conseguir tabular os itens presentes em uma mesma nota e avaliar qual a relao existente entre eles. Foi definido um nmero mximo de 10 produtos, pois em um levantamento prvio, identificou-se que 9 foi o nmero mximo de itens encontrados em uma mesma nota. Nesse momento, foi utilizado o caracter coringa para preencher as colunas das notas fiscais que possuam um nmero de produtos menor que 10, como mostra a figura 4.2.

Figura 4.2 Exemplo de tabela nica com dados de clientes, produtos e caracter coringa Durante o perodo selecionado, foi acumulado um total de 6.233.443 de transaes de vendas, sendo que desse total foram selecionadas as notas de vendas que possussem um nmero maior de dois itens com categorias distintas entre eles. Com esse filtro, obteve-se um

49

total de 219.888 transaes. Segundo Goldschmidt (2005), esse procedimento chamado de segmentao do banco de dados. Outro fator que precisa ser considerado a limitao de memria e demais recursos computacionais utilizados para esse estudo, que no permitiriam trabalhar com um conjunto maior de dados. O processo de data mining exige uma grande disponibilidade de memria RAM e tambm processadores de alta capacidade.

4.3 Pr-processamento Aps a etapa de seleo dos dados, iniciou-se o pr-processamento. De acordo com Schneider (2007), a eliminao de rudos feita nesse momento, preparando a base para a etapa de minerao de dados. Goldschmidt (2005) salienta que a qualidade dos modelos de conhecimento a serem abstrados sofre influncia da qualidade dos dados, justificando essa etapa do processo. Tendo como base a tabela no normalizada gerada na etapa da seleo de dados, identificaram-se os registros que possuam colunas com informaes nulas para que os mesmos fossem excludos, visando com isso eliminao de rudos e limpeza da base. Devido base de dados atual possuir uma estrutura de cadastro de produtos complexa, identificou-se a necessidade de efetuar uma reduo de valores nominais, conforme denominado por Goldschmidt (2005), no atributo referente a categoria do produto. O autor ainda cita que essa operao consiste em reduzir a quantidade de valores distintos em determinados atributos.
Identificao de hierarquias entre valores [...] Por exemplo, considere um conjunto de dados que contenha informaes sobre os produtos vendidos a cada cliente: tnis, sapato, sandlia, bermuda, cala, camisa, palet. Hierarquias podem ser definidas pelo especialista para indicar generalizaes de conceito em relao aos valores existentes: tnis calados, sapato calados, sandlia calados, bermuda roupa, cala roupa, camisa roupa e palet roupa. As trs primeiras generalizaes indicam que tnis, sapato e sandlia so casos particulares de calado. Analogamente, as quatro ltimas generalizaes indicam que bermuda, cala, camisa e palet so casos particulares do conceito roupa. A partir desta especificao, os valores originais podem ser substitudos pelas respectivas generalizaes, reduzindo um domnio de 7 valores distintos, para apenas 2. (GOLDSCHMIDT, 2005).

Reduo ou projeo tambm podem ser definidas como: encontrar caractersticas teis para representar os dados, dependendo do objetivo da tarefa. Com reduo da dimensionalidade ou mtodos de transformao, o nmero efetivo de variveis em estudo

50

pode ser reduzido ou representaes invariantes para os dados podem ser encontrados. (traduo nossa) (Fayyad, 1996, p. 42). Para valores nominais, aceitvel apresentar possveis generalizaes para os valores de cada atributo. Algumas estruturas complexas referente ao produto podem ser citadas como: hierarquia, tipo, classificao, linha e seo do produto, sendo elas necessrias para utilizao e organizao do setor de compras da empresa. Com isso identificou-se um nmero muito diversificado de categorias. Para esse estudo, foi reduzida a quantidade de valores distintos de 248, para apenas 20. Alguns exemplos dessa generalizao so apresentados na figura 4.3.

Figura 4.3 Categorias de produtos reduzidas

Os dados so formatados para que todos estejam com a fonte maiscula e no tenham espaos em brancos entre palavras. Por exemplo, se o dado original Sapato Masc, o dado passa a ser formatado para SAPATO_MASC, para padronizar o formato e facilitar a etapa de transformao que ser executada aps o pr-processamento. A etapa de transformao onde os dados de entrada sero recebidos do prprocessamento. Como essa etapa trata os dados de forma especfica para aplicao de cada algoritmo, ser abordado nos prximos captulos de forma detalhada com aplicao para os algoritmos objetos desse estudo.

4.4 Algoritmos a serem estudados Os algoritmos que sero utilizados para esse estudo sero os de associao e de classificao e tambm a utilizao dos algoritmos de meta aprendizagem Bagging e Boosting. Objetiva-se identificar padres de compras dos clientes, referente relao existente entre diferentes tipos de produtos que normalmente ocorrem na mesma transao.

51

Atravs desse tipo de extrao de conhecimento, podero ser aperfeioadas as campanhas de marketing, alm de permitir efetuar o reabastecimento (compra) dos produtos em propores semelhantes e ainda efetuar a aproximao dos mesmos dentro da rea de venda da loja. Ns prximos captulos ser apresentado o funcionamento dos algoritmos bem como a execuo e resultados obtidos quando aplicados base de dados que foi preparada.

5 ALGORITMO DE ASSOCIAO

Como o objetivo do trabalho identificar a associao existente entre os produtos que fazem parte de uma mesma nota fiscal de venda, pesquisou-se o funcionamento do algoritmo Apriori utilizado pela ferramenta Weka. Alguns testes iniciais foram feitos com intudo de buscar um maior conhecimento prtico da ferramenta juntamente com as particularidades dos parmetros utilizados pelo Apriori, para posteriormente efetuar a anlise na base de dados real de uma grande empresa de varejo caladista. Este captulo descreve a transformao dos dados necessria para aplicao do algoritmo de associao, os parmetros utilizados pelo Weka e tambm os resultados obtidos como resultado da execuo.

5.1 Transformao dos Dados A etapa de transformao tem a finalidade de modificar e formatar os dados para gerao do arquivo arff conforme j apresentado anteriormente. Em um primeiro momento, ocorreram dificuldades em relao forma de estruturar os dados dentro do arquivo arff, pois a construo da ferramenta exige que os atributos sejam informados em sua totalidade. Ou seja, considerando que o arquivo possui doze atributos, necessrio que na sesso @data contenha doze colunas de dados separados por vrgula. Em um cenrio real, no sero todas as notas de vendas que tero o mesmo nmero de registro sendo necessria a utilizao de um recurso denominado como o caracter coringa apresentado por Frank (2008) em seus exemplos. O caracter coringa o sinal de interrogao (?) e serve para indicar ao algoritmo a falta de informao para aquela coluna do registro. A utilizao desse coringa pouco citada na literatura e arquivos disponveis na web.

53

Aps os dados terem sido recebidos da etapa de pr-processamento, foi executada uma query na tabela no normalizada gerada anteriormente. Os dados foram formatados para gerar o arquivo .arff com toda sua estrutura e no formato exigido para realizar a minerao utilizando o algoritmo de associao Apriori conforme mostra a figura 5.1.

Figura 5.1 Arquivo Arff gerado na etapa de transformao para o Apriori Na prxima seo, ser detalhado o funcionamento e parmetros utilizados pelo Weka na execuo do algoritmo de associao Apriori e tambm os testes iniciais feitos para buscar um maior conhecimento na forma de apresentao dos resultados.

5.2 Parametrizaes e Testes de Funcionamento Antes de utilizar a ferramenta e o algoritmo para fazer a minerao dos dados, foi necessrio conhecer melhor o funcionamento do algoritmo de associao do Weka, bem como, identificar as parametrizaes existentes e seu impacto no funcionamento. Para realizao dos testes de funcionamento, foi utilizada a base de dados de exemplo citado anteriormente nesse trabalho no quadro 3.2. A figura 5.2 apresenta o arquivo arff que foi gerado manualmente para validar os resultados.

54

Figura 5.2 Arquivo Arff baseado no exemplo base de dados Na figura 5.3 pode-se observar os parmetros do algoritmo Apriori no Weka.

Figura 5.3 Parmetros do algoritmo Apriori Os parmetros do algoritmo Apriori do Weka (figura 5.3) so (WEKA, 2008): delta iterativamente diminui o suporte por esse fator. Reduz o suporte at que o mnimo seja atingido ou o nmero de regras exigidas tenha sido gerado; lowerBoundMinSupport limite inferior para o suporte mnimo; metricType define o tipo de mtrica pela qual as regras sero classificadas. Que podem ser, confiana, lift, alavancagem e convico;

55

minMetric pontuao mnima da mtrica escolhida. Considerar apenas regras com pontuaes superiores a este valor. No exemplo da figura 5.3, considerou-se a mtrica de confiana com pontuao mnima de 0.8;

numRules nmero desejado de regras encontrar; outputItemSets se ativado, os elementos que compem os itemsets sero tambm apresentados na rea de output;

removeAllMissingCols remove as colunas com valores em falta; significanceLevel o nvel de significncia. Significncia teste (apenas utilizado quando a mtrica de confiana for selecionada);

upperBoundMinSupport limite superior para suporte mnimo. Inicia iterativamente de forma decrescente o apoio mnimo a partir deste valor;

verbose se ativado o algoritmo ser executado em modo verboso/detalhado (demasiadamente grande em palavras que pouco exprimem);

Submeteu-se ento o arquivo arff apresentado na figura 5.2 para validar os resultados gerados a partir da base de dados exemplo, que contm quatro transaes. Atribuiu-se na tela de parmetros do algoritmo um suporte mnimo de 0.5 e confiana mnima de 0.8. Na figura 5.4 apresentado o resultado da execuo do Apriori. Nota-se que foram gerados 3 grandes conjuntos de dados (itemsets), o L1 com 4 elementos, L2 tambm com 4 e L3 com apenas 1. Logo abaixo so apresentadas as regras encontradas que satisfizeram os parmetros informados.

56

Figura 5.4 Sada da execuo do Apriori Segundo Santos (2005), possvel efetuar outra formatao para o arff a ser utilizado pelo algoritmo de associao Apriori. O formato considera SIM para identificar que houve a venda de determinado produto e NAO para situao em que no houve venda. Essa uma opo que no utiliza o caracter coringa ?. Nesse exemplo foram consideradas as mesmas quatro transaes do exemplo anterior. Na figura 5.5 apresentada a nova estrutura do arquivo arff.

Figura 5.5 Nova formatao do arquivo Arff

57

A figura 5.6 mostra o resultado gerado pela execuo do Apriori utilizando o novo arquivo arff. Para esse exemplo foram mantidos os mesmos parmetros para suporte mnimo de 0.5 e confiana mnima de 0.8. Notou-se que um nmero maior de itemsets foi gerado e ainda uma quantidade muito maior de regras foi gerada, pois para os produtos que no houve venda e esto com atributo igual a NAO, tambm foram geradas regras para essa situao.

Figura 5.6 Nova sada da execuo do Apriori Constatou-se com esse exemplo, que os mesmos resultados foram obtidos, porm com um grau maior de dificuldade no momento de encontrar as regras vlidas e utilizveis. A figura 5.7 referente a tela de sada do arquivo de retorno do exemplo, onde mostra as mesmas regras que foram encontradas de forma simplificada com a utilizao do caracter coringa ?. Em todas as demais regras geradas, encontrou-se a associao com o atributo NAO.

58

Figura 5.7 Novas regras geradas na execuo do Apriori Esses testes foram feitos, para validar atravs do Weka o exemplo citado na seo 3.2 desse trabalho, onde exemplificou-se de forma detalhada o funcionamento do algoritmo Apriori. Aps a verificao dos resultados obtidos nessa etapa, pode-se comprovar e ratificar o conceito anteriormente estudado. Dessa forma gerou-se uma maior segurana na validao dos resultados que sero apresentados na prxima seo referente minerao de dados. Ainda na prxima seo, ser apresentado a forma como o arquivo gerado .arff, foi submetido a ferramenta Weka para processamento do algoritmo Apriori.

59

5.3 Minerao do Dados

Aps efetuar a preparao dos dados e gerao do arquivo arff, o arquivo foi submetido a minerao atravs do algoritmo de associao Apriori implementado pela ferramenta Weka, utilizando a interface explorer (citada anteriormente na seo 3.1), por permitir uma fcil utilizao dos recursos disponveis. Aps selecionar o arquivo .arff anteriormente gerado, so apresentadas algumas informaes sobre os atributos contidos no arquivo. Uma representao grfica tambm gerada com objetivo de visualizar um resumo sobre cada atributo e tambm informaes sobre a quantidade que os mesmos se repetem conforme mostra a figura 5.8.

Figura 5.8 Representao grfica de resumo sobre cada atributo Primeiramente o arquivo .arff foi submetido a execuo do algoritmo Apriori

utilizando os parmetros default conforme sugerido pela ferramenta. O parmetro de confiana mnima inicialmente possui valor de 0.9 que representa um fator de confiana maior ou igual a 90%. Com essa configurao o algoritmo encontrou trs grandes itemsets

60

porm no encontrou nenhuma regra que possusse os fatores mnimos de confiana inicialmente selecionado. A partir desse resultado, foi alterado o fator mnimo de confiana para 0.5 e tambm o parmetro referente ao nmero de regras gerado foi aumentado de 10 para 20. Os outros parmetros foram mantidos e aps isso foi iniciado o processamento novamente. O resultado, como mostra a figura 5.9, tambm gerou trs grandes itemsets e um total de 17 regras que atenderam o novo fator mnimo de confiana passado como parmetro.

Figura 5.9 Resultado da nova execuo do Apriori Fator confiana alterado Nessa etapa do processo, os resultados foram apresentados e analisados na tentativa de encontrar a associao entre os produtos que compem as transaes de vendas. Tendo como base a figura 5.9 possvel perceber que as regras que tiveram um percentual maior de confiana, foram as regras 1 e 2 com fator 0.81. A regra (1) indica que a compra de tnis pode levar a compra de meia e a regra (2), que a compra de sapato masculino, pode tambm levar a compra de meia. Considerando que para utilizar um sapato ou ainda um tnis necessria a

61

utilizao de um par de meias, percebeu-se que os resultados apresentados foram de certa forma muito bvios. Outro fator que gera essa distoro o baixo valor da meia quando comparado com outros produtos, o que propcia um maior volume de vendas desse produto. Analisando os dados estatsticos apresentados pela ferramenta Weka conforme mostra a figura 5.10, nota-se que o produto meia encontra-se em um grande nmero de transaes e em uma quantidade alta se comparada com os outros produtos.

Figura 5.10 Grfico estatstico da quantidade de produtos Como foi citado anteriormente, o processo de descoberta de novos conhecimentos interativo e iterativo e composto por etapas seqenciais (FAYYAD, 1996). Conforme citado por Goldschmidt (2005) interativo por indicar a necessidade de envolvimento do homem controlando o processo e iterativo por sugerir a possibilidade de repeties total ou parcial do processo buscando conhecimento satisfatrio por meio de refinamentos sucessivos. Com base nesses conceitos, optou-se por gerar a consulta novamente com base na tabela no normalizada, tirando o produto meia, com intudo de identificar a associao existente entre os outros produtos. Nessa nova consulta foi feita uma decodificao na seleo dos dados, para que em cada tupla retornada, o produto meia fosse substitudo pelo caracter coringa ?. A partir dessa nova consulta, um novo arquivo .arff foi gerado.

62

Os parmetros do algoritmo foram mantidos os mesmos que foram utilizados para a validao anterior. O fator mnimo de confiana ficou em 0.5 e o parmetro referente ao nmero de regras geradas em 20. O resultado, como mostra a figura 5.11, gerou dois grandes itemsets e um total de quatro regras que atenderam o fator de suporte e confiana passado como parmetro.

Figura 5.11 Resultado da nova execuo do Apriori sem produto meia Tendo como base a figura 5.11 possvel perceber que mesmo sem o produto meia, no se obteve nenhum novo conhecimento, no gerando um resultado satisfatrio. Nenhuma associao entre os produtos foi apresentada. Em busca da obteno de novos conhecimentos, no prximo captulo, o mesmo arquivo arff ser minerado pelo algoritmo classificador J48 tambm implementado pela ferramenta Weka.

6 ALGORITMO DE CLASSIFICAO

Uma das propostas iniciais desse trabalho identificar o comportamento de alguns dos algoritmos implementados pelo Weka, buscando identificar qual dos algoritmos analisados possui uma maior aderncia a base de dados de uma empresa do setor de varejo caladista. Como descrito no captulo anterior, o Apriori no apresentou um resultado satisfatrio. Nesse captulo ser descrita a anlise e resultados apresentados pelo algoritmo de classificao J48. Os mtodos de meta aprendizagem Bagging e Boosting disponveis no Weka, tambm sero aplicados e descritos nesse captulo.

6.1 Transformao dos Dados Na etapa de transformao dos dados para gerar o arquivo arff a ser submetido ao processamento do algoritmo classificador J48, algumas mudanas foram feitas em relao ao arquivo gerado para o algoritmo de associao Apriori. A tabela no normalizada recebeu a adio de 20 novas colunas com os nomes de cada categoria de produto existente na base. Essa operao denominada por Goldschmidt (2005), como construo de atributos. O autor ainda justifica sua utilizao, pela reduo do conjunto de dados tornando o processamento do algoritmo mais simplificado, alm de agregar ao problema informaes que sejam teis ao processo de minerao. Aps as colunas serem adicionadas, foi executado um script em PL/SQL que a partir das colunas produto1 at produto10 identificava qual categoria de produto estava armazenado e atribua o valor SIM a coluna com o nome da respectiva categoria onde se caracterizava uma venda do produto referido. As colunas foram inicializadas com valor NAO, sendo alterado para SIM quando uma categoria era identificada no registro. Optou-se por essa

64

transformao, por ter gerado um modelo mais simples de avaliar os resultados durante a aplicao de teste inicial. Conforme mostra a figura 6.1, aps o trmino da execuo do script, os dados foram selecionados considerando as novas colunas adicionadas a tabela contendo a informao SIM representando uma venda daquele produto e NO caso o produto no tenha sido adquirido na mesma nota de compra.

Figura 6.1 Arquivo Arff gerado na etapa de transformao para o J48 Testes iniciais foram feitos com objetivo de conhecer as particularidades e parmetros utilizados pelo J48 e pelos mtodos de meta aprendizagem, para posteriormente efetuar a anlise na base de dados real de uma grande empresa de varejo caladista.

6.2 Parametrizaes e Testes de Funcionamento Para realizao dos testes iniciais, foi utilizada uma quantidade reduzida de 100 registros que foram selecionados de forma aleatria da base real que ser analisada posteriormente. O primeiro teste foi realizado com os parmetros default do Weka, apresentados na figura 6.2.

65

Figura 6.2 Parmetros do algoritmo J48

Os parmetros do algoritmo J48 do Weka (figura 6.2) so (WEKA, 2008): binarySplits relevncia para usar diviso binria sobre atributos nominais para construir as rvores; confidenceFactor o fator confiana utilizado para a poda (valores menores, indicam maior poda); debug essa opo quando alterada para verdadeiro (true), apresenta informaes adicionais sobre a execuo do algoritmo; numMinObj serve para informar o nmero mnimo de instncias por folha;

66

numFolds determina a quantidade de dados utilizados para a reduo de erro na poda. Uma dobra (ou fold) utilizada para a poda e o restante para o cultivo da rvore;

reducedErrorPruning serve para ativar ou no a reduo de erros na poda; saveInstanceData determina se os dados de treinamento devem ser salvos para posterior visualizao;

seed parmetro que informa o nmero de sementes que sero selecionadas aleatoriamente quando for utilizado o parmetro de reduo de erros na poda;

subTreeRaising informa se uma operao para substituir o n interno da rvore por um dos ns que esto abaixo deve ser utilizada. Esta uma ao utilizada no momento da poda;

unpruned no utilizar poda; useLaplace conta o nmero de folhas excludas suavizadas pela base de Laplace, que um mtodo simples para transformar um Problema com Valores Iniciais (PVI), em uma equao algbrica, de modo a obter uma soluo deste PVI de uma forma indireta, sem o clculo de integrais e derivadas para obter a soluo geral da Equao Diferencial (SODR, 2003, p. 1, apud GONCHOROSK, 2005); O algoritmo J48 utiliza um processo de aprendizado supervisionado conforme

definido por Elmasri (2005), onde o primeiro modelo gerado a partir de um conjunto de treinamento que foi anteriormente classificado. Alm dos parmetros apresentados na figura 6.2, a ferramenta permite definir algumas configuraes sobre o conjunto de testes que ser utilizado. Como mostra a figura 6.3, possvel escolher um conjunto de treinamento ou ainda ativar a validao cruzada e o percentual de separao, que serve para determinar o tamanho do conjunto de dados que sero separados para a gerao de novos classificadores (1) (WEKA, 2008). Conforme citado por Goldschmidt (2005), caso o conjunto de treinamento no seja suficientemente representativo, o classificador pode ter bom desempenho apenas no conjunto de treinamento, mas no no conjunto de testes. Esse fenmeno definido pelo autor como overfitting onde o classificador ajustou-se em excesso ao conjunto de treinamento. O autor ainda fala do fenmeno de underfitting que a situao oposta, onde o classificador ajusta-se pouco ao conjunto de treinamento. Esse fenmeno tende a ocorrer em funo de

67

parametrizaes imprprias do algoritmo de aprendizagem ou ainda um volume grande de variveis.

1 5 3 2

Figura 6.3 Parmetros e resultados dos testes iniciais A figura 6.3 tambm mostra o resultado gerado com base no arff contendo o nmero reduzido de registros. Para o teste inicial, foi utilizado o atributo alvo ESTADO_CIVIL para que a rvore fosse gerada a partir dele (2). Na tela de resultados so apresentadas algumas informaes sobre a quantidade e percentual de instncias que foram classificadas corretamente, as que foram incorretamente classificadas e ainda informaes sobre os erros gerados durante a classificao (3). No final da pgina de resultado, uma matriz de confuso apresentada (4). Segundo Goldschmidt (2005), essas matrizes servem para fornecer um detalhamento do desempenho e qualidade do modelo de classificao. O weka apresenta tambm uma representao grfica da rvore de classificao que foi gerada atravs da induo dos dados ao algoritmo classificador (5). Com os parmetros default do weka para o J48, verificou-se que 59% das instncias foram corretamente classificadas. A opo binarySplits que serve para ativar a diviso binria quando atributos nominais so utilizados, foi alterada para true, mas os resultados se mantiveram os mesmos. Quando o parmetro para reduo de erros na poda (reducedErrorPruning) foi alterado para true o nmero de instncias corretamente classificadas baixou para 48%. Como

68

visto anteriormente, o parmetro numFolds est diretamente relacionado com o reducedErrorPruning, ento optou-se em aument-lo de 3 para 4 para aumentar o nmero de folhas utilizadas na reduo de erros o que passou para 53% a quantidade de instncias classificadas corretamente. Outros parmetros como o seed, que informa o nmero de sementes que sero selecionadas no momento da reduo de erros na poda tambm foram alterados, mas o melhor resultado foi obtido com os parmetros default do Weka conforme mostra a figura 6.4.

2 3

Figura 6.4 Classificao obtida nos testes iniciais A figura 6.4, no item marcado como (1), tambm apresenta a rvore de classificao gerada a partir do algoritmo classificador J48. Interpretando o resultado apresentado na figura, possvel identificar que clientes do sexo masculino e solteiros, compram calados femininos, porm no costumam comprar chuteiras, com 20% de acerto (2). Outro grupo de cliente apresentado no resultado do sexo feminino, onde aparece uma relao entre a compra

69

de sapato feminino e bolsa para as clientes com estado civil igual a solteiro, com 33,33% de acerto e as casadas no costumam comprar os dois produtos juntamente na mesma nota de compra, com 28,58% de acerto (3). O arquivo a ser submetido minerao foi gerado com um total de 219.888 instncias ou registros referentes s notas de vendas armazenadas. Na prxima seo, ser detalhada a forma como os dados foram submetidos minerao, utilizando o algoritmo de classificao J48 e tambm a interpretao dos resultados apresentados. 6.3 Minerao do Dados

Aps efetuar a preparao dos dados e gerao do arquivo arff, o arquivo foi submetido minerao atravs do algoritmo classificador J48. Da mesma forma que o algoritmo de associao Apriori, utilizou-se a interface explorer para execuo do algoritmo. Como na fase inicial de teste os parmetros default apresentaram o maior percentual de classificao, optou-se por submeter o arquivo ao J48 com os parmetros sugeridos pela ferramenta. Nas opes do conjunto de treinamento, foi selecionado o item cross-validation com o valor inicial de 10 folds sugerido pela ferramenta. O atributo ESTADO_CIVIL foi selecionado para ser o alvo sendo utilizado como base para gerao da rvore. O processamento do algoritmo utilizando 10 folds para o cross-validation levou 9 minutos e 29 segundos desde o inicio at o fim da execuo conforme apresentado na figura 6.5 item (1). Seguindo o exemplo de Gonchorosky (2005), o nmero de folds foi alterado para 2, pois o mnimo que a ferramenta permite e os resultados se mantiveram praticamente os mesmos, com uma pequena variao no percentual de instncias corretamente classificadas, porm com uma reduo considervel no tempo de execuo, levando um total de 1 minuto e 36 segundos (2).

70

Figura 6.5 Resultados estatsticos da execuo do J48 atributo alvo estado civil Com base nos resultados semelhantes apresentados na execuo do J48 com valor de 2 ou 10 atribudos ao parmetro folds, optou-se por efetuar as anlises informando apenas 2 folds, por executar o processamento em um tempo menor. A rvore foi gerada inicialmente com tamanho igual a 325 com 163 folhas como apresenta a figura 6.6 no item marcado como (1). Analisar a rvore gerada e identificar um novo conhecimento potencialmente utilizvel tornou-se uma tarefa rdua, em decorrncia grande extenso tanto em sua altura, quanto em sua largura. Para facilitar essa anlise e identificao das regras relevantes, foi necessrio separar alguns pontos considerados mais interessantes.

71

2 3

Figura 6.6 rvore de classificao do J48 atributo alvo estado civil Na figura 6.6 marcada como item (2), algumas relaes entre produtos adquiridos na mesma nota fiscal foram classificadas. Pode-se observar que clientes do sexo masculino casados, compraram na mesma transao, sapato feminino, bola e confeco feminina, com 26,32% de acerto. Outra relao interessante tambm apresentada, que o mesmo perfil de cliente, masculino e casado, tende a comprar sapato feminino, bola, confeco masculina e sapato masculino, com 28,57% de acerto. J os clientes masculinos, porm solteiros, apresentaram uma relao entre sapato feminino, bola, confeco masculina e tnis, com 46,15% de acerto. No item marcado como (3), outro perfil interessante apresentado, clientes do sexo feminino com estado civil igual a solteiro, compram cinto, bota e bolsa no mesmo cupom fiscal, com 50% de acerto. Ainda com esse perfil de cliente, possvel destacar a relao existente entre os itens cinto, bota e acessrios unisex, com 36,84% de acerto. Importante destacar que com a minerao de dados houve a confirmao de vrios padres j conhecidos como, homens solteiros que compram bola e acessrio esporte, os quais no foram destacados no trabalho, visto que o objetivo descobrir novos padres. Conforme apresentado anteriormente na figura 6.5, o percentual de instncias classificadas corretamente ficou baixo, em apenas em 47,73 %. Com objetivo de buscar um percentual maior, foi alterado o parmetro confidenceFactor, que o fator de confiana utilizado para a efetuar a poda, para 0.20 e o percentual se manteve o mesmo, porm com diminuio do tamanho da rvore para 205 com 103 folhas. Uma nova tentativa foi feita,

72

agora alterando o parmetro reducedErrorPruning para true com intuito de reduzir os erros na poda, porm no foi obtido sucesso pelo fato do percentual ter se mantido o mesmo. Nessa ltima execuo a rvore foi gerada com um tamanho de 1213 com total de 607 folhas. Uma nova execuo do algoritmo foi iniciada, porm o atributo alvo utilizado foi alterado para o SEXO e no mais o ESTADO_CIVIL. O resultado desse processamento foi mais satisfatrio que o anterior, pois um total de 70,15% das instncias foram classificadas corretamente como mostra a figura 6.7. Para essa validao, foram mantidos os parmetros default da ferramenta e tambm o nmero de folds foi mantido a quantidade de dois, conforme validao anterior.

Figura 6.7 Resultados estatsticos da execuo do J48 atributo alvo sexo Com base na nova rvore de classificao gerada, uma nova anlise tornou-se necessria na busca por novos conhecimentos utilizveis. O processamento do algoritmo utilizando 2 folds para o cross-validation levou 44 segundos para execuo, conforme apresentado na figura 6.8 item (1). Conforme citado por Goldschmidt (2005) o tempo de processamento tende a ser menor, quanto menor o nmero de variveis do atributo. A rvore foi gerada inicialmente com tamanho igual a 214 com 112 folhas como apresenta a figura 6.8 no item marcado como (2).

73

Figura 6.8 Informaes sobre execuo do J48 com atributo alvo sexo Para apresentar a rvore obtida como resultado do processamento do algoritmo, foi adotado o mesmo critrio anterior de separao dos pontos considerados com maior relevncia para facilitar a visualizao das regras classificadas. A figura 6.9 item (1) apresenta uma relao interessante entre produtos adquiridos na mesma nota fiscal. Pode-se observar que clientes do sexo masculino, compraram na mesma transao, bola, sapato feminino e sandlia. O item sandlia pode ser masculino ou feminino, pois esse item no est classificado de forma distinta.

Figura 6.9 rvore de classificao do J48 atributo alvo sexo Com base na figura 6.9 marcada como item (2), pode-se salientar o perfil de clientes do sexo feminino com estado civil igual a solteiro, compram confeco masculina, bota e acessrio unisex na mesma nota. Ainda na mesma figura, marcada como item (3), outra relao interessante apresentada, onde clientes do sexo feminino compram sandlia e chinelo na mesma transao de venda. Importante salientar, que essas classificaes no tinham sido evidenciadas no processamento anterior, onde o atributo alvo utilizado foi o ESTADO_CIVIL.

74

Figura 6.10 Classificao obtida com atributo alvo distintos J a figura 6.10, apresenta a mesma classificao identificada anteriormente, onde evidencia clientes do sexo feminino que compram cinto, bota e bolsa no mesmo cupom fiscal. Vale salientar que o nmero de instncias classificadas corretamente com o atributo alvo SEXO passou para 37 contra as 24 instncias do atributo alvo ESTADO_CIVIL. Nessa etapa, o parmetro confidenceFactor, tambm foi alterado para 0.20 e o percentual de classificaes corretas se manteve o mesmo, da mesma forma ocorreu com a alterao do parmetro reducedErrorPruning para true onde o percentual se manteve o mesmo, com alteraes apenas em relao a altura e largura da rvore. Buscando um maior percentual de instncias classificadas corretamente e tambm a descoberta de novos conhecimentos diferentes dos j obtidos, nas prximas sees, ser avaliado o comportamento dos mtodos de meta aprendizagem bagging e boosting disponveis na ferramenta Weka. A utilizao desses mtodos em outros trabalhos como o Gonchorosky (2005), que obteve um ganho significativo no percentual de instncias classificadas corretamente, motivou o emprego desses mtodos na base utilizada para esse trabalho buscando melhores resultados como os obtidos pelo autor.

6.4 Validao Bagging O mtodo bagging, tem a funo de aumentar o desempenho de um algoritmo classificador e tambm sua capacidade de gerao de regras, construindo classificadores a partir do conjunto de amostra, que de forma independente e sucessiva so processadas. Uma

75

diferena em relao ao J48 est no nmero de sementes que utilizado, pois o bagging define um nmero aleatrio de sementes para gerar o conjunto de reamostragem (GONCHOROSKY, 2007). Nesse trabalho, foi utilizado o algoritmo J48 incorporado ao mtodo Bagging implementado pelo Weka . A primeira execuo foi efetuada com os parmetros default do algoritmo e apresentou um resultado de 70.09% de instncias classificadas corretamente. Em comparao com a execuo direta do J48, que obteve um percentual de 70.15, os resultados gerados foram semelhantes. Os dados foram submetidos novamente ao algoritmo, porm o parmetro seed, que segundo Weka(2008), serve para definir o nmero aleatrio de sementes a ser utilizada, foi alterado de um para dois. O resultado dessa nova execuo tambm se manteve semelhante a execuo direta do J48, tanto em relao as regras geradas, quanto ao percentual de 70.11 instncias corretamente classificadas conforme mostra a figura 6.11.

Figura 6.11 Resultado estatstico do mtodo Bagging

6.5 Validao Boosting Segundo Weka (2008), o mtodo Boosting serve para impulsionar um classificador nominal, onde apenas problemas de classes nominais podem ser resolvidos. Conforme

76

Gonchorosk (2005), no mtodo Boosting inicialmente todas as instncias so geradas com um peso igual. Cada instncia classificada como erro na primeira induo tem o seu peso alterado, tendo como base os classificadores anteriormente construdos atravs de reponderao. Para esse estudo, foi utilizado o mtodo AdaboostM1 implementado pelo Weka. A primeira execuo foi efetuada com os parmetros default do algoritmo e obteve-se um resultado de 69.77% de instncias classificadas corretamente, gerando um resultado semelhante a execuo direta do J48, que alcanou um percentual de 70.15. Importante salientar que alm de no ter classificado corretamente um maior percentual de instncia, o processo de anlise tornou-se muito oneroso e lento, pois o parmetro numIterations que define o nmero de iteraes que ser executado pelo mtodo, possui valor default de 10, fazendo com que 10 rvores fossem geradas, cada uma possuindo um peso diferente. Uma nova execuo foi iniciada, porm com o parmetro useResampling alterado para true. Esse parmetro serve para utilizar o processo de reamostragem ao invs de utilizar a reponderao (WEKA, 2008). O resultado dessa nova execuo gerou um percentual de 69.70 de instncias classificadas corretamente como mostra a figura 6.12, sendo, ainda menor que o resultado de 69.77% alcanado na execuo anterior.

Figura 6.12 Resultado estatstico do mtodo Boosting

77

Segundo Weka (2008), muitas vezes a utilizao do Boosting melhora significativamente o desempenho, mas por vezes, pode ocorrer overfitting devido ao grande nmero de variveis, o que faz o classificador ajustar-se em excesso ao conjunto de treinamento perdendo a capacidade de generalizao. Essa citao justifica a diferena de resultados obtidos no exemplo do trabalho do Gonchorosk (2005) em relao aos resultados obtidos nesse trabalho.

6.6 Aplicao em Perodo Sazonal Em uma conversa informal com o especialista de marketing juntamente com o analista de negcio da rea, tendo como objetivo a discusso dos resultados obtidos com a minerao, foi sugerido analisar um perodo sazonal. A partir dessa sugesto uma base de dados foi preparada buscando identificar as caractersticas de consumo dos clientes de um perodo especfico do ano. Para o varejo, algumas datas comemorativas, como natal, dia das mes, dia dos pais e tambm o dia dos namorados, representam um volume maior de venda. Para fazer essa anlise, foi sugerido o dia dos namorados, selecionando os dados referentes ao perodo de 20/05 a 12/06 dos anos de 2006 e 2007. Uma nova tabela no normalizada foi gerada com um total de 13.687 transaes. A partir dessa tabela, um novo arquivo com extenso arff foi gerado. Logo aps os dados foram submetidos aplicao do J48 com todos os parmetros default utilizando o atributo ESTADO_CIVIL como atributo alvo. Como apresentado na anlise anterior, o atributo alvo ESTADO_CIVIL apresentou um percentual baixo de instncias corretamente classificadas se comparado com o atributo alvo SEXO. O parmetro reduceErrorPruning foi ento alterado para true buscando um maior percentual de classificao correta. Mesmo aps a alterao do parmetro, o percentual de classificao se manteve baixo como mostra a figura 6.13.

78

Figura 6.13 Resultado estatstico do perodo sazonal com atributo alvo ESTADO_CIVIL

Aps a execuo do algoritmo, algumas regras interessantes podem ser relacionadas para o perodo de data proposto. A figura 6.14 marcada com item (1) apresenta o perfil de clientes casados que compram confeco feminina. No item (2) aparecem os clientes casados que compram acessrio esporte e botas na mesma NF.

Figura 6.14 Resultados 1 do perodo sazonal com atributo alvo ESTADO_CIVIL

79

Ainda na figura 6.14 duas regras podem ser destacadas para clientes masculinos e solteiros. Marcada com o item (3), aparecem os clientes solteiros que compram sapato feminino e bola na mesma NF e no item (4), apresenta os clientes solteiros que compram chuteira, tnis e bolsa na mesma NF. Na figura 6.15, algumas regras interessantes so destacadas para clientes do SEXO feminino considerando o mesmo perodo sazonal. O item (1) apresenta o perfil de clientes solteiras que compram confeco feminina e chuteira na mesma NF. J o item (2) mostra as clientes casadas que adquirem bola de futebol. No item marcado como (3), aparece o perfil de clientes solteiras que compram bolsa e chuteira na mesma NF e tambm as que compram bolsa e confeco masculina na mesma transao de compra. 1

Figura 6.15 Resultados 2 do perodo sazonal com atributo alvo ESTADO_CIVIL

Com base nos resultados apresentados anteriormente, onde foi obtido um percentual maior de instncias corretamente classificadas com a utilizao do atributo SEXO como atributo alvo, uma nova anlise foi efetuada com esse atributo. Primeiramente o algoritmo foi executado com os parmetros default, gerando uma rvore de apenas uma folha. Uma nova execuo foi efetuada, agora alterando o parmetro reduceErrorPruning para true o que apresentou um resultado satisfatrio com um percentual de 70.94 de instncias corretamente classificadas como mostra a figura 6.16.

80

Figura 6.16 Resultado estatstico do perodo sazonal com atributo alvo SEXO Algumas regras interessantes foram obtidas aps a execuo do algoritmo. Como mostra a figura 6.17 marcada com item (1), apresenta o perfil de clientes do sexo masculino e casados compram sapato feminino e chuteira, j no item (2) aparecem os homens casados que compram botas, tnis e bolsa na mesma NF.

Figura 6.17 Resultados 1 do perodo sazonal com atributo alvo SEXO

81

A figura 6.18 apresenta um perfil interessante de clientes do sexo feminino e solteira que compram confeco masculina e tambm outro perfil com as mesmas caractersticas quanto a sexo e estado civil, que compram chuteira.

Figura 6.18 Resultados 2 do perodo sazonal com atributo alvo SEXO Esta relao entre a compra de chuteiras por esse perfil de cliente, j foi mencionada na anlise feita considerando o atributo alvo estado civil, porm associado com outros produtos. Dessa forma torna mais evidente, a escolha do produto chuteira pelas clientes do sexo feminino, para presentear namorados nessa data comemorativa escolhida para anlise. Importante salientar que as regras destacadas nesse trabalho, foram consideradas no bvias, pois outras regras j conhecidas como, mulheres casadas que compram sapato feminino e bolsa na mesma nota fiscal, no foram citadas. Com essas regras pode-se comprovar que esse comportamento j conhecido de fato ocorre nas transaes de vendas.

CONCLUSO
A partir da reviso bibliogrfica e das validaes prticas feitas para esse estudo, foi possvel compreender os ganhos competitivos que uma empresa de varejo caladista pode obter, atravs da garimpagem e extrao de conhecimento do seu volumoso banco dos dados. Volume esse que gerado, durante os dias de funcionamento de cada loja, onde ocorrem centenas de transaes de vendas, refletindo o perfil do seu pblico consumidor. Considerando o setor de varejo, que trabalha com margens de lucros reduzidas, a utilizao de ferramentas e tcnicas de data mining, pode representar um aumento de competitividade frente a seus concorrentes. Para que as tcnicas de data mining fossem aplicadas, as etapas anteriores do processo de KDD como: seleo dos dados, limpeza, enriquecimento, transformao ou codificao foram executadas, a fim de preparar os dados para aplicao dos algoritmos. Importante salientar que esse um processo que necessita grande envolvimento humano, pois requer uma interao muito grande do analista de KDD juntamente com o analista de marketing, validando os resultados obtidos e tambm propondo novas anlises ou at mesmo um enriquecimento dos dados facilitando o processo de minerao. Com base nesse estudo, foi possvel verificar que o algoritmo J48 apresentou maior aderncia a base de dados da referida empresa de varejo caladista. Foram observadas algumas regras interessantes que apresentaram novos conhecimentos sobre o perfil de compra dos clientes. Como exemplo, pode-se citar clientes do sexo masculino, que compraram bola, sapato feminino e sandlia ou ainda o perfil de clientes do sexo feminino com estado civil igual a solteiro, que compram confeco masculina, bota e acessrio unisex na mesma nota, alm dos demais resultados apresentados anteriormente. A partir das anlises feitas levando em considerao o perodo sazonal conforme sugerido pelo especialista em marketing, novas regras foram descobertas. Alguns perfis de padro de compra dos clientes para o dia dos namorados sugerem campanhas de marketing

83

especficas para esse pblico. A sugesto de aquisio conjunta de determinados produtos em uma mesma experincia de venda, podem ser feitas tanto por parte de propagandas e mdia quanto pela sugesto dos vendedores, que podem fomentar a venda tendo posse dessa informao. Considerando a importncia da etapa de apresentao do conhecimento descoberto, pretende-se direcionar formalmente os resultados obtidos para o setor de marketing da empresa. Ser indicado como trabalho futuro a criao de mtricas de vendas para determinados produtos antes da aplicao da minerao na base. Aps a criao das mtricas, sugere-se desenvolver uma campanha de marketing com base nos resultados obtidos nesse trabalho, para depois validar se houve incremento nas vendas dos produtos apresentados nos resultados. Outra sugesto seria efetuar as mesmas validaes, utilizando outra ferramenta de minerao ou ainda outros algoritmos para comparar com os resultados obtidos nesse trabalho.

REFERNCIAS BIBLIOGRFICAS

AGRAWAL, Rakesh; IMIELINSKI, Thomas; SWAMI, Arun. Mining Association Rules between Sets of Items in Large Databases. In: ACM SIGMOD International Conference on Management of Data 5/93, 1993, Washington/USA. Proceedings of SIGMOD 5/93. Washington/USA, 1993. p. 207-216. AGRAWAL, Rakesh; SRIKANT, Ramakrishnan. Fast Algorithms for Mining Association Rules. In: 20th International Conference on Very Large Databases (VLDB) CONFERENCE, 1994, Santiago/Chile. Proceedings of the 20th International Conference on Large Databases. Santiago/Chile, 1994. p. 487-498. BISPO, C. A. F. Uma anlise da nova gerao de sistemas de apoio deciso. So Carlos, 1998. 160 p. Dissertao (Mestrado) - Escola de Engenharia de So Carlos, Universidade de So Paulo. Disponvel em: < http://www.teses.usp.br/teses/disponiveis/18/18140/tde04042004-152849>. Acesso em: 19 mar. 2008. CABENA, Peter et al. Discovering Data Mining from Concept to Implementation. New Jersey-USA: Prentice Hall PTR, 1997. 193 p. CARVALHO, Juliano Varella, Minerao de Dados e a Descoberta de Conhecimento, 2008. Apresentao cedida pelo professor. CARVALHO, Juliano V. Reconhecimento de Caracteres Manuscritos Utilizando Regras de Associao. In: Dissertao de Mestrado Curso de Ps-Graduao em Informtica da Universidade Federal da Paraba, 2000. Disponvel em: < http://www.ourgrid.org/twikipublic/bin/view/COPIN/DissertacoesMestrado?sortcol=1&table=3&up=0 >. Acesso em: 19 mar. 2008. DATE, C.J. Introduo a Sistemas de Bancos de Dados. Rio de Janeiro: Elsevier, 2003. ELMASRI, Ramez; NAVATHE, Shamkant B. Conceitos de Data Mining. In: Sistemas de banco de Dados. 4 ed. So Paulo: Addison, 2005. p.625-657. FAYYAD, Usama M.; PIATETSKY-SHAPIRO, Gregory; SMYTH, Padhraic. From Data Mining to Knowledge Discovery: FAYYAD et al. G. Cambridge-Mass:AAAI/MIT Press. 1996. p. 37-51 http://www.aaai.org/aitopics/assets/PDF/AIMag17-03-2-article.pdf. Acesso em: 4 mar. 2008.

85

FRANK, Eibe. Machine Learning with WEKA: Department of Computer Scienci, University of Waikato, New Zealand. http://sourceforge.net/project/downloading.php?groupname=weka&filename=weka.ppt&use_ mirror=ufpr . Acesso em: 29 set. 2008. GIUDICI, Paolo. Applied Data Mining : Statistical Methods for Business and Industry. England: Wiley, 2003. GOLDSCHMIDT, Ronaldo; PASSOS. Emmanuel. Data Mining: Um Guia Prtico. Rio de Janeiro: Elsevier, 2005. GOLDSCHMIDT, Ronaldo. KDD e Minerao de Dados Mtodos Baseados em Lgica ebulosa. Material Didtico Utilizado nas disciplinas. Disponvel em: http://br.geocities.com/ronaldo_goldschmidt/top_esp_ia.htm - Mtodos de Minerao de Dados. Acessado em: 8 jun. 2008. GONCHOROSKY, Sidinei Pereira. Utilizao de tcnicas de KDD em um call center ativo. Novo Hamburgo: 2007. Trabalho de Concluso de Curso (Bacharelado em Cincia da Computao) Instituto de Cincias Exatas e Tecnolgicas, Feevale, 2007. Disponvel em: <http://ead.feevale.br/tc/files/1015.pdf>. Acesso em: 13 set. 2007. MACKENNA, Regis. Estratgias de Marketing em Tempos de Crise. 5 ed. Rio de Janeiro: Campus, 1989. MACKENNA, Regis. Competindo em Tempo Real: Estratgias Vencedoras para a era do Cliente unca Satisfeito. 3 ed. Rio de Janeiro: Campus, 1998. MACKENNA, Regis. Marketing de Relacionamento. Rio de Janeiro: Campus, 1999. MACKENNA, Regis. Acesso Total: O de Janeiro: Campus, 2002. ovo Conceito de Marketing de Atendimento. Rio

MONGIOVI, Giuseppe. T.E.I. Data Mining. Notas de Aula Data Mining. Campina Grande, 1998. p. 1-102. PIATETSKY-SHAPIRO, Gregory. From Data Mining to Knowledge Discovery: An Introduction. S.l., 2005, 32p. Disponvel em: http://www.kdnuggets.com/data_mining_course/x4-data-mining-to-knowledgediscovery.ppt> Acessado em: 28 mai. 2008. OLIVEIRA Fernando L. et al. Utilizao de Algoritmos Simblicos para a Identificao do Nmero de Caroos do Fruto Pequi, In: IV Encontro de Estudantes de Informtica do Estado do Tocantins, 2002, Palmas. Encontro de Estudantes de Informtica do Tocantins Encoinfo. Palmas, 2002. p. 34-43. PRODANOV, Cleber C. Manual de Metodologia Cientfica. 3 ed. Novo Hamburgo: Feevale, 2006. 77p.

86

QUINLAN, Ross. Improved use of continuous attributes in C4.5. In: Journal Of Artificial Intelligence Research 4, 1996, p. 77-90. Disponvel em: <http://www.jair.org/media/279/live279-1538-jair.pdf>. Acessado em: 19 jun. 2008 QUINLAN, Ross; KOHAVI, Ron. Decision Tree Discovery. 10, 1999, p. 1-16. Disponvel em: < http://ai.stanford.edu/~ronnyk/treesHB.pdf >. Acessado em: 19 jun. 2008 SANTOS, Rafael. Um guia para uso do Weka em scripts e integrao com aplicaes em Java. Tutorial publicado no Instituto Nacional de Pesquisas Espaciais INPE, abr 2005, 20p. Disponvel em: <http://www.lac.inpe.br/~rafael.santos/Docs/CAP359/2005/weka.pdf>. Acesso em: 14 jun. 2008. SILVA, Marcelino Pereira dos Santos. Minerao de Dados - Conceitos, Aplicaes e Experimentos com Weka. IV Escola Regional de Informtica RJ/ES (IV ERI RJ/ES) Nov 2004. Artigo publicado na Sociedade Brasileira de Computao SBC. Disponvel em: www.sbc.org.br/bibliotecadigital/download.php?paper=35. Acessado em: 14 jun. 08. SCHNEIDER, Luis Felipe. Minerao de dados: Conceitos. Universidade Federal do Rio Grande do Sul, 9p, 2007. Disponvel em: <http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120021/artigo_lfelipe.pdf>. Acesso em: 29 maio. 2008. SPRAGUE, R. H.; WATSON, H. J. Sistemas de Apoio Deciso: Colocando a Teoria em Prtica. Rio de Janeiro: Campus, 1991. WEKA 3: Data Mining Software in Java. Nova Zelndia. Universidade de Waikato, 2008. Apresenta todas as caractersticas do projeto e do software Weka. Disponvel em <http://www.cs.waikato.ac.nz/ml/weka/index.html>. Acesso em: 05 mar. 2008.

Você também pode gostar