Introduction to Market Basket Analysis in Python Les règles d’association sous

Introduction to Market Basket Analysis in Python Les règles d’association sous Python HRIMECH HAMID Module : Fouille de doonées CYCLE INGENIEUR INGÉNIERIE DES SYSTÈMES D’INFORMATION ET BIG DATA هندسة االنظمة المعلوماتية و المعطيات الضخمة Les règles d’association Plan • Introduction • Pourquoi une analyse d'association? • Quelques termes utilisés • Mlxtend • Conclusion Les règles d’association L’analyse d'association : tente de trouver des modèles communs d'éléments dans de grands ensembles de données • Examiner les transactions de vente • le suivi du flux de clics • la commande de pièces de rechange • les recommandation des moteurs de recherche en ligne • …. Les règles d’association • scikit-learn ne prend pas en charge cet algorithme ? • bibliothèque MLxtend de Sebastian Raschka a une implémentation de l' algorithme Apriori pour extraire des ensembles d'éléments fréquents pour une analyse plus approfondie Pourquoi une analyse d'association? Clustering Regression Neural Networks Random Forests SVM etc. • Le défi avec beaucoup de ces approches est qu'elles peuvent: • être difficiles à régler • difficiles à interpréter • nécessitent un peu de préparation des données et d'ingénierie des fonctionnalités pour obtenir de bons résultats. En d'autres termes, ils peuvent être très puissants mais nécessitent beaucoup de connaissances pour être mis en œuvre correctement. Pourquoi une analyse d'association? • Clustering • Regression • Neural Networks • Random Forests • SVM • etc. Support Confidence Lift MLxtend Mlxtend (extensions d'apprentissage automatique) est une bibliothèque Python d'outils utiles pour les tâches quotidiennes de science des données. • Documentation: http://rasbt.github.io/mlxtend • Dépôt de code source: https://github.com/rasbt/mlxtend • PyPI: https://pypi.python.org/pypi/mlxtend Data Nous avons un tableau de données sur deux colonnes : la première correspond aux identifiants de transaction, la seconde aux noms des produits. Voici les premières lignes du fichier Installation pip install mlxtend Importation des données Transformation en tableau binaire La librairie que nous utiliserons prend en entrée un tableau binaire ‘’transactions x produits’’ où sont recensés la présence (codé 1 ou True) des produits dans chaque caddie (l’absence est codée 0 ou False). Un tableau croisant ID et PRODUCT fait parfaitement l’affaire. Nous affichons les 20 premières transactions et les 3 premiers produits Transformation en tableau binaire Transformation en tableau binaire Transformation en tableau binaire Nous pouvons obtenir la liste des produits en affichant les en-têtes de colonnes du tableau TC. Nous travaillons à partir de ce tableau binaire dorénavant. Extraction des itemsets fréquents Nous importons la fonction apriori() et nous l’appliquons à nos données en fixant un support minimum de 0.025 c.-à-d. Nous acceptons les itemsets avec un support (min_support=0.025) supérieur ou égal à 0.025 x 1360 = 34 transactions. Un cardinal inférieur ou égal à 4 (max_len=4), et nous demandons à ce que les noms des items apparaissent explicitement à l’affichage (use_colnames=True). Extraction des itemsets fréquents Extraction des itemsets fréquents Pour nos données et avec les paramètres ci-dessus, nous avons obtenus 603 itemsets fréquents Affichons les 15 premiers : Extraction des itemsets fréquents Pour nos données et avec les paramètres ci-dessus, nous avons obtenus 603 itemsets fréquents Affichons les 15 premiers : Filtrage des itemsets Nous souhaitons pouvoir filtrer les itemsets selon la présence d’items en particulier (ex. quels sont les itemsets qui contiennent le produit ‘’Aspirin’’ ?). Pour ce faire, nous devons déjà comprendre la structure de la colonne ‘’itemsets’’ du DataFrame. Il s’agit d’une ‘’pandas. Series’’ . Filtrage des itemsets la méthode apply() de l’objet pandas.Series. Elle permet d’appliquer une fonction sur chaque élément de la série de valeurs Filtrage des itemsets Les itemsets (13, 208, 249, etc.) comprennent le produit ‘Aspirin’. Nous pouvons les afficher explicitement. Filtrage des itemsets Filtrage des itemsets Extraction (déduction) des règles d’association Nous produisons les règles à partir des itemsets fréquents. Elles peuvent être très nombreuses, nous en limitons la prolifération en définissant un seuil minimal (min_threshold = 0.75) sur une mesure d’intérêt, en l’occurrence la confiance dans notre exemple (metric = ‘’confidence’’). Extraction (déduction) des règles d’association Extraction (déduction) des règles d’association Il faudrait adapter l’affichage pour disposer de toutes les informations. Dans ce qui suit, nous nous en tiendrons à l’antécédent, le conséquent et le lift. Nous modifions aussi le format d’affichage Filtrage des règles Nous pouvons filtrer ou organiser les règles de différentes manières. Afficher les règles qui présentent un LIFT supérieur ou égal à 7 Les 10 règles qui présentent les LIFT les plus élevés. Nous passons par un tri décroissant de la base de règles selon le LIFT. Liste des règles menant à la conclusion {‘2pct_Milk’} Liste des règles dont l’antécédent comporte l’item ‘ Aspirin’. Filtrage des règles uploads/Management/ 7-regles-d-x27-association-python-0.pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 03, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.5681MB