Maison développement back-end Tutoriel Python Explication détaillée de l'algorithme Apriori en Python

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

Jun 10, 2023 am 08:03 AM
数据挖掘 python编程 apriori算法

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment développer un scanner de vulnérabilités en Python Comment développer un scanner de vulnérabilités en Python Jul 01, 2023 am 08:10 AM

Présentation de la façon de développer un scanner de vulnérabilités via Python Dans l'environnement actuel de menaces croissantes pour la sécurité Internet, les scanners de vulnérabilités sont devenus un outil important pour protéger la sécurité du réseau. Python est un langage de programmation populaire, concis, facile à lire et puissant, adapté au développement de divers outils pratiques. Cet article explique comment utiliser Python pour développer un scanner de vulnérabilités afin de fournir une protection en temps réel à votre réseau. Étape 1 : Déterminer les cibles d'analyse Avant de développer un scanner de vulnérabilités, vous devez déterminer les cibles que vous souhaitez analyser. Il peut s'agir de votre propre réseau ou de tout ce que vous êtes autorisé à tester.

Comment utiliser Python pour les scripts et l'exécution sous Linux Comment utiliser Python pour les scripts et l'exécution sous Linux Oct 05, 2023 am 11:45 AM

Comment utiliser Python pour écrire et exécuter des scripts sous Linux Dans le système d'exploitation Linux, nous pouvons utiliser Python pour écrire et exécuter divers scripts. Python est un langage de programmation concis et puissant qui fournit une multitude de bibliothèques et d'outils pour rendre la création de scripts plus facile et plus efficace. Ci-dessous, nous présenterons les étapes de base de l'utilisation de Python pour l'écriture et l'exécution de scripts sous Linux, et fournirons quelques exemples de code spécifiques pour vous aider à mieux le comprendre et l'utiliser. Installer Python

Utilisation de la fonction sqrt() en Python Utilisation de la fonction sqrt() en Python Feb 21, 2024 pm 03:09 PM

Exemples d'utilisation et de code de la fonction sqrt() en Python 1. Fonction et introduction de la fonction sqrt() Dans la programmation Python, la fonction sqrt() est une fonction du module mathématique, et sa fonction est de calculer la racine carrée de un numéro. La racine carrée signifie qu'un nombre multiplié par lui-même est égal au carré du nombre, c'est-à-dire x*x=n, alors x est la racine carrée de n. La fonction sqrt() peut être utilisée dans le programme pour calculer la racine carrée. 2. Comment utiliser la fonction sqrt() en Python, sq

Pratique de programmation Python : comment utiliser l'API Baidu Map pour générer des fonctions de carte statique Pratique de programmation Python : comment utiliser l'API Baidu Map pour générer des fonctions de carte statique Jul 30, 2023 pm 09:05 PM

Pratique de programmation Python : Comment utiliser l'API Baidu Map pour générer des fonctions de carte statique Introduction : Dans la société moderne, les cartes sont devenues un élément indispensable de la vie des gens. Lorsque nous travaillons avec des cartes, nous avons souvent besoin d'obtenir une carte statique d'une zone spécifique à afficher sur une page Web, une application mobile ou un rapport. Cet article explique comment utiliser le langage de programmation Python et l'API Baidu Map pour générer des cartes statiques et fournit des exemples de code pertinents. 1. Travail de préparation Pour réaliser la fonction de génération de cartes statiques à l'aide de l'API Baidu Map, je

Apprenez à utiliser la programmation Python pour réaliser l'amarrage de l'interface de reconnaissance d'image Baidu et réaliser la fonction de reconnaissance d'image. Apprenez à utiliser la programmation Python pour réaliser l'amarrage de l'interface de reconnaissance d'image Baidu et réaliser la fonction de reconnaissance d'image. Aug 25, 2023 pm 03:10 PM

Apprenez à utiliser la programmation Python pour implémenter l'amarrage de l'interface de reconnaissance d'image de Baidu et réaliser la fonction de reconnaissance d'image. Dans le domaine de la vision par ordinateur, la technologie de reconnaissance d'image est une technologie très importante. Baidu fournit une puissante interface de reconnaissance d'images grâce à laquelle nous pouvons facilement mettre en œuvre la classification, l'étiquetage, la reconnaissance faciale et d'autres fonctions d'images. Cet article vous apprendra comment utiliser le langage de programmation Python pour implémenter des fonctions de reconnaissance d'images en vous connectant à l'interface de reconnaissance d'images de Baidu. Tout d’abord, nous devons créer une application sur Baidu Developer Platform et obtenir

Comment faire du traitement et de la reconnaissance d'images en Python Comment faire du traitement et de la reconnaissance d'images en Python Oct 20, 2023 pm 12:10 PM

Comment effectuer le traitement et la reconnaissance d'images en Python Résumé : La technologie moderne a fait du traitement et de la reconnaissance d'images un outil important dans de nombreux domaines. Python est un langage de programmation facile à apprendre et à utiliser doté de riches bibliothèques de traitement et de reconnaissance d'images. Cet article expliquera comment utiliser Python pour le traitement et la reconnaissance d'images, et fournira des exemples de code spécifiques. Traitement d'image : le traitement d'image est le processus consistant à effectuer diverses opérations et transformations sur des images pour améliorer la qualité de l'image, extraire des informations des images, etc. Bibliothèque PIL en Python (Pi

Comment écrire un programme en Python pour obtenir des tuiles de carte dans l'API Baidu Map ? Comment écrire un programme en Python pour obtenir des tuiles de carte dans l'API Baidu Map ? Jul 31, 2023 pm 04:21 PM

Comment écrire un programme en Python pour obtenir des tuiles de carte dans l'API Baidu Map ? Les vignettes de carte sont les éléments de base qui composent une carte. En divisant la carte en petites images indépendantes, vous pouvez accélérer le chargement et l'affichage de la carte. L'API Baidu Map fournit des données riches sur les tuiles de carte. Cet article explique comment utiliser Python pour obtenir des tuiles de carte dans l'API Baidu Map et donne des exemples de code. L'obtention des tuiles cartographiques de l'API Baidu Map nécessite l'utilisation de la clé (ak) fournie par l'interface. Vous devez donc d'abord utiliser Baidu Map.

Comment écrire un algorithme d'analyse des composantes principales PCA en Python ? Comment écrire un algorithme d'analyse des composantes principales PCA en Python ? Sep 20, 2023 am 10:34 AM

Comment écrire un algorithme d'analyse des composantes principales PCA en Python ? PCA (PrincipalComponentAnalysis) est un algorithme d'apprentissage non supervisé couramment utilisé pour réduire la dimensionnalité des données afin de mieux comprendre et analyser les données. Dans cet article, nous apprendrons comment écrire l'algorithme d'analyse des composantes principales PCA à l'aide de Python et fournirons des exemples de code spécifiques. Les étapes de l'ACP sont les suivantes : Standardiser les données : mettre à zéro la moyenne de chaque caractéristique des données et ajuster la variance sur la même plage pour garantir

See all articles