Python で学ぶマーケットバスケット分析
Isaiah Hull
Visiting Associate Professor of Finance, BI Norwegian Business School
$$Support(X) = \frac{Frequency(X)}{N}$$
$$Support(X \rightarrow Y) = \frac{Frequency(X \& Y)}{N}$$
$$Confidence(X \rightarrow Y) = \frac{Support(X \rightarrow Y)} {Support(X)}$$
$$Lift(X \rightarrow Y) = \frac{Support(X \rightarrow Y)}{Support(X) Support(Y)}$$
$$Leverage(X \rightarrow Y) = $$ $$Support(X \& Y) - Support(X) Support(Y)$$
# Twilight と Harry Potter の同時サポート
supportTP = np.logical_and(books['Twilight'], books['Potter']).mean()
# Twilight のサポート
supportT = books['Twilight'].mean()
# Harry Potter のサポート
supportP = books['Potter'].mean()
# レバレッジを計算して表示
leverage = supportTP - supportP * supportT
print(leverage)
0.018
$$Conviction(X \rightarrow Y) = $$ $$\frac{Support(X) Support(\bar{Y})} {Support(X \& \bar{{Y}})}$$




# Twilight と Harry Potter の同時サポートを計算 supportTP = np.logical_and(books['Twilight'], books['Potter']).mean() # Twilight のサポートを計算 supportT = books['Twilight'].mean()# Harry Potter ではないサポートを計算 supportnP = 1.0 - books['Potter'].mean()# Twilight かつ Harry Potter ではないサポートを計算 supportTnP = supportT - supportPT# コンビクションを計算 conviction = supportT*supportnP / supportTnP print(conviction)1.16
Python で学ぶマーケットバスケット分析