Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Calcul des Indicateurs Clés de l'Exploration de Données | Fondements des Règles d'Association et de l'Analyse Transactionnelle
Analyse du Panier de Marché et Systèmes de Recommandation

Calcul des Indicateurs Clés de l'Exploration de Données

Glissez pour afficher le menu

Support : Définition, calcul et interprétation

Note
Définition

Support mesure la fréquence à laquelle un article ou un ensemble d'articles spécifique apparaît dans un ensemble de transactions.

Mathématiquement, le support d'un ensemble d'articles correspond à la proportion de transactions contenant tous les articles de cet ensemble. Dans un contexte de vente au détail, le support permet de comprendre la fréquence d'une combinaison de produits parmi l'ensemble des achats.

Support(itemset) = Number of transactions containing itemset / Total number of transactions

Une valeur de support élevée indique que l'ensemble d'articles est plus répandu dans vos données, ce qui en fait un candidat pour une analyse approfondie ou des promotions. Par exemple, si « bread and butter » apparaissent ensemble dans 30 transactions sur 100, le support pour {"bread", "butter"} est de 0,3.

Confiance : formule, signification et utilisation pratique

Note
Définition

Confiance évalue la probabilité qu’un client qui achète l’article A achète également l’article B.

Elle est calculée comme le rapport entre le nombre de transactions contenant à la fois A et B et le nombre de transactions contenant uniquement A.

Confiance(A ⇒ B) = Nombre de transactions contenant à la fois A et B / Nombre de transactions contenant A

En pratique, la confiance indique la fiabilité de la règle « si A, alors B ». Si la confiance est élevée, il est plus probable que les clients qui achètent A achèteront également B, ce qui est utile pour des recommandations ciblées ou le marketing.

Lift : Dérivation, mesure et importance

Note
Définition

Lift évalue à quel point il est plus probable que l’article B soit acheté lorsque l’article A est acheté, comparé au cas où les achats de A et B seraient des événements indépendants.

Elle est calculée en divisant la confiance de la règle par le support du conséquent (B) :

Lift(A ⇒ B) = Confiance(A ⇒ B) / Support(B)

Une valeur de lift égale à 1 implique aucune association (indépendance), supérieure à 1 indique une association positive, et inférieure à 1 suggère une association négative. Le lift est essentiel car il ajuste en fonction de la popularité du conséquent, permettant de distinguer les relations réellement significatives des coïncidences.

Exemple pratique : Calcul du support, de la confiance et du lift

Supposons que vous disposiez des données de transaction suivantes :

  • Transaction 1 : Milk, Bread ;
  • Transaction 2 : Milk, Diaper, Beer, Bread ;
  • Transaction 3 : Milk, Diaper, Beer, Cola ;
  • Transaction 4 : Bread, Butter.

Calculons les métriques pour la règle : Milk ⇒ Bread.

  • Support(Milk, Bread) : Apparaît dans les transactions 1 et 2 (2 sur 4) ⇒ 0.5 ;

  • Support(Milk) : Apparaît dans les transactions 1, 2 et 3 (3 sur 4) ⇒ 0.75 ;

  • Support(Bread) : Apparaît dans les transactions 1, 2 et 4 (3 sur 4) ⇒ 0.75.

  • Confiance(Milk ⇒ Bread) : Support(Milk, Bread) / Support(Milk) = 0.5 / 0.75 = 0.6667 ;

  • Lift(Milk ⇒ Bread) : Confiance(Milk ⇒ Bread) / Support(Bread) = 0.6667 / 0.75 = 0.8889.

Cela signifie que même si "Milk" et "Bread" apparaissent souvent ensemble, l'achat de "Milk" n'augmente pas la probabilité d'acheter "Bread" par rapport à la base de référence.

123456789101112131415161718192021222324252627282930
import pandas as pd from mlxtend.preprocessing import TransactionEncoder # Sample transaction data data = [ ['Milk', 'Bread'], ['Milk', 'Diaper', 'Beer', 'Bread'], ['Milk', 'Diaper', 'Beer', 'Cola'], ['Bread', 'Butter'] ] # Converting to DataFrame with one-hot encoding te = TransactionEncoder() te_ary = te.fit(data).transform(data) df = pd.DataFrame(te_ary, columns=te.columns_) # Calculating support support_milk = df['Milk'].mean() support_bread = df['Bread'].mean() support_milk_bread = (df['Milk'] & df['Bread']).mean() # Calculating confidence for rule: Milk => Bread confidence = support_milk_bread / support_milk # Calculating lift for rule: Milk => Bread lift = confidence / support_bread print(f"Support (Milk & Bread): {support_milk_bread:.2f}") print(f"Confidence (Milk ⇒ Bread): {confidence:.2f}") print(f"Lift (Milk ⇒ Bread): {lift:.2f}")

Ce code montre comment calculer les principales métriques des règles d'association—support, confiance et lift—à l'aide d'un petit jeu de données transactionnelles. Voici le fonctionnement de chaque partie :

  1. Préparation des données de transaction :

    • La liste data contient les transactions, chacune étant une liste d'articles achetés ;
    • Chaque sous-liste représente une transaction (panier) d'un client.
  2. Encodage one-hot des transactions :

    • Le code utilise TransactionEncoder de la bibliothèque mlxtend pour convertir la liste de listes d'articles en un format adapté à l'analyse ;
    • fit apprend tous les articles uniques, et transform crée un tableau booléen (True si l'article est présent dans la transaction, False sinon) ;
    • Ce tableau est converti en DataFrame pandas, où chaque colonne est un article et chaque ligne une transaction.
  3. Calcul du support :

    • support_milk = df['Milk'].mean() calcule la proportion de transactions contenant "Milk" ;
    • support_bread = df['Bread'].mean() calcule la proportion contenant "Bread" ;
    • support_milk_bread = (df['Milk'] & df['Bread']).mean() calcule la proportion de transactions contenant à la fois "Milk" et "Bread" (intersection des deux colonnes).
  4. Calcul de la confiance :

    • confidence = support_milk_bread / support_milk calcule la confiance pour la règle "Milk ⇒ Bread" ;
    • Cela mesure la fréquence à laquelle "Bread" est acheté lorsque "Milk" est acheté.
  5. Calcul du lift :

    • lift = confidence / support_bread calcule le lift pour la règle ;
    • Le lift compare la confiance observée à la confiance attendue si les achats de "Milk" et "Bread" étaient indépendants.
  6. Affichage et interprétation des résultats :

    • Le code affiche les valeurs de support, confiance et lift pour "Milk & Bread" ;
    • Un support de 0,50 signifie que "Milk" et "Bread" sont achetés ensemble dans la moitié des transactions ;
    • Une confiance de 0,67 signifie que lorsque "Milk" est acheté, "Bread" l'est aussi dans deux tiers des cas ;
    • Un lift de 0,89 suggère que l'achat de "Milk" rend en réalité l'achat de "Bread" légèrement moins probable que par hasard (puisque lift < 1).

1. Supposons que dans un ensemble de données de 1 000 transactions, 150 transactions contiennent à la fois « apples » et « bananas ». Quel est le support pour l'ensemble d'articles {"apples", "bananas"} ?

2. Quelle affirmation distingue le mieux la confiance du lift dans l'extraction de règles d'association ?

question-icon

Supposons que dans un ensemble de données de 1 000 transactions, 150 transactions contiennent à la fois « apples » et « bananas ». Quel est le support pour l'ensemble d'articles {"apples", "bananas"} ?

question mark

Quelle affirmation distingue le mieux la confiance du lift dans l'extraction de règles d'association ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 2
some-alt