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.

Azarias R
fonte
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.

chl
fonte
Quantos produtos, imagino, precisam estar envolvidos antes que uma matriz de correlação simples seja insuficiente?
Rolando2