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.