การใช้งาน Zhang's metric
ผู้ก่อตั้ง startup ขาย e-book ได้กลับมาขอคำปรึกษาเพิ่มเติม เธอส่งรายการ itemsets ที่กำลังวิเคราะห์มาให้ และต้องการให้ตรวจสอบว่า itemset ใดบ้างที่มีรายการที่ไม่เกี่ยวข้องกัน (dissociated) เมื่อเสร็จแล้ว เธอขอให้เพิ่ม metric ที่ใช้ลงในคอลัมน์ของ DataFrame ชื่อ rules ซึ่งพร้อมใช้งานแล้ว และปัจจุบันมีคอลัมน์ antecedents และ consequents อยู่
ชุด itemsets พร้อมใช้งานในรูปแบบ list of lists ชื่อ itemsets โดยแต่ละ list มี antecedent เป็นตัวแรก และ consequent เป็นตัวที่สอง นอกจากนี้ยังเข้าถึง DataFrame ชื่อ books จากแบบฝึกหัดก่อนหน้าได้ด้วย โปรดทราบว่า Zhang's metric ได้ถูกกำหนดไว้ให้แล้วและพร้อมใช้งานในชื่อ zhang() รวมถึง pandas ในชื่อ pd และ numpy ในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Market Basket Analysis ด้วย Python
คำแนะนำการฝึกหัด
- วนลูปผ่านแต่ละ itemset ใน
itemsets - ดึงคอลัมน์ antecedent และ consequent จาก
booksสำหรับแต่ละ itemset - เติมคำสั่งให้ครบและ append ลงใน list
zhangs_metric - พิมพ์ค่า metric ของแต่ละ itemset
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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)