Approches d'exploration de données pour l'analyse de données séquentielles avec des attributs nominaux

8

Question pour les mineurs de données expérimentés:

Compte tenu de ce scénario:

  • Il y a N paniers
  • Chaque panier est rempli d'un nombre arbitraire de M articles à partir d'un ensemble infiniment grand (avec la quantité actuelle de données dont je dispose, ce nombre arbitraire peut atteindre environ 1500)
  • L'ordre dans lequel chaque panier est rempli est important
  • Il existe d'autres attributs tels que la géolocalisation de l'acheteur, mais ceux-ci peuvent être (et sont actuellement) rejetés en faveur de la simplification de l'algorithme

J'ai besoin de:

  • À un moment donné, étant donné uniquement les ensembles d'articles commandés dans chaque chariot, identifier les chariots «similaires» sans connaissance préalable des étiquettes de classe
  • Une fois qu'une certaine quantité de données a été collectée et qu'une tâche est effectuée à travers les données et attribue des étiquettes, créez un classificateur qui peut fonctionner rapidement avec les futures données invisibles

Approche initiale:

  • Jusqu'à présent, mon approche s'est concentrée sur le premier point. Ma méthode utilise le clustering k-means et gère la nature séquentielle des données en utilisant une matrice de distance générée en calculant la distance de Hamming entre les chariots. De cette façon, [pomme, banane, poire] est différent de [poire, pomme, banane], mais [pomme, banane, poire] est moins différent de [pomme, banane, antilope]. La valeur appropriée de k est déterminée en étudiant le coefficient de silhouette. Les clusters générés à partir de cela semblent avoir du sens, mais le temps d'exécution de ma méthode sera certainement prohibitif à mesure que mon ensemble de données évolue.

Question:

  • Quelqu'un aurait-il des suggestions pour un mineur de données novice pour ce problème?

Modifications avec plus d'informations:

  • J'ai trouvé des suggestions qui envisagent d'utiliser les fonctionnalités de n-gramme et de les comparer par paire. J'ai une préoccupation à ce sujet: l'ordre: l'ordre des séquences sera-t-il maintenu si des modèles à n grammes sont utilisés? De plus, je vois que les problèmes de performances sont une plus grande possibilité avec cette méthode.
Don
la source
Question intéressante, mais probablement mieux adaptée à stats.stackexchange.com
Matt Parker
À l'origine, j'ai soumis cela à stats.stackexchange.com et je le vois à partir de là ... est-ce que cela se présente ailleurs?
don
Oh, mec, ça a été une longue semaine. J'ouvre habituellement un tas de questions StackOverflow et CrossValidated dans les onglets adjacents, et c'était à la fin d'une série de questions StackOverflow. Ensuite, lorsque j'ai signalé l'attention, cela m'a donné la possibilité de suggérer de passer à stats.stackexchange - sauf que c'était en fait META.stats.stackexchange. Je devrais probablement me coucher maintenant.
Matt Parker
vous ne semblez pas être un mineur de données novice.
rolando2
@ rolando2: Je suppose que tout est relatif, heh. J'ai toujours l'impression d'avoir seulement gratté la surface du sujet ...
don

Réponses:

1

Je suis également un novice en exploration de données, mais puis-je suggérer que l'analyse exploratoire des données est toujours une bonne première étape? Je verrais si les articles peuvent être affectés à une sorte de `` valeur prioritaire '' qui peut servir à prédire à quelle heure ils apparaissent dans le panier, car un tel résultat peut vous permettre d'utiliser des modèles plus simples. Quelque chose d'aussi simple qu'une régression linéaire sur (#ordre dans le panier / # nombre d'articles dans le panier) pour tous les chariots possédant l'article X vous donnera une idée de la possibilité. Supposons que vous constatiez qu'une certaine proportion d'articles apparaît toujours tôt, ou plus tard, et certains semblent être complètement aléatoires: cela vous guiderait dans votre construction de modèle ultérieure.

charles.y.zheng
la source