frequent pattern growth algorithm data mining
Tutoriel détaillé sur l'algorithme de croissance de modèle fréquent qui représente la base de données sous la forme d'un arbre FP. Comprend la comparaison FP Growth Vs Apriori:
Algorithme Apriori a été expliqué en détail dans notre précédent tutoriel. Dans ce didacticiel, nous allons en apprendre davantage sur la croissance fréquente des modèles - FP Growth est une méthode d'extraction d'ensembles d'éléments fréquents.
comment transformer une vidéo youtube en fichier wav
Comme nous le savons tous, Apriori est un algorithme pour l'exploration de modèles fréquente qui se concentre sur la génération d'ensembles d'éléments et la découverte de l'ensemble d'éléments le plus fréquent. Cela réduit considérablement la taille de l'ensemble d'éléments dans la base de données, cependant, Apriori a également ses propres lacunes.
Lisez notre Série complète de formations sur l'exploration de données pour une connaissance complète du concept.
Ce que vous apprendrez:
- Lacunes de l'algorithme Apriori
- Algorithme de croissance de modèle fréquent
- Arbre FP
- Étapes fréquentes de l'algorithme de modèle
- Exemple d'algorithme FP-Growth
- Avantages de l'algorithme de croissance FP
- Inconvénients de l'algorithme FP-Growth
- Croissance FP vs Apriori
- ECLAT
- Conclusion
- lecture recommandée
Lacunes de l'algorithme Apriori
- L'utilisation d'Apriori nécessite une génération d'ensembles d'éléments candidats. Ces ensembles d'éléments peuvent être nombreux si l'ensemble d'éléments de la base de données est énorme.
- Apriori a besoin de plusieurs analyses de la base de données pour vérifier la prise en charge de chaque ensemble d'éléments généré, ce qui entraîne des coûts élevés.
Ces lacunes peuvent être surmontées en utilisant l'algorithme de croissance FP.
Algorithme de croissance de modèle fréquent
Cet algorithme est une amélioration de la méthode Apriori. Un modèle fréquent est généré sans qu'il soit nécessaire de générer des candidats. L'algorithme de croissance FP représente la base de données sous la forme d'un arbre appelé arbre de modèle fréquent ou arbre FP.
Cette arborescence maintiendra l'association entre les ensembles d'éléments. La base de données est fragmentée en utilisant un élément fréquent. Cette partie fragmentée est appelée «fragment de motif». Les itemsets de ces modèles fragmentés sont analysés. Ainsi, avec cette méthode, la recherche d'ensembles d'éléments fréquents est comparativement réduite.
Arbre FP
L'arborescence de modèles fréquents est une structure arborescente créée avec les ensembles d'éléments initiaux de la base de données. Le but de l'arbre FP est d'exploiter le motif le plus fréquent. Chaque nœud de l'arborescence FP représente un élément de l'ensemble d'éléments.
Le nœud racine représente null tandis que les nœuds inférieurs représentent les ensembles d'éléments. L'association des nœuds avec les nœuds inférieurs qui sont les ensembles d'éléments avec les autres ensembles d'éléments est maintenue lors de la formation de l'arborescence.
Étapes fréquentes de l'algorithme de modèle
La méthode de croissance de modèle fréquent nous permet de trouver le modèle fréquent sans génération de candidats.
Voyons les étapes suivies pour extraire le modèle fréquent en utilisant un algorithme de croissance de modèle fréquent:
#1) La première étape consiste à analyser la base de données pour trouver les occurrences des jeux d'éléments dans la base de données. Cette étape est la même que la première étape d'Apriori. Le nombre d'ensembles de 1 éléments dans la base de données est appelé nombre de supports ou fréquence d'un ensemble d'1 éléments.
#deux) La deuxième étape consiste à construire l'arbre FP. Pour cela, créez la racine de l'arbre. La racine est représentée par null.
# 3) L'étape suivante consiste à analyser à nouveau la base de données et à examiner les transactions. Examinez la première transaction et découvrez l'ensemble d'articles qu'elle contient. L'ensemble d'éléments avec le nombre maximum est pris en haut, le prochain ensemble d'éléments avec un nombre inférieur et ainsi de suite. Cela signifie que la branche de l'arborescence est construite avec des ensembles d'éléments de transaction dans l'ordre décroissant du nombre.
# 4) La prochaine transaction dans la base de données est examinée. Les ensembles d'éléments sont classés par ordre décroissant de nombre. Si un ensemble d'éléments de cette transaction est déjà présent dans une autre branche (par exemple dans la 1ère transaction), alors cette branche de transaction partagerait un préfixe commun à la racine.
Cela signifie que l'ensemble d'éléments commun est lié au nouveau nœud d'un autre ensemble d'éléments dans cette transaction.
# 5) En outre, le nombre de l'ensemble d'éléments est incrémenté au fur et à mesure qu'il se produit dans les transactions. Le nombre de nœuds communs et de nouveaux nœuds est augmenté de 1 à mesure qu'ils sont créés et liés en fonction des transactions.
# 6) L'étape suivante consiste à extraire l'arbre FP créé. Pour cela, le nœud le plus bas est examiné en premier avec les liens des nœuds les plus bas. Le nœud le plus bas représente la longueur du modèle de fréquence 1. À partir de là, parcourez le chemin dans l'arbre FP. Ce ou ces chemins sont appelés une base de modèle conditionnel.
La base de modèle conditionnelle est une sous-base de données constituée de chemins de préfixes dans l'arborescence FP se produisant avec le nœud le plus bas (suffixe).
# 7) Construisez un arbre FP conditionnel, qui est formé par un nombre d'ensembles d'éléments dans le chemin. Les jeux d'éléments répondant au seuil de prise en charge sont pris en compte dans l'arborescence FP conditionnelle.
# 8) Les modèles fréquents sont générés à partir de l'arbre FP conditionnel.
Exemple d'algorithme FP-Growth
Seuil de soutien = 50%, confiance = 60%
Tableau 1
Transaction | Liste d'objets |
---|---|
Utilisation de la mémoire | |
T1 | I1, I2, I3 |
T2 | I2, I3, I4 |
T3 | I4, I5 |
T4 | I1, I2, I4 |
T5 | I1, I2, I3, I5 |
T6 | I1, I2, I3, I4 |
Solution:
Seuil de support = 50% => 0,5 * 6 = 3 => min_sup = 3
bons sites d'anime pour regarder des animes gratuitement
1. Nombre de chaque article
Tableau 2
Article | Compter |
---|---|
I1 | 4 |
I2 | 5 |
I3 | 4 |
I4 | 4 |
I5 | deux |
2. Triez l'ensemble d'éléments par ordre décroissant.
Tableau 3
Article | Compter |
---|---|
I2 | 5 |
I1 | 4 |
I3 | 4 |
I4 | 4 |
3. Construire l'arbre FP
- Considérant le nœud racine nul.
- Le premier scan de la transaction T1: I1, I2, I3 contient trois éléments {I1: 1}, {I2: 1}, {I3: 1}, où I2 est lié en tant qu'enfant à root, I1 est lié à I2 et I3 est lié à I1.
- T2: I2, I3, I4 contient I2, I3 et I4, où I2 est lié à la racine, I3 est lié à I2 et I4 est lié à I3. Mais cette branche partagerait le nœud I2 aussi commun qu'il est déjà utilisé dans T1.
- Incrémentez le nombre de I2 de 1 et I3 est lié en tant qu'enfant à I2, I4 est lié en tant qu'enfant à I3. Le décompte est {I2: 2}, {I3: 1}, {I4: 1}.
- T3: I4, I5. De même, une nouvelle branche avec I5 est liée à I4 lorsqu'un enfant est créé.
- T4: I1, I2, I4. La séquence sera I2, I1 et I4. I2 est déjà lié au nœud racine, donc il sera incrémenté de 1. De même I1 sera incrémenté de 1 car il est déjà lié à I2 dans T1, donc {I2: 3}, {I1: 2}, {I4: 1}.
- T5: I1, I2, I3, I5. La séquence sera I2, I1, I3 et I5. Ainsi {I2: 4}, {I1: 3}, {I3: 2}, {I5: 1}.
- T6: I1, I2, I3, I4. La séquence sera I2, I1, I3 et I4. Ainsi {I2: 5}, {I1: 4}, {I3: 3}, {I4 1}.
4. L'exploitation minière de FP-tree est résumée ci-dessous:
- L'élément de nœud le plus bas I5 n'est pas considéré car il n'a pas de compte de prise en charge minimum, il est donc supprimé.
- Le nœud inférieur suivant est I4. I4 se produit dans 2 branches, {I2, I1, I3:, I41}, {I2, I3, I4: 1}. Par conséquent, en considérant I4 comme suffixe, les chemins de préfixe seront {I2, I1, I3: 1}, {I2, I3: 1}. Cela forme la base du modèle conditionnel.
- La base de modèles conditionnels est considérée comme une base de données de transactions, un arbre FP est construit. Celui-ci contiendra {I2: 2, I3: 2}, I1 n'est pas considéré car il ne correspond pas au nombre minimum de support.
- Ce chemin générera toutes les combinaisons de modèles fréquents: {I2, I4: 2}, {I3, I4: 2}, {I2, I3, I4: 2}
- Pour I3, le chemin du préfixe serait: {I2, I1: 3}, {I2: 1}, cela générera un FP-tree à 2 nœuds: {I2: 4, I1: 3} et des modèles fréquents sont générés: {I2 , I3: 4}, {I1: I3: 3}, {I2, I1, I3: 3}.
- Pour I1, le chemin du préfixe serait: {I2: 4} cela générera un seul nœud FP-tree: {I2: 4} et des modèles fréquents sont générés: {I2, I1: 4}.
Article | Base de modèle conditionnelle | Arbre FP conditionnel | Modèles fréquents générés |
---|---|---|---|
I4 | {I2, I1, I3: 1}, {I2, I3: 1} | {I2: 2, I3: 2} | {I2, I4: 2}, {I3, I4: 2}, {I2, I3, I4: 2} |
I3 | {I2, I1: 3}, {I2: 1} | {I2: 4, I1: 3} | {I2, I3: 4}, {I1: I3: 3}, {I2, I1, I3: 3} |
I1 | {I2: 4} | {I2: 4} | {I2, I1: 4} |
Le diagramme ci-dessous représente l'arbre FP conditionnel associé au nœud conditionnel I3.
Avantages de l'algorithme de croissance FP
- Cet algorithme n'a besoin d'analyser la base de données que deux fois par rapport à Apriori qui analyse les transactions pour chaque itération.
- L'appariement des éléments n'est pas effectué dans cet algorithme et cela le rend plus rapide.
- La base de données est stockée dans une version compacte en mémoire.
- Il est efficace et évolutif pour l'extraction de modèles fréquents longs et courts.
Inconvénients de l'algorithme FP-Growth
- FP Tree est plus encombrant et difficile à construire qu'Apriori.
- Cela peut coûter cher.
- Lorsque la base de données est volumineuse, l'algorithme peut ne pas tenir dans la mémoire partagée.
Croissance FP vs Apriori
Croissance FP | A priori |
---|---|
Génération de motifs | |
La croissance FP génère un modèle en construisant un arbre FP | Apriori génère un motif en associant les éléments en singletons, paires et triplés. |
Génération de candidats | |
Il n'y a pas de génération candidate | Apriori utilise la génération de candidats |
Traiter | |
Le processus est plus rapide par rapport à Apriori. La durée d'exécution du processus augmente linéairement avec l'augmentation du nombre d'ensembles d'éléments. | Le processus est comparativement plus lent que FP Growth, le temps d'exécution augmente de façon exponentielle avec l'augmentation du nombre d'ensembles d'éléments |
Une version compacte de la base de données est enregistrée | Les combinaisons candidates sont enregistrées en mémoire |
ECLAT
La méthode ci-dessus, Apriori et FP Growth, exploite des ensembles d'éléments fréquents en utilisant un format de données horizontal. ECLAT est une méthode d'exploration de jeux d'éléments fréquents à l'aide du format de données vertical. Il transformera les données au format de données horizontal en format vertical.
Par exemple,Utilisation de la croissance Apriori et FP:
Transaction | Liste d'objets |
---|---|
T1 | I1, I2, I3 |
T2 | I2, I3, I4 |
T3 | I4, I5 |
T4 | I1, I2, I4 |
T5 | I1, I2, I3, I5 |
T6 | I1, I2, I3, I4 |
L'ECLAT aura le format du tableau comme:
Article | Ensemble de transactions |
---|---|
I1 | {T1, T4, T5, T6} |
I2 | {T1, T2, T4, T5, T6} |
I3 | {T1, T2, T5, T6} |
I4 | {T2, T3, T4, T5} |
I5 | {T3, T5} |
Cette méthode formera 2-itemsets, 3 itemsets, k itemsets au format de données vertical. Ce processus avec k est augmenté de 1 jusqu'à ce qu'aucun ensemble d'éléments candidats ne soit trouvé. Certaines techniques d'optimisation telles que diffset sont utilisées avec Apriori.
Cette méthode présente un avantage par rapport à Apriori car elle ne nécessite pas d'analyser la base de données pour trouver la prise en charge des ensembles d'éléments k + 1. En effet, l'ensemble de transactions portera le décompte d'occurrences de chaque élément de la transaction (prise en charge). Le goulot d'étranglement survient lorsque de nombreuses transactions prennent énormément de mémoire et de temps de calcul pour croiser les ensembles.
Conclusion
L'algorithme Apriori est utilisé pour les règles d'association minière. Il fonctionne sur le principe, «les sous-ensembles non vides des ensembles d'éléments fréquents doivent également être fréquents». Il forme des candidats k-itemset à partir de (k-1) itemsets et scanne la base de données pour trouver les itemsets fréquents.
L'algorithme de croissance de modèle fréquent est la méthode de recherche de modèles fréquents sans génération de candidats. Il construit un FP Tree plutôt que d'utiliser la stratégie de génération et de test d'Apriori. L'algorithme FP Growth se concentre sur la fragmentation des chemins des éléments et l'extraction de modèles fréquents.
Nous espérons que ces tutoriels de la série Data Mining ont enrichi vos connaissances sur l'exploration de données !!
phases du cycle de vie du développement du système avec exemples
Tutoriel PREV | PREMIER Tutoriel
lecture recommandée
- Techniques d'exploration de données: algorithmes, méthodes et principaux outils d'exploration de données
- Algorithme Apriori dans l'exploration de données: mise en œuvre avec des exemples
- Exemples d'algorithmes d'arbre de décision dans l'exploration de données
- Exemples d'exploration de données: applications les plus courantes de l'exploration de données 2021
- Exploration de données: processus, techniques et problèmes majeurs dans l'analyse des données
- Processus d'exploration de données: modèles, étapes de processus et défis impliqués
- Modèle de question d'examen de certification de test logiciel CSTE
- Exploration de données Vs Machine Learning Vs Intelligence Artificielle Vs Deep Learning