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.
Réponses:
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.
la source