Pewność i lift

Analiza koszyka zakupowego w Pythonie

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Kiedy wsparcie wprowadza w błąd

TID Transakcja
1 Kawa, Mleko
2 Chleb, Mleko, Pomarańcza
3 Chleb, Mleko
4 Chleb, Mleko, Cukier
5 Chleb, Dżem, Mleko
... ...

 

  1. Mleko i chleb są często kupowane razem.
    • Wsparcie: {Mleko} $\rightarrow$ {Chleb}
  2. Reguła nie jest użyteczna marketingowo.
    • Mleko i chleb są popularnymi produktami.
Analiza koszyka zakupowego w Pythonie

Miara pewności

  1. Można ulepszyć wsparcie dzięki dodatkowym miarom.
  2. Dodanie pewności daje pełniejszy obraz.

 

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

Analiza koszyka zakupowego w Pythonie

Interpretacja miary pewności

Obraz przedstawia listę transakcji ze sklepu spożywczego. Jedna z transakcji zawiera dżem i chleb.

$$Support(Mleko\&Kawa) = 0.20$$

Obraz przedstawia listę transakcji ze sklepu spożywczego. Jedna z transakcji zawiera dżem i chleb.

$$Support(Mleko) = 1.00$$

Analiza koszyka zakupowego w Pythonie

Interpretacja miary pewności

  $$\frac{Support(Mleko\&Kawa)}{Support(Mleko)} = \frac{0.20}{1.00} = 0.20$$

  $$\frac{Support(Mleko\&Kawa)}{Support(Mleko)} = \frac{0.20}{0.80} = 0.25$$

  $$\frac{Support(Mleko\&Kawa)}{Support(Mleko)} = \frac{0.20}{0.20} = 1.00$$

Analiza koszyka zakupowego w Pythonie

Miara lift

 

  • Lift to dodatkowa miara oceny związku między elementami.
    • Licznik: Odsetek transakcji zawierających X i Y.
    • Mianownik: Odsetek przy losowym i niezależnym przypisaniu X i Y.

 

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

Analiza koszyka zakupowego w Pythonie

Przygotowanie danych

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_)
Analiza koszyka zakupowego w Pythonie

Obliczanie pewności i liftu

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

Zbiór danych: GoodBooks-10K.

Analiza koszyka zakupowego w Pythonie

Obliczanie pewności i liftu

# 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)
Analiza koszyka zakupowego w Pythonie

Lass uns üben!

Analiza koszyka zakupowego w Pythonie

Preparing Video For Download...