Pour autant que je connaisse le développement d'algorithmes pour résoudre le problème de FPM (Frequent Pattern Mining), la route des améliorations a quelques points de contrôle principaux. Premièrement, l' algorithme Apriori a été proposé en 1993 par Agrawal et al. , ainsi que la formalisation du problème. L'algorithme a été capable de bande hors des ensembles des 2^n - 1
ensembles (PowerSet) en utilisant un treillis pour maintenir les données. Un inconvénient de l'approche était la nécessité de relire la base de données pour calculer la fréquence de chaque ensemble étendu.
Plus tard, en 1997, Zaki et al. a proposé l'algorithme Eclat , qui a inséré la fréquence résultante de chaque ensemble à l'intérieur du réseau. Cela a été fait en ajoutant, à chaque nœud du réseau, l'ensemble des identifiants de transaction qui avaient les éléments de la racine au nœud référencé. La principale contribution est qu'il n'est pas nécessaire de relire l'ensemble de données pour connaître la fréquence de chaque ensemble, mais la mémoire requise pour conserver une telle structure de données peut dépasser la taille de l'ensemble de données lui-même.
En 2000, Han et al. a proposé un algorithme nommé FPGrowth , ainsi qu'une structure de données d'arbre préfixe nommée FPTree. L'algorithme a été en mesure de fournir une compression de données significative, tout en garantissant que seuls des jeux d'éléments fréquents seraient générés (sans génération de jeu d'éléments candidat). Cela a été fait principalement en triant les éléments de chaque transaction dans l'ordre décroissant, de sorte que les éléments les plus fréquents sont ceux avec le moins de répétitions dans la structure de données de l'arborescence. Etant donné que la fréquence descend seulement en traversant l'arbre en profondeur, l'algorithme est capable de dénuder-off itemsets non fréquents.
Modifier :
Pour autant que je sache, cela peut être considéré comme un algorithme de pointe, mais j'aimerais connaître d'autres solutions proposées. Quels autres algorithmes pour FPM sont considérés comme "à la pointe de la technologie"? Quelle est l' intuition / contribution principale de ces algorithmes?
L'algorithme FPGrowth est-il toujours considéré comme «à la pointe de la technologie» dans le cadre de l'exploration fréquente de motifs? Sinon, quel (s) algorithme (s) peut (peuvent) extraire plus efficacement des ensembles d'éléments fréquents de grands ensembles de données?