Abordagens de mineração de dados para análise de dados seqüenciais com atributos nominais

8

Pergunta para os mineradores de dados experientes:

Dado este cenário:

  • Existem N carrinhos de compras
  • Cada carrinho de compras é preenchido com um número arbitrário de itens M de um conjunto infinitamente grande (com a quantidade atual de dados que eu tenho, esse número arbitrário pode atingir números em torno de 1500)
  • A ordem em que cada carrinho é preenchido é significativa
  • Existem outros atributos, como a localização geográfica do comprador, mas esses podem ser (e atualmente são) descartados em favor da simplificação do algoritmo.

Eu preciso:

  • Em um determinado momento, considerando apenas os conjuntos de itens solicitados em cada carrinho, identifique os carrinhos 'similares' sem o conhecimento prévio dos rótulos das classes
  • Após uma certa quantidade de dados ter sido coletada e uma labuta trabalhar com os dados e atribuir rótulos, crie um classificador que possa trabalhar rapidamente com dados não vistos futuros

Abordagem inicial:

  • Até agora, minha abordagem foi focada no primeiro ponto. Meu método usa o k-means clustering e lida com a natureza seqüencial dos dados usando uma matriz de distância gerada pelo cálculo da distância de Hamming entre os carros. Dessa forma, [maçã, banana, pêra] é diferente de [pêra, maçã, banana], mas [maçã, banana, pêra] é menos diferente de [maçã, banana, antílope]. O valor apropriado de k é determinado através da investigação do coeficiente da silhueta. Os clusters gerados a partir disso parecem fazer sentido, mas o tempo de execução do meu método será definitivamente proibitivo conforme meu conjunto de dados é escalado.

Questão:

  • Alguém teria alguma sugestão para um minerador de dados iniciante para esse problema?

Edita com mais informações:

  • Encontrei sugestões que consideram o uso de recursos n-grama e as comparam em pares. Uma preocupação que tenho sobre isso é a ordem: a ordem das seqüências será mantida se os modelos n-gram forem usados? Além disso, vejo problemas de desempenho sendo uma possibilidade maior com esse método.
não
fonte
Pergunta interessante, mas provavelmente melhor para stats.stackexchange.com
Matt Parker
Originalmente, enviei isso para stats.stackexchange.com e estou visualizando a partir daí ... isso está aparecendo em outro lugar?
Dom
Oh, cara, tem sido uma semana longa. Normalmente, abro várias perguntas sobre StackOverflow e CrossValidated em guias adjacentes, e isso foi no final de uma série de perguntas sobre StackOverflow. Então, quando sinalizei atenção, ele me deu a opção de sugerir que ele fosse para stats.stackexchange - exceto que, na verdade, era META.stats.stackexchange. Eu provavelmente deveria ir para a cama agora.
Matt Parker
você não parece um minerador de dados iniciante para mim.
Rolando2
@ rolando2: Acho que é tudo relativo, heh. Eu ainda sinto que eu só raspou a superfície do assunto ...
don

Respostas:

1

Também sou um minerador de dados iniciante, mas posso sugerir que a análise exploratória de dados é sempre um bom primeiro passo? Gostaria de ver se os itens podem receber algum tipo de "valor de prioridade" que pode servir para prever com que antecedência eles aparecem no carrinho, pois esse resultado pode permitir o uso de modelos mais simples. Algo tão simples como uma regressão linear em (#order no carrinho / # número de itens no carrinho) para todos os carrinhos que possuem o item X fornecerá uma idéia de se isso é possível. Suponha que você ache que uma certa proporção de itens sempre aparece cedo ou mais tarde, e alguns parecem ser completamente aleatórios: isso o guiaria em sua construção de modelo posterior.

charles.y.zheng
fonte