Como fazer uma análise de correlação 'cerveja e fraldas'


8

Eu tenho dados que são equivalentes a:

shopper_1 = ['beer', 'eggs', 'water',...]
shopper_2 = ['diapers', 'beer',...]
...

Eu gostaria de fazer uma análise sobre esse conjunto de dados para obter uma matriz de correlação que teria uma implicação semelhante a: se você comprou x, é provável que você compre y.

Usando python (ou talvez qualquer coisa, menos MATLAB), como posso fazer isso? Algumas diretrizes básicas ou dicas para onde eu deveria procurar ajudariam.

Obrigado,

Editar - O que eu aprendi:

  1. Esses tipos de problemas são conhecidos como descoberta de regras de associação. A Wikipedia tem um bom artigo cobrindo alguns dos algoritmos comuns para fazer isso. O algoritmo clássico para fazer isso parece ser Apriori, devido a Agrawal et. al.

  2. Isso me levou ao orange , um pacote de mineração de dados com interface em python. Para o Linux, a melhor maneira de instalá-lo parece ser da fonte usando o setup.py fornecido

  3. Laranja, por padrão, lê as entradas dos arquivos, formatadas de uma das várias maneiras suportadas.

  4. Finalmente, um simples aprendizado da regra de associação Apriori é simples em laranja.


3
Se você estivesse procurando um pacote R, arulesvaleria uma olhada. Talvez "regras de associação" é um bom termo de busca
Karsten W.

2
Consulte também o algoritmo Apriori para obter a abordagem "padrão" desse problema.
cardeal

Respostas:


7

Além dos links fornecidos nos comentários, aqui estão algumas dicas adicionais:

Sobre o Python, acho que agora você tem uma idéia do que deveria procurar, mas o pacote de mineração de dados da Orange apresenta um pacote sobre regras de associação e conjuntos de itens (embora, para o último, não seja possível encontrar nenhuma referência no site).

Editar:

Recentemente me deparei com pysuggest que é

um mecanismo de recomendação Top-N que implementa uma variedade de algoritmos de recomendação. Os sistemas Top-N de recomendação, uma tecnologia de filtragem de informações personalizada, são usados ​​para identificar um conjunto de N itens que serão do interesse de um determinado usuário. Nos últimos anos, os principais sistemas de recomendação de N foram utilizados em várias aplicações diferentes, como para recomendar produtos que o cliente provavelmente comprará; recomendar filmes, programas de TV ou música que um usuário considere agradável; identificar páginas da web que serão de interesse; ou até sugerir formas alternativas de procurar informações.


Quantos produtos, imagino, precisam estar envolvidos antes que uma matriz de correlação simples seja insuficiente?
Rolando2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.