套用 Zhang 指標
這家電子書新創的創辦人又回來尋求顧問協助。她寄了一份她正在評估的項目集清單給你,並請你判斷其中是否有任何項目彼此呈現解關聯。如果完成後,請把你使用的指標新增為一個欄位到 rules DataFrame。這個 DataFrame 已提供給你,且目前包含 antecedents 與 consequents 兩個欄位。
這些項目集以名為 itemsets 的清單(list of lists)提供。每個內部清單都以前件在前、後件在後的順序排列。你也可以使用前面練習中的 books DataFrame。注意,Zhang 指標已替你定義為 zhang() 可直接使用。另外,pandas 已以 pd 匯入,numpy 以 np 匯入。
本練習屬於課程
Python 的 Market Basket Analysis
練習說明
- 針對
itemsets中的每個項目集進行迴圈。 - 針對每個項目集,從
books中擷取前件與後件的欄位。 - 完成運算式,並將結果附加到
zhangs_metric清單。 - 列印每個項目集的指標。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define an empty list for Zhang's metric
zhangs_metric = []
# Loop over lists in itemsets
for itemset in ____:
# Extract the antecedent and consequent columns
antecedent = books[itemset[0]]
consequent = ____[itemset[1]]
# Complete Zhang's metric and append it to the list
zhangs_metric.append(zhang(____, ____))
# Print results
rules['zhang'] = zhangs_metric
print(rules)