เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ Pruning ด้วย lift

คราวนี้คุณกลับไปรายงานผลให้ผู้จัดการร้านของขวัญอีกครั้ง โดยบอกว่าไม่พบกฎใดเลยเมื่อใช้ค่า support สูง และพบเพียงสองกฎเมื่อลดค่า support ลง ผู้จัดการชื่นชมผลงาน แต่ขอให้ลองใช้เมตริกอื่นเพื่อลดจำนวนกฎจากสองเหลือหนึ่ง

คุณนึกขึ้นได้ว่า lift มีการตีความที่เข้าใจง่าย: ค่ามากกว่า 1 หมายความว่าสินค้าเหล่านั้นมักถูกซื้อร่วมกันมากกว่าที่คาดไว้หากเลือกซื้ออย่างอิสระต่อกัน จึงตัดสินใจใช้ lift เนื่องจากสื่อความหมายได้ชัดเจน ทั้งนี้ pandas พร้อมใช้งานในชื่อ pd และข้อมูลธุรกรรมที่เข้ารหัสแบบ one-hot พร้อมใช้งานในชื่อ onehot นอกจากนี้ได้นำเข้า apriori จาก mlxtend แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Market Basket Analysis ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้าฟังก์ชัน association_rules จาก mlxtend
  • คำนวณ frequent itemsets โดยใช้ค่า support เท่ากับ 0.001 และความยาวสูงสุดของ itemset เท่ากับ 2
  • เติมโค้ดให้ครบเพื่อคัดเลือกเฉพาะกฎที่มีค่า lift อย่างน้อย 1.0
  • แสดง DataFrame ของกฎที่ได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import the association rules function
from mlxtend.____ import ____

# Compute frequent itemsets using the Apriori algorithm
frequent_itemsets = apriori(onehot, min_support = ____, 
                            max_len = ____, use_colnames = True)

# Compute all association rules for frequent_itemsets
rules = association_rules(frequent_itemsets, 
                            metric = "____", 
                         	min_threshold = ____)

# Print association rules
print(____)
แก้ไขและรันโค้ด