การตัดทอนด้วย confidence
คราวนี้ก็ยังไม่ได้ผลที่ต้องการอีกครั้ง: พบกฎที่มีประโยชน์หลายข้อ แต่ยังไม่สามารถเจาะจงเหลือเพียงข้อเดียวได้ ยิ่งกว่านั้น กฎทั้งสองข้อที่พบใช้ itemset เดียวกัน เพียงแต่สลับ antecedents และ consequents กัน จึงลองดูว่าการตัดทอนด้วยเมตริกอื่นจะช่วยให้เหลือกฎความสัมพันธ์เพียงข้อเดียวได้หรือไม่
ควรใช้เมตริกใด? ทั้ง lift และ support มีค่าเหมือนกันสำหรับทุกกฎที่สร้างจาก itemset เดียวกัน จึงตัดสินใจใช้ confidence แทน เนื่องจาก confidence มีค่าแตกต่างกันในกฎที่สร้างจาก itemset เดียวกัน โดย pandas พร้อมใช้งานในชื่อ pd และข้อมูลธุรกรรมที่เข้ารหัสแบบ one-hot พร้อมใช้งานในชื่อ onehot นอกจากนี้ apriori ได้นำเข้าจาก mlxtend แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Market Basket Analysis ด้วย Python
คำแนะนำการฝึกหัด
- นำเข้า
association_rulesจากmlxtend - กำหนดค่าในคำสั่งของอัลกอริทึม
aprioriโดยใช้ค่า support เท่ากับ 0.0015 และความยาวสูงสุดของ itemset เท่ากับ 2 - กำหนดค่าในคำสั่งของ association rules โดยใช้ confidence เป็นเมตริก และค่า threshold เท่ากับ 0.5
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the association rules function
____
# Compute frequent itemsets using the Apriori algorithm
frequent_itemsets = ____(onehot, ____,
____, use_colnames = True)
# Compute all association rules using confidence
rules = ____(frequent_itemsets,
metric = "____",
min_threshold = ____)
# Print association rules
print(rules)