Analiza koszyka zakupowego w Pythonie
Isaiah Hull
Visiting Associate Professor of Finance, BI Norwegian Business School
| TID | Transakcja |
|---|---|
| 1 | Kawa, Mleko |
| 2 | Chleb, Mleko, Pomarańcza |
| 3 | Chleb, Mleko |
| 4 | Chleb, Mleko, Cukier |
| 5 | Chleb, Dżem, Mleko |
| ... | ... |
$$\frac{Support(X \& Y)}{Support(X)}$$

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

$$Support(Mleko) = 1.00$$
$$\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$$
$$\frac{Support(X \& Y)}{Support(X) Support(Y)}$$
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_)
# Print first five items
print(books.head())
Hunger Gatsby
0 False True
1 False True
2 False False
3 False True
4 False True
# 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