Explication détaillée de l'algorithme Apriori en Python

PHPz
Libérer: 2023-06-10 08:03:13
original
4652 Les gens l'ont consulté

L'algorithme Apriori est une méthode courante d'exploration de règles d'association dans le domaine de l'exploration de données et est largement utilisé dans la business intelligence, le marketing et d'autres domaines. En tant que langage de programmation général, Python fournit également plusieurs bibliothèques tierces pour implémenter l'algorithme Apriori. Cet article présentera en détail le principe, l'implémentation et l'application de l'algorithme Apriori en Python.

1. Principe de l'algorithme Apriori

Avant d'introduire le principe de l'algorithme Apriori, apprenons d'abord deux concepts dans l'exploration de règles d'association : les ensembles d'éléments fréquents et le support.

Ensemble d'éléments fréquents : fait référence à un ensemble d'éléments qui apparaissent souvent ensemble dans un certain ensemble de données.

Support : La fréquence à laquelle un ensemble d'éléments apparaît dans toutes les transactions est appelée support.

Par exemple, dans les données de transactions d'un supermarché, la fréquence de la combinaison {lait, gâteau} dans toutes les transactions est de 10 %. Ensuite, le support pour cette combinaison est de 10 %.

L'algorithme Apriori est basé sur le concept d'ensembles d'éléments fréquents et explore la corrélation entre les éléments en recherchant des ensembles d'éléments fréquents couche par couche. L'idée est la suivante :

  1. Exploiter des ensembles d'articles fréquents de bas en haut, en commençant par des ensembles d'articles uniques (c'est-à-dire des articles achetés individuellement).
  2. Ce n'est que lorsque la prise en charge d'un ensemble d'éléments atteint le seuil de support minimum prédéfini qu'il peut être considéré comme un ensemble d'éléments fréquent.
  3. Créez un ensemble de règles d'association solides basées sur des ensembles d'éléments fréquents. Les règles d'association fortes font référence à des règles dans lesquelles la connexion entre l'élément de condition et l'élément de résultat dans la règle d'association est très étroite.

Plus précisément, le processus de mise en œuvre de l'algorithme Apriori est le suivant :

  1. Comptez tous les éléments et obtenez le nombre de supports d'un seul ensemble d'éléments.
  2. Pour chaque ensemble d'éléments dont le support atteint le seuil de support minimum, ils peuvent être considérés comme des ensembles d'éléments fréquents.
  3. Pour chaque ensemble d'éléments fréquents, générez tous ses sous-ensembles non vides et calculez le support de chaque sous-ensemble en comptant pendant le processus de génération.
  4. Si la prise en charge du sous-ensemble actuellement généré atteint le seuil de prise en charge minimum, le sous-ensemble est enregistré en tant qu'ensemble d'éléments fréquents.
  5. Créez un ensemble de règles d'association solides basées sur des ensembles d'éléments fréquents. Pour un ensemble d'éléments fréquent, vous pouvez sélectionner un sous-ensemble comme condition et la partie restante comme résultat, et calculer sa confiance. Si la confiance atteint le seuil de confiance minimum, la règle d'association est enregistrée en tant que règle forte.
  6. Effectuez de manière itérative les étapes 3 à 5 jusqu'à ce qu'il n'y ait plus de nouveaux ensembles d'éléments fréquents ou de règles strictes.

Il est à noter que la complexité temporelle de l'algorithme Apriori est très élevée car il nécessite un comptage de supports pour chaque sous-ensemble non vide. Pour réduire la quantité de calcul, certaines techniques d'optimisation peuvent être utilisées, telles que l'utilisation de tables de hachage et la réduction de candidats.

2. Python implémente l'algorithme Apriori

Il existe plusieurs bibliothèques tierces dans Python qui peuvent implémenter l'algorithme Apriori, telles que mlxtend, Orange, etc. Ce qui suit utilise mlxtend comme exemple pour présenter les étapes de mise en œuvre de l'algorithme Apriori.

  1. Installer la bibliothèque mlxtend

Installer mlxtend à l'aide de pip :

pip install mlxtend
Copier après la connexion
  1. Importer les bibliothèques requises

Importer la bibliothèque numpy et la bibliothèque mlxtend :

import numpy as np from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import apriori, association_rules
Copier après la connexion
  1. Préparer les données

Générer un ensemble de données de transaction simple, contient 4 transactions enregistrements, chaque enregistrement est composé de quelques éléments :

dataset = [['牛奶', '面包', '啤酒', '尿布'], ['牛奶', '面包', '啤酒', '尿布'], ['面包', '啤酒', '尿布', '饼干'], ['牛奶', '尿布', '啤酒', '饼干']]
Copier après la connexion
  1. Convertir les données en une table booléenne

Utilisez TransactionEncoder pour convertir les données en une table booléenne Cette étape consiste à extraire les ensembles d'éléments fréquents de l'ensemble de données de transaction :

.
te = TransactionEncoder() te_ary = te.fit(dataset).transform(dataset) df = pd.DataFrame(te_ary, columns=te.columns_)
Copier après la connexion
  1. Exploration d'ensembles d'éléments fréquents

Utilisez la fonction Apriori pour extraire des ensembles d'éléments fréquents à partir de tables booléennes :

frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
Copier après la connexion

En définissant le paramètre min_support, vous pouvez contrôler la prise en charge minimale des ensembles d'éléments fréquents. Dans le code ci-dessus, la prise en charge minimale est définie sur 0,5.

  1. Créez un ensemble de règles d'association solide

Sur la base d'ensembles d'éléments fréquents, utilisez la fonction association_rules pour créer un ensemble de règles d'association solide :

rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.7)
Copier après la connexion

En définissant le paramètre de métrique, vous pouvez contrôler quelle métrique est utilisée pour évaluer la qualité des règles d'association. Dans le code ci-dessus, la confiance est utilisée comme mesure d'évaluation et le seuil de confiance minimum est fixé à 0,7.

3. Scénarios d'application de l'algorithme Apriori

L'algorithme Apriori peut être appliqué à de nombreux domaines, tels que le marketing, les systèmes de recommandation, l'analyse des réseaux sociaux, etc. Ce qui suit prend comme exemple une plate-forme de commerce électronique pour démontrer l'application de l'algorithme Apriori dans la recommandation de produits.

Les plateformes de commerce électronique enregistrent généralement les enregistrements des transactions des utilisateurs et utilisent ces enregistrements pour recommander des produits qui pourraient intéresser les utilisateurs. Grâce à l'algorithme Apriori, des combinaisons de produits à haute fréquence peuvent être exploitées. Par exemple, les personnes qui achètent les produits A, B et C ont une forte probabilité d'acheter le produit D. Sur la base de ces règles d'association, la plateforme de commerce électronique peut recommander les produits correspondants aux utilisateurs afin d'améliorer le taux de transaction et l'expérience d'achat des utilisateurs.

4. Conclusion

L'algorithme Apriori est une méthode d'exploration de règles d'association courante, et il existe plusieurs bibliothèques tierces en Python qui peuvent implémenter cet algorithme. Grâce à ces bibliothèques, des ensembles d'éléments fréquents et des règles d'association peuvent être facilement exploités pour fournir une assistance à l'analyse des données et à la prise de décision commerciale.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!