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:
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.
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
Laranja, por padrão, lê as entradas dos arquivos, formatadas de uma das várias maneiras suportadas.
Finalmente, um simples aprendizado da regra de associação Apriori é simples em laranja.
fonte
arules
valeria uma olhada. Talvez "regras de associação" é um bom termo de buscaRespostas:
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 é
fonte