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

การตัดทอนด้วย 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)
แก้ไขและรันโค้ด