Confiance et poussée

Analyse des paniers d'achat en Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Quand l'appui induit en erreur

TID Transaction
1 Café, Lait
2 Pain, Lait, Orange
3 Pain, Lait
4 Pain, Lait, Sucre
5 Pain, Confiture, Lait
... ...

 

  1. Lait et pain souvent achetés ensemble.
    • Appui : {Milk} $\rightarrow$ {Bread}
  2. Règle peu utile en marketing.
    • Le lait et le pain sont des articles populaires.
Analyse des paniers d'achat en Python

La mesure de confiance

  1. On peut améliorer l'appui avec d'autres mesures.
  2. Ajouter la confiance donne un portrait plus complet.

 

$$\frac{Support(X \& Y)}{Support(X)}$$

Analyse des paniers d'achat en Python

Interpréter la confiance

Cette image montre une liste de transactions d'une épicerie. L'une d'elles comprend de la confiture et du pain.

$$Support(Milk\&Coffee) = 0.20$$

Cette image montre une liste de transactions d'une épicerie. L'une d'elles comprend de la confiture et du pain.

$$Support(Milk) = 1.00$$

Analyse des paniers d'achat en Python

Interpréter la confiance

  $$\frac{Support(Milk\&Coffee)}{Support(Milk)} = \frac{0.20}{1.00} = 0.20$$

  $$\frac{Support(Milk\&Coffee)}{Support(Milk)} = \frac{0.20}{0.80} = 0.25$$

  $$\frac{Support(Milk\&Coffee)}{Support(Milk)} = \frac{0.20}{0.20} = 1.00$$

Analyse des paniers d'achat en Python

La mesure de poussée

 

  • La poussée offre une autre mesure de la relation entre articles.
    • Numérateur : part des transactions contenant X et Y.
    • Dénominateur : part attendue si X et Y étaient attribués au hasard et indépendamment.

 

$$\frac{Support(X \& Y)}{Support(X) Support(Y)}$$

Analyse des paniers d'achat en Python

Préparer les données

from mlxtend.preprocessing import TransactionEncoder
import pandas as pd

# Split library strings into lists
libraries = data['Library'].apply(lambda t: t.split(','))

# Convert to list of lists
libraries = list(libraries)

# One-hot encode books
books = TransactionEncoder().fit(libraries).transform(libraries)

# Convert one-hot encoded data to DataFrame
books = pd.DataFrame(books, columns = encoder.columns_)
Analyse des paniers d'achat en Python

Calculer confiance et poussée

# Print first five items
print(books.head())
       Hunger           Gatsby
0      False            True
1      False            True
2      False            False
3      False            True
4      False            True

Ensemble de données : GoodBooks-10K.

Analyse des paniers d'achat en Python

Calculer confiance et poussée

# Computing support.
supportHG = np.logical_and(books['Hunger'],books['Gatsby']).mean()
supportH = books['Hunger'].mean()
supportG = books['Gatsby'].mean()
# Compute and print confidence and lift.
confidence = supportHG / supportH
lift = supportHG / (supportH * supportG)
# Print results.
print(supportG, confidence, lift)
(0.30, 0.16, 0.53)
Analyse des paniers d'achat en Python

Passons à la pratique !

Analyse des paniers d'achat en Python

Preparing Video For Download...