Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.

Mineração de dados com Market Basket Analysis
A mineração de dados pode ser descrita como análise de dados exploratória. O objetivo é procurar padrões interessantes nos dados, padrões que possam ser usados para definir a estratégia do negócio ou para identificar um comportamento pouco usual.

Neste contexto, este artigo aborda a tarefa de mineração de dados conhecida como market basket analysis e está dividido em três partes. A primeira é teórica, onde a partir de um pequeno exemplo, são descritos os principais conceitos associados a esta tarefa, tais como regras de associação, medidas de interesse, itemsets frequentes, entre outros. A segunda parte é prática, apresentando os passos necessários para utilizar a funcionalidade de análise de cestas de compras oferecida pela ferramenta Weka. A terceira parte é avançada, ilustrando mostrando a forma básica de utilização das classes “Apriori”, “AssociationRules” e “AssociationRule” da Weka API.

Market basket analysis (análise de cestas de compras) é considerada por muitos a mais simples das tarefas de data mining. Apesar disso, possui um enorme número de aplicações práticas, dentre elas a análise de padrões de compras, os sistemas de recomendação e a análise de logs de servidores Web. O objetivo da tarefa é identificar combinações de itens que ocorrem frequência significativa em bancos de dados. Este artigo apresenta e descreve as principais etapas envolvidas em processos práticos de market basket analysis.

Em que situação o tema útil
O artigo destina-se tanto a leitores iniciantes como aos mais experientes no tema. Os primeiros poderão conhecer os principais conceitos, aplicações e características da tarefa de market basket analysis. Além disso, descobrirão como utilizar esta funcionalidade na ferramenta de mineração de dados Weka. E para os leitores mais experientes, o artigo apresenta um tema ainda muito pouco explorado: a criação de programas Java para market basket analysis com o uso da biblioteca Weka API.

Coloque-se no lugar de um gerente de um hipermercado (ou de uma loja de departamentos, ou de uma livraria, etc.). Sem dúvida alguma, uma de suas principais responsabilidades é tomar todas as ações necessárias para conseguir vender o máximo possível de seus produtos. O objetivo a ser atingido é claro: vender mais e gerar mais lucro do que os seus concorrentes. Neste sentido, é fundamental que você identifique e compreenda os padrões de compras de seus consumidores para se tornar bem-sucedido. Você pode estar se perguntando: “mas como será possível identificar esses tais ‘padrões de compra’ se existem tantos clientes e tantos produtos?”. Normalmente, há uma única forma viável para realizar essa tarefa: procurá-los dentro do próprio banco de dados da sua empresa. No entanto, a tarefa não é muito simples, uma vez que os padrões normalmente estão escondidos no meio de tantas milhões de linhas e tantas centenas colunas que se torna impossível identificá-los através de métodos tradicionais, como planilhas Excel ou com o uso de consultas na linguagem SQL.

É aqui que entram os algoritmos para market basket analysis (análise de cestas de compras). Trata-se de uma tecnologia especialmente criada com o objetivo de descobrir combinações de itens que ocorrem com frequência acima do esperado em uma base de dados. A partir das combinações de itens consideradas interessantes do ponto de vista estatístico, os algoritmos de market basket analysis geram um conjunto de regras de associação para os usuários. Para que a coisa não fique muito abstrata, o exemplo a seguir ilustra um padrão real que foi automaticamente descoberto por um algoritmo de market basket analysis. A descoberta do padrão ocorreu após a mineração de dados de uma base de dados contendo registros de produtos adquiridos por famílias cariocas em suas compras mensais:

· “70% dos clientes que compram o produto ‘strogonoff de frango (caixa)’ também compram o produto ‘lasanha (caixa)’. 5,5% de todas as compras contêm os dois produtos”.

· Representação: {strogonoff de frango (caixa)} => {lasanha (caixa)}

O exemplo ilustra a característica mais atrativa das regras de associação: elas são expressas em uma forma muito fácil de ser compreendida por qualquer pessoa.

As regras de associação representam uma importantíssima ferramenta de apoio ao processo de tomada de decisão nas empresas. Voltando ao exemplo citado no início do artigo, podemos perceber que o processo de market basket analysis auxiliaria o gerente de nosso hipermercado hipotético encontrar respostas para perguntas como as que são mostradas na Figura 1.

Figura 1. A análise de cestas de compras auxilia o processo de tomada de decisão

Ao longo dos anos, a análise de cestas de compras se tornou uma das mais utilizadas tarefas de mineração de dados. Este artigo possui o objetivo de oferecer uma visão prática sobre as suas características e as aplicações. O restante do artigo está dividido em três partes. Na primeira, apresentam-se conceitos básicos sobre o assunto. São abordados temas como base de dados transacional, medidas de interesse e desafios enfrentados pelos algoritmos de market basket analysis. A segunda parte do artigo é prática, apresentando como executar a funcionalidade de market basket analysis implementada na ferramenta Weka, com o uso de sua interface gráfica Explorer. Já a terceira e última parte do artigo é avançada, sendo destinada a desenvolvedores que possuem experiência em mineração de dados e na linguagem Java. Mostramos como criar um programa Java que configura e executa um dos algoritmos de mineração de regras de associação oferecido pela Weka API (algoritmo Apriori).

Entendendo o processo de Market Basket Analysis

Nos tópicos a seguir apresentamos os conceitos mais importantes sobre market basket analysis.

Regras de Associação

Conforme foi dito na introdução desse artigo, o processo de análise de cestas de compras emprega algoritmos para identificar padrões de relacionamento entre itens de uma base de dados. Uma das características mais interessantes do processo é que os padrões descobertos são expressos para o usuário na forma de regras de associação. Uma regra de associação é representada de uma forma muito intuitiva, através de uma expressão que tem o formato apresentado na Figura 2.

Figura 2. Representação de uma regra de associação.

Nesta representação, A é chamado de antecedente (ou LHS – left hand side) e B é o consequente (ou RHS – right hand side) da regra. O conceito por trás desta representação é indicar que, numa base de dados, a probabilidade de ocorrência de B é maior entre os registros que contém A. Ou seja, a ocorrência do evento A aumenta a chance do evento B ocorrer. É permitido que tanto o antecedente como o consequente sejam formados por conjuntos contendo um ou mais itens.

...
Quer ler esse conteúdo completo? Tenha acesso completo